重构
This commit is contained in:
parent
61c042af5a
commit
d05570b4cb
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电阶段充电机中止报文
|
||||
public class BmsChargerInterruptData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电过程 BMS 信息
|
||||
public class BmsChargingData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电错误报文
|
||||
public class BmsErrorData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电阶段 BMS 中止报文
|
||||
public class BmsInterruptData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电过程 BMS 需求、充电机输出
|
||||
public class BmsReqChargerOutputData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电结束阶段报文
|
||||
public class ChargingCompletedData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 参数配置阶段报文
|
||||
public class ChargingConfigData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.common.data.up;
|
||||
|
||||
//充电桩与 BMS 充电握手阶段报文
|
||||
public class ChargingHandshakeData extends BaseData {
|
||||
|
||||
private String orderNo; //交易流水号
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.xhpc.pp.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xhpc.common.api.PowerPileService;
|
||||
@ -23,11 +22,9 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.hutool.core.date.DatePattern.NORM_DATETIME_FORMAT;
|
||||
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
|
||||
import static com.xhpc.common.data.redis.StaticBeanUtil.seqHex;
|
||||
import static com.xhpc.pp.logic.RegisterLogic.REGISTERED;
|
||||
@ -220,7 +217,7 @@ public class ChargingController {
|
||||
if (!"空闲".equals(gunstatus)) {
|
||||
return R.fail("端口不在空闲或正常状态,稍后再试");
|
||||
}
|
||||
if (CacheDataUtils.hori(gunkey)) return R.fail("请检查终端号是否正确,稍后再试");
|
||||
if (CacheDataUtils.hori(gunkey)) return R.fail("请检查枪号是否正确,稍后再试");
|
||||
String skey = gunkey.concat(".seqhex");
|
||||
String seq = seqHex(skey);
|
||||
byte[] msg = translateStart(startChargingData, seq);
|
||||
@ -238,15 +235,11 @@ public class ChargingController {
|
||||
cacheOrder.put("physicCardNo", startChargingData.getPhysicCardNo());
|
||||
cacheOrder.put("gunId", startChargingData.getGunId());
|
||||
cacheOrder.put("tel", startChargingData.getTel());
|
||||
cacheOrder.put("startSoc", startChargingData.getSoc());
|
||||
cacheOrder.put("stopSoc", startChargingData.getSoc());
|
||||
cacheOrder.put("startSoc", 0);
|
||||
cacheOrder.put("endSoc", 0);
|
||||
cacheOrder.put("endSoc", startChargingData.getSoc());
|
||||
REDIS.setCacheMap(orderkey, cacheOrder);
|
||||
cacheGun.put("orderstarttime", DateUtil.format(Calendar.getInstance().getTime(), NORM_DATETIME_FORMAT));
|
||||
cacheGun.put("orderstoptime", null);
|
||||
cacheGun.put("orderkey", orderkey);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
return R.ok("指令已下发至充电桩");
|
||||
return R.ok("充电指令已下发");
|
||||
} catch (IOException e) {
|
||||
log.error("send message failed. " + e.getMessage(), e);
|
||||
return R.fail(e.getMessage());
|
||||
@ -263,7 +256,7 @@ public class ChargingController {
|
||||
}
|
||||
try {
|
||||
String gunkey = "gun:".concat(pileNo).concat(gunId);
|
||||
if (CacheDataUtils.hori(gunkey)) return R.fail("正在停止充电,如果失败请稍后再试一次");
|
||||
if (CacheDataUtils.hori(gunkey)) return R.fail("充电桩正在忙碌,请稍后再试");
|
||||
String skey = gunkey.concat(".seqhex");
|
||||
String seq = seqHex(skey);
|
||||
byte[] msg = translateStop(pileNo, gunId, version, seq);
|
||||
|
||||
@ -15,7 +15,7 @@ import java.util.Map;
|
||||
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
|
||||
|
||||
@Lazy
|
||||
@Component("ChargingCompletedDataLogic")
|
||||
@Component("BmsChargingCompletedDataLogic")
|
||||
public class ChargingCompletedDataLogic implements ServiceLogic {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(ChargingCompletedDataLogic.class);
|
||||
|
||||
@ -15,7 +15,7 @@ import java.util.Map;
|
||||
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
|
||||
|
||||
@Lazy
|
||||
@Component("ChargingConfigDataLogic")
|
||||
@Component("BmsChargingConfigDataLogic")
|
||||
public class ChargingConfigDataLogic implements ServiceLogic {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(ChargingConfigDataLogic.class);
|
||||
|
||||
@ -15,7 +15,7 @@ import java.util.Map;
|
||||
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
|
||||
|
||||
@Lazy
|
||||
@Component("ChargingHandshakeDataLogic")
|
||||
@Component("BmsChargingHandshakeDataLogic")
|
||||
public class ChargingHandshakeDataLogic implements ServiceLogic {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(ChargingHandshakeDataLogic.class);
|
||||
|
||||
@ -8,7 +8,6 @@ import com.xhpc.common.data.up.OrderData;
|
||||
import com.xhpc.pp.tx.ServiceParameter;
|
||||
import com.xhpc.pp.tx.ServiceResult;
|
||||
import com.xhpc.pp.tx.logic.ServiceLogic;
|
||||
import com.xhpc.pp.utils.security.CRCCalculator;
|
||||
import com.xhpc.pp.utils.security.HexUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -51,7 +50,6 @@ public class OrderDataLogic implements ServiceLogic {
|
||||
REDIS.setCacheMap(orderkey, cacheOrder);
|
||||
String gunkey = "gun:".concat(orderData.getPileNo()).concat(orderData.getGunId());
|
||||
Map<String, Object> cacheGun = REDIS.getCacheMap(gunkey);
|
||||
cacheGun.put("orderstarttime", null);
|
||||
cacheGun.put("orderstoptime", cacheOrderData.getEndTime());
|
||||
cacheGun.put("orderkey", null);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
@ -59,7 +57,6 @@ public class OrderDataLogic implements ServiceLogic {
|
||||
String seq = seqHex(skey);
|
||||
String resultStr = "6815".concat(seq).concat("0040").concat(orderNo).concat(ServiceResult.HEX_00);
|
||||
pileOrderService.pileEndOrder(orderNo);
|
||||
resultStr = resultStr.concat(CRCCalculator.calcCrc(resultStr));
|
||||
return new ServiceResult(HexUtils.toBytes(resultStr), ServiceResult.OK);
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.pp.logic;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.xhpc.common.api.PileOrderService;
|
||||
import com.xhpc.common.data.up.RemoteStartReplyData;
|
||||
@ -12,8 +13,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.hutool.core.date.DatePattern.NORM_DATETIME_FORMAT;
|
||||
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
|
||||
import static com.xhpc.pp.tx.ServiceResult.HEX_01;
|
||||
|
||||
@ -43,10 +46,12 @@ public class RemoteStartReplyDataLogic implements ServiceLogic {
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
REDIS.setCacheMap(orderkey, cacheOrder);
|
||||
if (HEX_01.equals(remoteStartReplyData.getStartResult())) {
|
||||
cacheGun.put("orderstarttime", DateUtil.format(Calendar.getInstance().getTime(), NORM_DATETIME_FORMAT));
|
||||
cacheGun.put("orderstoptime", null);
|
||||
cacheGun.put("orderkey", orderkey);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
pileOrderService.pileStartup(orderNo, 1, "启动充电成功");
|
||||
} else {
|
||||
cacheGun.put("orderkey", null);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
pileOrderService.pileStartup(orderNo, 2, frs[Integer.parseInt(remoteStartReplyData.getFailReason())]);
|
||||
}
|
||||
return new ServiceResult(false);
|
||||
|
||||
@ -13,9 +13,9 @@
|
||||
<entry key="05" value-ref="RateModelValidateLogic"/>
|
||||
<entry key="09" value-ref="RateModelRequestLogic"/>
|
||||
<entry key="13" value-ref="RealtimeDataLogic"/>
|
||||
<entry key="15" value-ref="ChargingHandshakeDataLogic"/>
|
||||
<entry key="17" value-ref="ChargingConfigDataLogic"/>
|
||||
<entry key="19" value-ref="ChargingCompletedDataLogic"/>
|
||||
<entry key="15" value-ref="BmsChargingHandshakeDataLogic"/>
|
||||
<entry key="17" value-ref="BmsChargingConfigDataLogic"/>
|
||||
<entry key="19" value-ref="BmsChargingCompletedDataLogic"/>
|
||||
<entry key="1B" value-ref="BmsErrorDataLogic"/>
|
||||
<entry key="1D" value-ref="BmsInterruptDataLogic"/>
|
||||
<entry key="21" value-ref="BmsChargerInterruptDataLogic"/>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user