This commit is contained in:
2023-03-04 16:29:55 +08:00
commit 397ba75479
1007 changed files with 109050 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
package com.jsowell.common.enums.ykc;
/**
* 操作类型枚举
*/
public enum ActionTypeEnum {
FORWARD("forward", "正向"),
REVERSE("reverse", "逆向"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
ActionTypeEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,37 @@
package com.jsowell.common.enums.ykc;
/**
* 计费模板 时间类型
* 1-尖时2-峰时3-平时4-谷时)
*/
public enum BillingTimeEnum {
SHARP("1", "尖时"),
PEAK("2", "峰时"),
FLAT("3", "平时"),
VALLEY("4", "谷时"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
BillingTimeEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,31 @@
package com.jsowell.common.enums.ykc;
public enum BusinessTypeEnum {
OPERATING_PILE("1", "运营桩"),
INDIVIDUAL_PILE("2", "个人桩"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
BusinessTypeEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,56 @@
package com.jsowell.common.enums.ykc;
/**
* 启动充电失败原因
*
* @author JS-ZZA
* @date 2022/11/16 14:32
*/
public enum ChargingFailedReasonEnum {
NULL(0x00, ""),
EQUIPMENT_PILE_SN_NOT_MATCH(0x01, "设备桩号不匹配"),
CONNECTOR_IS_CHARGING(0x02, "枪已在充电"),
EQUIPMENT_BREAKDOWN(0x03, "设备故障"),
EQUIPMENT_OFFLINE(0x04, "设备离线"),
UNPLUGGED_GUN(0x05, "未插枪"),
;
private int code;
private String msg;
ChargingFailedReasonEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
/**
* 根据code获取停止原因描述
*
* @param code 编码
* @return 停止原因描述
*/
public static String getMsgByCode(int code) {
for (ChargingFailedReasonEnum item : ChargingFailedReasonEnum.values()) {
if (item.getCode() == code) {
return item.getMsg();
}
}
return null;
}
}

View File

@@ -0,0 +1,47 @@
package com.jsowell.common.enums.ykc;
/**
* 订单支付方式enum
* 前端给的参数
*/
public enum OrderPayModeEnum {
PAYMENT_OF_BALANCE("1", "余额支付"),
PAYMENT_OF_WHITELIST("3", "白名单支付"),
PAYMENT_OF_WECHATPAY("4", "微信支付"),
PAYMENT_OF_ALIPAY("5", "支付宝支付"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public static String getPayModeDescription(String value) {
for (OrderPayModeEnum orderPayModeEnum : OrderPayModeEnum.values()) {
if (orderPayModeEnum.getValue().equals(value)) {
return orderPayModeEnum.getLabel();
}
}
return "";
}
OrderPayModeEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,48 @@
package com.jsowell.common.enums.ykc;
/**
* order_pay_record表pay_mode字段
* 支付方式1-本金余额支付2-赠送余额支付3-白名单支付4-微信支付5-支付宝支付)
* 后端数据库
*/
public enum OrderPayRecordEnum {
PRINCIPAL_BALANCE_PAYMENT("1", "本金余额支付"),
GIFT_BALANCE_PAYMENT("2", "赠送余额支付"),
WHITELIST_PAYMENT("3", "白名单支付"),
WECHATPAY_PAYMENT("4", "微信支付"),
ALIPAY_PAYMENT("5", "支付宝支付"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public static String getPayModeDescription(String value) {
for (OrderPayRecordEnum orderPayModeEnum : OrderPayRecordEnum.values()) {
if (orderPayModeEnum.getValue().equals(value)) {
return orderPayModeEnum.getLabel();
}
}
return "";
}
OrderPayRecordEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,35 @@
package com.jsowell.common.enums.ykc;
/**
* 订单支付状态
*/
public enum OrderPayStatusEnum {
unpaid("0", "待支付"),
paid("1", "支付完成"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
OrderPayStatusEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,51 @@
package com.jsowell.common.enums.ykc;
/**
* order_basic_info表 order_status字段
* 订单状态(0-未启动1-充电中2-待结算3-待补缴4-异常5-可疑6-订单完成7-超时关闭)
*/
public enum OrderStatusEnum {
NOT_START("0", "未启动"),
IN_THE_CHARGING("1", "充电中"),
STAY_SETTLEMENT("2", "待结算"),
STAY_RETROACTIVE_AMOUNT("3", "待补缴"),
ABNORMAL("4", "异常"),
SUSPICIOUS("5", "可疑"),
ORDER_COMPLETE("6", "订单完成"),
ORDER_CLOSE_TIMEOUT("7", "超时关闭"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
OrderStatusEnum(String value, String label) {
this.value = value;
this.label = label;
}
public static String getOrderStatus(String value) {
for (OrderStatusEnum orderStatusEnum : OrderStatusEnum.values()) {
if (orderStatusEnum.getValue().equals(value)) {
return orderStatusEnum.getLabel();
}
}
return "";
}
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.common.enums.ykc;
public enum PayModeEnum {
PAYMENT_OF_BALANCE("balance", "余额支付"),
PAYMENT_OF_WHITELIST("whitelist", "白名单支付"),
PAYMENT_OF_WECHATPAY("wechatpay", "微信支付"),
PAYMENT_OF_ALIPAY("alipay", "支付宝支付"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
PayModeEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,55 @@
package com.jsowell.common.enums.ykc;
import io.netty.channel.Channel;
import java.util.HashMap;
/**
* 桩编号和channel的关联关系处理 entity
*/
public class PileChannelEntity {
private static HashMap<String, Channel> manager = new HashMap<>();
public static void put(String pileSn, Channel channel) {
manager.put(pileSn, channel);
}
/**
* 通过桩编号获取channel链接信息
* @param pileSn
* @return
*/
public static Channel getChannelByPileSn(String pileSn) {
return manager.get(pileSn);
}
/**
* 通过channelId获取桩编号
* @param channelId
* @return
*/
public static String getPileSnByChannelId(String channelId) {
for (HashMap.Entry<String, Channel> entry : manager.entrySet()) {
if (entry.getValue().id().asLongText().equals(channelId)) {
return entry.getKey();
}
}
return null;
}
/**
* 打印
*/
public static void output() {
for (HashMap.Entry<String, Channel> entry : manager.entrySet()) {
System.out.println("pileSn:" + entry.getKey() +
",ChannelId:" + entry.getValue().id().asLongText());
}
}
public static void removeByPileSn(String pileSn){
manager.remove(pileSn);
}
}

View File

@@ -0,0 +1,48 @@
package com.jsowell.common.enums.ykc;
/**
* 充电枪口数据库状态
*/
public enum PileConnectorDataBaseStatusEnum {
OFF_NETWORK("0", "离线"),
FREE("1", "空闲"),
OCCUPIED_NOT_CHARGED("2", "占用(未充电)"),
OCCUPIED_CHARGING("3", "占用(充电中)"),
OCCUPIED_APPOINTMENT_LOCK("4", "占用(预约锁定)"),
FAULT("255", "故障")
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
PileConnectorDataBaseStatusEnum(String value, String label) {
this.value = value;
this.label = label;
}
public static String getStatusDescription(String value) {
for (PileConnectorDataBaseStatusEnum statusEnum : PileConnectorDataBaseStatusEnum.values()) {
if (statusEnum.getValue().equals(value)) {
return statusEnum.getLabel();
}
}
return "";
}
}

View File

@@ -0,0 +1,36 @@
package com.jsowell.common.enums.ykc;
/**
* 充电接口状态
* 桩传过来的枪口状态: 0x00离线 0x01故障 0x02空闲 0x03充电
*/
public enum PileConnectorStatusEnum {
OFF_NETWORK("00", "离线"),
FAULT("01", "故障"),
FREE("02", "空闲"),
OCCUPIED_CHARGING("03", "充电"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
PileConnectorStatusEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,45 @@
package com.jsowell.common.enums.ykc;
/**
* 充电桩状态enum
*/
public enum PileStatusEnum {
UNKNOWN("0", "未知"),
ON_LINE("1", "在线"),
OFF_LINE("2","离线"),
FAULT("3", "故障"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
PileStatusEnum(String value, String label) {
this.value = value;
this.label = label;
}
public static String getStatusDescription(String status) {
for (PileStatusEnum pileStatusEnum : PileStatusEnum.values()) {
if (pileStatusEnum.getValue().equals(status)) {
return pileStatusEnum.getLabel();
}
}
return "";
}
}

View File

@@ -0,0 +1,138 @@
package com.jsowell.common.enums.ykc;
public enum ReturnCodeEnum {
/**
* 成功
*/
CODE_SUCCESS("00100000", "操作成功"),
CODE_TOKEN_ERROR("00100002", "身份验证失败,请重新登录"),
CODE_PARAM_NOT_NULL_ERROR("00100003", "参数不能为空"),
CODE_VERIFICATION_CODE_ERROR("00100004", "验证码错误"),
CODE_VERIFICATION_CODE_TIMEOUT_ERROR("00100005", "验证码超时"),
CODE_SEND_SMS_ERROR("00100006", "发送短信验证码错误"),
CODE_MEMBER_REGISTER_AND_LOGIN_ERROR("00100007", "会员登录注册接口异常"),
CODE_WECHAT_LOGIN_ERROR("00100008", "微信登录异常"),
CODE_GET_MEMBER_PHONE_NUMBER_ERROR("00100009", "获取用户手机号异常"),
CODE_HANDLE_USER_INFO_ERROR("00100010", "处理用户信息异常"),
CODE_GET_PILE_STATION_INFO_ERROR("00100011", "查询充电站信息列表异常"),
CODE_GET_CONNECTOR_INFO_BY_STATION_ID_ERROR("00100012", "通过站点id查询充电枪口列表异常"),
CODE_PILE_CONNECTOR_STATUS_ERROR("00100013", "该枪口状态不正确"),
CODE_GENERATE_ORDER_ERROR("00100014", "生成订单失败"),
CODE_CONNECTOR_INFO_NULL_ERROR("00100015", "充电枪口为空"),
CODE_BILLING_TEMPLATE_NULL_ERROR("00100016", "查询充电桩的计费模板为空"),
CODE_DATA_LENGTH_ERROR("00100017", "数据长度不正确"),
CODE_SETTLE_ORDER_ERROR("00100018", "订单结算异常"),
CODE_ORDER_INFO_ERROR("00100019", "订单信息有误"),
CODE_QUERY_ORDER_NULL_ERROR("00100020", "查询订单为空"),
CODE_ORDER_PILE_MAPPING_ERROR("00100021", "订单与当前桩不匹配"),
CODE_GET_MEMBER_ACCOUNT_AMOUNT_ERROR("00100022", "查询用户账户总余额异常"),
CODE_BALANCE_IS_INSUFFICIENT("00100023", "账户余额不足"),
CODE_GET_MOBILE_NUMBER_BY_CODE_ERROR("00100024", "获取微信登录手机号失败"),
CODE_GET_MERCHANT_ID_BY_APP_ID_ERROR("00100024", "获取商户id失败"),
CODE_GET_ORDER_INFO_BY_MEMBER_ID_ERROR("00100025", "通过会员Id查询某状态订单失败"),
CODE_GET_OPEN_ID_BY_CODE_ERROR("00100026", "获取openid失败"),
CODE_GET_WECHAT_PAY_PARAMETER_ERROR("00100027", "获取微信支付参数失败"),
CODE_GET_BALANCE_CHANGES_ERROR("00100028", "查询用户账户余额变动信息异常"),
CODE_ORDER_PAY_ERROR("00100029", "订单支付失败"),
CODE_ORDER_PAY_CALLBACK_ERROR("00100030", "支付回调失败"),
CODE_ORDER_IS_NOT_TO_BE_PAID_ERROR("00100031", "订单不是待支付状态"),
CODE_ORDER_MEMBER_NOT_MATCH_ERROR("00100032", "订单与会员信息不匹配"),
CODE_STOP_CHARGING_ERROR("00100033", "停止充电失败"),
CODE_ORDER_IS_NOT_STAY_SETTLEMENT_ERROR("00100034", "订单不是待结算状态"),
CODE_GET_PILE_DETAIL_ERROR("00100035", "查询充电桩详情失败"),
CODE_WEIXIN_REFUND_ERROR("00100036", "微信退款接口失败"),
CODE_REFUND_ORDER_AMOUNT_ERROR("00100037", "订单退款金额不能大于可退金额"),
CODE_REFUND_ORDER_CALLBACK_RECORD_ERROR("00100038", "订单退款处理逻辑, 查询订单微信支付记录为空!"),
CODE_SELECT_MEMBER_NULL_ERROR("00100039", "没有查询到会员信息"),
CODE_REFUND_MEMBER_BALANCE_ERROR("00100040", "退款金额不能大于本金金额"),
CODE_GET_ORDER_DETAIL_ERROR("00100041", "小程序获取订单详情失败"),
CODE_SELECT_PILE_STARTER_STATUS("00100042", "根据订单号查询充电桩启动状态失败"),
CODE_PILE_HAS_BEEN_BINDING_ERROR("00400001", "此桩已被绑定,请联系管理员!"),
CODE_AUTHENTICATION_ERROR("00400002", "您的身份信息验证有误,请重试!"),
CODE_USER_IS_NOT_REGISTER("00400003", "此用户未注册平台账号,请核实身份!"),
CODE_USER_HAS_BEEN_THIS_PILE("00400004", "此用户已绑定该桩,请检查!"),
CODE_NO_CHARGING_ORDER_ERROR("00400005", "当前无正在充电的订单"),
CODE_NO_REAL_TIME_INFO("00400006", "未查到充电枪口实时信息"),
CODE_BINDING_PERSONAL_PILE_ERROR("00400007", "获取个人桩枪口实时数据异常"),
CODE_ADMIN_ISSUE_ERROR("00400008", "桩管理员下发个人桩异常"),
CODE_GET_PERSONAL_PILE_BY_MEMBER_ID_ERROR("00400009", "通过memberId查个人桩列表异常"),
CODE_GET_PERSONAL_PILE_CONNECTOR_INFO_ERROR("00400010", "获取个人桩枪口实时数据异常"),
;
private String value;
private String label;
private ReturnCodeEnum(String value, String label) {
this.value = value;
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
}

View File

@@ -0,0 +1,35 @@
package com.jsowell.common.enums.ykc;
/**
* 支付场景枚举
*/
public enum ScenarioEnum {
ORDER("order", "支付订单"),
BALANCE("balance", "支付余额"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
ScenarioEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

View File

@@ -0,0 +1,55 @@
package com.jsowell.common.enums.ykc;
/**
* 远程停止充电失败原因enum
*
* @author JS-ZZA
* @date 2022/11/16 8:31
*/
public enum StopChargingFailedReasonEnum {
NULL("00", ""),
EQUIPMENT_CODE_NOT_MATCH("01", "设备编号不匹配"),
CONNECTOR_NOT_IN_CHARGING("02", "枪未处于充电状态"),
OTHER("03","其他"),
;
private String code;
private String msg;
StopChargingFailedReasonEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
/**
* 根据code获取msg
* @param code
* @return
*/
public static String getMsgByCode(String code) {
for (StopChargingFailedReasonEnum item : StopChargingFailedReasonEnum.values()) {
if (item.getCode().equals(code)) {
return item.getMsg();
}
}
return null;
}
}

View File

@@ -0,0 +1,167 @@
package com.jsowell.common.enums.ykc;
import com.jsowell.common.util.BytesUtil;
/**
* 云快充充电停止原因enum
*
* @author JS-ZZA
* @date 2022/11/4 16:46
*/
public enum YKCChargingStopReasonEnum {
/**
* 充电完成
*/
APP_REMOTE_STOP(0x40, "结束充电APP远程停止"),
SOC_FULL(0x41, "结束充电SOC 达到 100%"),
CHARGING_ELECTRICITY_ELIGIBLE(0x42, "结束充电,充电电量满足设定条件"),
CHARGING_AMOUNT_ELIGIBLE(0x43, "结束充电,充电金额满足设定条件"),
CHARGING_TIME_ELIGIBLE(0x44, "结束充电,充电时间满足设定条件"),
MANUALLY_STOP_CHARGING(0x45, "结束充电,手动停止充电"),
OTHER_FORTY_SIX(0x46, "其他方式(预留)"),
OTHER_FORTY_SEVEN(0x47, "其他方式(预留)"),
OTHER_FORTY_EIGHT(0x48, "其他方式(预留)"),
OTHER_FORTY_NINE(0x49, "其他方式(预留)"),
/**
* 充电启动失败
*/
PILE_CONTROL_SYSTEM_FAULT(0x4A, "充电启动失败,充电桩控制系统故障(需要重启或自动恢复)"),
CONTROL_GUIDANCE_BREAK(0x4B, "充电启动失败,控制导引断开"),
CIRCUIT_BREAKER_TRIP(0x4C, "充电启动失败,断路器跳位"),
AMMETER_COMMUNICATION_BREAK(0x4D, "充电启动失败,电表通信中断"),
LACK_OF_BALANCE(0x4E, "充电启动失败,余额不足"),
CHARGING_MODEL_FAULT(0x4F, "充电启动失败,充电模块故障"),
EMERGENCY_STOP_FAULT(0x50, "充电启动失败,急停开入"),
SPD_ABNORMAL(0x51, "充电启动失败,防雷器异常"),
BMS_UNREADY(0x52, "充电启动失败, BMS 未就绪"),
TEMPERATURE_ABNORMAL(0x53, "充电启动失败,温度异常"),
BATTERY_REVERSE_CONNECT_FAULT(0x54, "充电启动失败,电池反接故障"),
ELECTRICITY_LOCK_FAULT(0x55, "充电启动失败,电子锁异常"),
FAIL_CLOSE_ACT(0x56, "充电启动失败,合闸失败"),
INSULATION_FAULT(0x57, "充电启动失败,绝缘异常"),
RESERVED_FIFTY_EIGHT(0x58, "预留"),
RECEIVED_BMS_HANDSHAKE_REPORT_TIMEOUT(0x59, "充电启动失败,接收 BMS 握手报文 BHM 超时"),
RECEIVED_BMS_AND_CAR_IDENTIFY_REPORT_TIMEOUT(0x5A, "充电启动失败,接收 BMS 和车辆的辨识报文超时 BRM"),
RECEIVED_BATTERY_CHARGING_DATA_TIMEOUT(0x5B, "充电启动失败,接收电池充电参数报文超时 BCP"),
RECEIVED_CHARGING_COMPLETE_REPORT_TIMEOUT(0x5C, "充电启动失败,接收 BMS 完成充电准备报文超时 BRO AA"),
RECEIVED_CHARGING_STATUS_REPORT_TIMEOUT(0x5D, "充电启动失败,接收电池充电总状态报文超时 BCS"),
RECEIVED_CHARGING_REQUEST_REPORT_TIMEOUT(0x5E, "充电启动失败,接收电池充电要求报文超时 BCL"),
RECEIVED_BATTERY_STATUS_TIMEOUT(0x5F, "充电启动失败,接收电池状态信息报文超时 BSM"),
GB_2015_PROHIBIT_CHARGING_AT_BHM(0x60, "充电启动失败, GB2015 电池在 BHM 阶段有电压不允许充电"),
GB_2015_BATTERY_VOLTAGE_GAP(0x61, "充电启动失败, GB2015 辨识阶段在 BRO_AA 时候电池实际电压 与 BCP 报文电池电压差距大于 5%"),
B_2015_CHARGER_BRO_AA_TO_BRO_OO(0x62, "充电启动失败, B2015 充电机在预充电阶段从 BRO_AA 变成 BRO_00 状态"),
RECEIVED_HOST_CONFIG_REPORT_TIMEOUT(0x63, "充电启动失败,接收主机配置报文超时"),
CHARGER_UNREADY(0x64, "充电启动失败,充电机未准备就绪,我们没有回 CRO AA对应 老国标"),
OTHER_SIXTY_FIVE(0x65, "(其他原因)预留"),
OTHER_SIXTY_SIX(0x66, "(其他原因)预留"),
OTHER_SIXTY_SEVEN(0x67, "(其他原因)预留"),
OTHER_SIXTY_EIGHT(0x68, "(其他原因)预留"),
OTHER_SIXTY_NINE(0x69, "(其他原因)预留"),
/**
* 充电异常中止
*/
SYSTEM_CLOSE_LOCK(0x6A, "充电异常中止,系统闭锁"),
GUIDANCE_BREAK(0x6B, "充电异常中止,导引断开"),
BREAKER_TRIP(0x6C, "充电异常中止,断路器跳位"),
AMMETER_COMMUNICATION_INTERRUPT(0x6D, "充电异常中止,电表通信中断"),
NOT_SUFFICIENT_FUNDS(0x6E, "充电异常中止,余额不足"),
AC_PROTECT_ACTION(0x6F, "充电异常中止,交流保护动作"),
DC_PROTECT_ACTION(0x70, "充电异常中止,直流保护动作"),
CHARGE_MODEL_UNUSUAL(0x71, "充电异常中止,充电模块故障"),
FETCH_UP_UNUSUAL(0x72, "充电异常中止,急停开入"),
SPD_UNUSUAL(0x73, "充电异常中止,防雷器异常"),
TEMPERATURE_UNUSUAL(0x74, "充电异常中止,温度异常"),
OUTPUT_UNUSUAL(0x75, "充电异常中止,输出异常"),
CHARGING_NO_CURRENT(0x76, "充电异常中止,充电无流"),
ELECTRICITY_LOCK_UNUSUAL(0x77, "充电异常中止,电子锁异常"),
OTHER_SEVENTY_EIGHT(0x78, "预留"),
TOTAL_CHARGING_VOLTAGE_UNUSUAL(0x79, "充电异常中止,总充电电压异常"),
TOTAL_CHARGING_CURRENT_UNUSUAL(0x7A, "充电异常中止,总充电电流异常"),
SINGLE_CHARGING_VOLTAGE_UNUSUAL(0x7B, "充电异常中止,单体充电电压异常"),
BATTERY_TEMPERATURE_TOO_HIGH(0x7C, "充电异常中止,电池组过温"),
HIGHEST_SINGLE_CHARGING_VOLTAGE_UNUSUAL(0x7D, "充电异常中止,最高单体充电电压异常"),
HIGHEST_BATTERY_TEMPERATURE_TOO_HIGH(0x7E, "充电异常中止,最高电池组过温"),
BMV_SINGLE_CHARGING_VOLTAGE_UNUSUAL(0x7F, "充电异常中止, BMV 单体充电电压异常"),
BMT_BATTERY_TEMPERATURE_TOO_HIGH(0x80, "充电异常中止, BMT 电池组过温"),
BATTERY_STATUS_UNUSUAL_STOP_CHARGING(0x81, "充电异常中止,电池状态异常停止充电"),
CAR_SEND_REPORT_FORBID_CHARGING(0x82, "充电异常中止,车辆发报文禁止充电"),
CHARGING_PILE_OUTAGE(0x83, "充电异常中止,充电桩断电"),
RECEIVED_BATTERY_CHARGING_STATUS_TIMEOUT(0x84, "充电异常中止,接收电池充电总状态报文超时"),
RECEIVED_BATTERY_CHARGING_REQUEST_TIMEOUT(0x85, "充电异常中止,接收电池充电要求报文超时"),
RECEIVED_BATTERY_STATUS_DATA_TIMEOUT(0x86, "充电异常中止,接收电池状态信息报文超时"),
RECEIVED_BMS_STOP_CHARGING_TIMEOUT(0x87, "充电异常中止,接收 BMS 中止充电报文超时"),
RECEIVED_BMS_CHARGING_STATISTICAL_TIMEOUT(0x88, "充电异常中止,接收 BMS 充电统计报文超时"),
RECEIVED_CCS_TIMEOUT(0x89, "充电异常中止,接收对侧 CCS 报文超时"),
OTHER_EIGHTY_A(0x8A, "(其他原因)预留"),
OTHER_EIGHTY_B(0x8B, "(其他原因)预留"),
OTHER_EIGHTY_C(0x8C, "(其他原因)预留"),
OTHER_EIGHTY_D(0x8D, "(其他原因)预留"),
OTHER_EIGHTY_E(0x8E, "(其他原因)预留"),
OTHER_EIGHTY_F(0x8F, "(其他原因)预留"),
/**
* 未知原因停止
*/
UNKNOWN_REASON_STOP_CHARGING(0x90, "未知原因停止"),
;
private int code;
private String msg;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
YKCChargingStopReasonEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
/**
* 根据code获取停止原因描述
*
* @param code 编码
* @return 停止原因描述
*/
public static String getMsgByCode(int code) {
for (YKCChargingStopReasonEnum item : YKCChargingStopReasonEnum.values()) {
if (item.getCode() == code) {
return item.getMsg();
}
}
return null;
}
public static void main(String[] args) {
String stopReason = "6B";
byte[] stopReasonByteArr = new byte[]{0x6B};
String s = BytesUtil.bin2HexStr(stopReasonByteArr);
int i = Integer.parseInt(stopReason, 16);
String stopReasonMsg = YKCChargingStopReasonEnum.getMsgByCode(i);
System.out.println(stopReasonMsg);
}
}

View File

@@ -0,0 +1,64 @@
package com.jsowell.common.enums.ykc;
/**
* 充电桩故障原因enum
*
* @author JS-ZZA
* @date 2022/10/17 9:03
*/
public enum YKCPileFaultReasonEnum {
STOP_BUTTON_FAULT(1, "急停按钮动作故障"),
NO_CAN_USE_RECTIFICATION_MODEL_FAULT(2, "无可用整流模块"),
OUTLET_TEMPERATURE_TOO_HIGH_FAULT(3, "出风口温度过高"),
ALTERNATING_LIGHTING_PROTECTION_FAULT(4, "交流防雷故障"),
DC20_COMMUNICATION_INTERRUPT_FAULT(5, "交直流模块 DC20 通信中断"),
FC08_COMMUNICATION_INTERRUPT_FAULT(6, "交直流模块 FC08 通信中断"),
WATT_HOUR_METER_COMMUNICATION_INTERRUPT_FAULT(7, "电度表通信中断"),
CARD_READER_COMMUNICATION_INTERRUPT_FAULT(8, "读卡器通信中断"),
RC10_COMMUNICATION_INTERRUPT_FAULT(9, "RC10 通信中断"),
FAN_SPEED_CONTROL_FAULT(10, "风扇调速板故障"),
DC_FUSE_FAULT(11, "直流熔断器故障"),
HIGH_PRESSURE_CONTACTOR_FAULT(12, "高压接触器故障"),
DOOR_OPEN_FAULT(13, "门打开"),
;
/**
* 根据code获取故障描述
*
* @param code 故障编码
* @return 故障描述
*/
public static String getValueByCode(int code) {
for (YKCPileFaultReasonEnum item : YKCPileFaultReasonEnum.values()) {
if (item.getCode() == code) {
return item.getValue();
}
}
return null;
}
private int code;
private String value;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
YKCPileFaultReasonEnum(int code, String value) {
this.code = code;
this.value = value;
}
}