|
@@ -467,7 +467,7 @@ public class DeviceMsgHandle {
|
|
|
}
|
|
}
|
|
|
////计算电量费用后上报,手动停止和余额不足的情况
|
|
////计算电量费用后上报,手动停止和余额不足的情况
|
|
|
// DeviceStatus deviceStatus = redisCache.getCacheMapValue(RedisConstant.ONLINE_DEVICE_ONE, statusServiceOne.getPileCode());
|
|
// DeviceStatus deviceStatus = redisCache.getCacheMapValue(RedisConstant.ONLINE_DEVICE_ONE, statusServiceOne.getPileCode());
|
|
|
- Map<String, BigDecimal> map = transMoney.compute(port, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), true);
|
|
|
|
|
|
|
+ Map<String, BigDecimal> map = transMoney.compute(port, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime());
|
|
|
logger.info(statusServiceOne.getPileCode() + ":停止充电上送交易记录" + DataConversion.bytesToHexString(statusServiceOne.getTransOrder()));
|
|
logger.info(statusServiceOne.getPileCode() + ":停止充电上送交易记录" + DataConversion.bytesToHexString(statusServiceOne.getTransOrder()));
|
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 1, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, statusServiceOne.getReasonStopCharging());
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 1, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, statusServiceOne.getReasonStopCharging());
|
|
|
statusServiceOne.setOriginalText(encrypt);
|
|
statusServiceOne.setOriginalText(encrypt);
|
|
@@ -489,7 +489,7 @@ public class DeviceMsgHandle {
|
|
|
byte[] encrypt = new byte[0];
|
|
byte[] encrypt = new byte[0];
|
|
|
statusServiceOne.setReasonStopCharging(TransConstant.INSUFFICIENT_BALANCE_EXCEPTION_STOP);
|
|
statusServiceOne.setReasonStopCharging(TransConstant.INSUFFICIENT_BALANCE_EXCEPTION_STOP);
|
|
|
//计算电量
|
|
//计算电量
|
|
|
- Map<String, BigDecimal> map = transMoney.compute(port, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), true);
|
|
|
|
|
|
|
+ Map<String, BigDecimal> map = transMoney.compute(port, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime());
|
|
|
logger.info(statusServiceOne.getPileCode() + ":余额用完充电上送交易记录" + DataConversion.bytesToHexString(statusServiceOne.getTransOrder()));
|
|
logger.info(statusServiceOne.getPileCode() + ":余额用完充电上送交易记录" + DataConversion.bytesToHexString(statusServiceOne.getTransOrder()));
|
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 2, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, statusServiceOne.getReasonStopCharging());
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 2, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, statusServiceOne.getReasonStopCharging());
|
|
|
statusServiceOne.setOriginalText(encrypt);
|
|
statusServiceOne.setOriginalText(encrypt);
|
|
@@ -545,13 +545,13 @@ public class DeviceMsgHandle {
|
|
|
if (port == 1) {
|
|
if (port == 1) {
|
|
|
//急停停充:急停状态下:1.向设备发起结束充电,结算交易订单(交给结束充电处理;但是要考虑是急停的原因),2.上报的充电结束的订单式
|
|
//急停停充:急停状态下:1.向设备发起结束充电,结算交易订单(交给结束充电处理;但是要考虑是急停的原因),2.上报的充电结束的订单式
|
|
|
|
|
|
|
|
- Map<String, BigDecimal> map = transMoney.compute(1, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), true);
|
|
|
|
|
|
|
+ Map<String, BigDecimal> map = transMoney.compute(1, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime());
|
|
|
|
|
|
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 1, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, TransConstant.EMERGENCY_STOP_EXCEPTION_STOP);
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 1, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, TransConstant.EMERGENCY_STOP_EXCEPTION_STOP);
|
|
|
} else if (port == 2) {
|
|
} else if (port == 2) {
|
|
|
//TODO:这里还是模拟数据上报
|
|
//TODO:这里还是模拟数据上报
|
|
|
|
|
|
|
|
- Map<String, BigDecimal> map = transMoney.compute(2, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), true);
|
|
|
|
|
|
|
+ Map<String, BigDecimal> map = transMoney.compute(2, model, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime());
|
|
|
//模拟3.5千瓦
|
|
//模拟3.5千瓦
|
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 2, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, TransConstant.EMERGENCY_STOP_EXCEPTION_STOP);
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnection, statusServiceOne.getTransOrder(), statusServiceOne.getPileCode(), (byte) 2, statusServiceOne.getCreateTime(), statusServiceOne.getEndTime(), model, statusServiceOne.getCard(), map, TransConstant.EMERGENCY_STOP_EXCEPTION_STOP);
|
|
|
}
|
|
}
|
|
@@ -592,7 +592,7 @@ public class DeviceMsgHandle {
|
|
|
if (portStatus.equals(PortStatusConstant.FREE)) {
|
|
if (portStatus.equals(PortStatusConstant.FREE)) {
|
|
|
if (type == NormalChargeConstant.PORT_STATUS) {
|
|
if (type == NormalChargeConstant.PORT_STATUS) {
|
|
|
//这里116状态是1可能是直接拔枪时的操作,直接拔枪时结束充电消息会直接上送,这里只记录停止原因不做交易订单上送
|
|
//这里116状态是1可能是直接拔枪时的操作,直接拔枪时结束充电消息会直接上送,这里只记录停止原因不做交易订单上送
|
|
|
- deviceOnline(imei, port, (byte) PortStatusConstant.FREE, StatusConstant.INSERT_GUNS_NO, type);
|
|
|
|
|
|
|
+ handleStatus7(imei, port, (byte) PortStatusConstant.FREE, StatusConstant.INSERT_GUNS_NO, type);
|
|
|
}
|
|
}
|
|
|
//处理特殊情况之后还要看枪状态变位上送
|
|
//处理特殊情况之后还要看枪状态变位上送
|
|
|
deviceOnline(imei, port, StatusConstant.FREE, StatusConstant.INSERT_GUNS_NO);
|
|
deviceOnline(imei, port, StatusConstant.FREE, StatusConstant.INSERT_GUNS_NO);
|
|
@@ -607,7 +607,7 @@ public class DeviceMsgHandle {
|
|
|
//充电完成状态是7,先处理一波
|
|
//充电完成状态是7,先处理一波
|
|
|
logger.info("charnging Portstatus>>" + portStatus + ";type:" + type);
|
|
logger.info("charnging Portstatus>>" + portStatus + ";type:" + type);
|
|
|
|
|
|
|
|
- if (deviceOnline(imei, port, (byte) PortStatusConstant.CHARGING_END, StatusConstant.INSERT_GUNS_YES, type)){
|
|
|
|
|
|
|
+ if (handleStatus7(imei, port, (byte) PortStatusConstant.CHARGING_END, StatusConstant.INSERT_GUNS_YES, type)){
|
|
|
//状态是7时,处理过订单返回才是true
|
|
//状态是7时,处理过订单返回才是true
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -631,7 +631,7 @@ public class DeviceMsgHandle {
|
|
|
* @param insertGunStatus
|
|
* @param insertGunStatus
|
|
|
* @param type 指令类型
|
|
* @param type 指令类型
|
|
|
*/
|
|
*/
|
|
|
- private boolean deviceOnline(String imei, int port, byte gunsStatus, byte insertGunStatus, int type) throws Exception{
|
|
|
|
|
|
|
+ private boolean handleStatus7(String imei, int port, byte gunsStatus, byte insertGunStatus, int type) throws Exception{
|
|
|
logger.info("处理7状态>>>>>>");
|
|
logger.info("处理7状态>>>>>>");
|
|
|
QueryWrapper<BillingModel> billingModelQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<BillingModel> billingModelQueryWrapper = new QueryWrapper<>();
|
|
|
billingModelQueryWrapper.eq("device_imei", imei);
|
|
billingModelQueryWrapper.eq("device_imei", imei);
|
|
@@ -928,12 +928,12 @@ public class DeviceMsgHandle {
|
|
|
Long endTime=System.currentTimeMillis();
|
|
Long endTime=System.currentTimeMillis();
|
|
|
if (port == 1) {
|
|
if (port == 1) {
|
|
|
logger.info("订单状态orderStatus>>"+one.toString());
|
|
logger.info("订单状态orderStatus>>"+one.toString());
|
|
|
- Map<String, BigDecimal> map = transMoney.compute(1, model, one.getCreateTime(), endTime + 3 * 60 * 1000, true);
|
|
|
|
|
|
|
+ Map<String, BigDecimal> map = transMoney.compute(1, model, one.getCreateTime(), endTime + 3 * 60 * 1000);
|
|
|
//logger.info("断网中停充>>>上报交易记录>>>");
|
|
//logger.info("断网中停充>>>上报交易记录>>>");
|
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnectionMsg, one.getTransOrder(), statusServiceOne.getPileCode(), (byte) 1, one.getCreateTime(), statusServiceOneTemp.getUpdateTime() + 3 * 60 * 1000, model, one.getCard(), map, one.getReasonStopCharging());
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnectionMsg, one.getTransOrder(), statusServiceOne.getPileCode(), (byte) 1, one.getCreateTime(), statusServiceOneTemp.getUpdateTime() + 3 * 60 * 1000, model, one.getCard(), map, one.getReasonStopCharging());
|
|
|
} else if (port == 2) {
|
|
} else if (port == 2) {
|
|
|
|
|
|
|
|
- Map<String, BigDecimal> map = transMoney.compute(2, model, one.getCreateTime(), endTime + 3 * 60 * 1000, true);
|
|
|
|
|
|
|
+ Map<String, BigDecimal> map = transMoney.compute(2, model, one.getCreateTime(), endTime + 3 * 60 * 1000);
|
|
|
BigDecimal elec = map.get("elec");
|
|
BigDecimal elec = map.get("elec");
|
|
|
BigDecimal money = map.get("money");
|
|
BigDecimal money = map.get("money");
|
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnectionMsg, one.getTransOrder(), statusServiceOne.getPileCode(), (byte) 2, one.getCreateTime(), statusServiceOneTemp.getUpdateTime() + 3 * 60 * 1000, model, one.getCard(), map, statusServiceOneTemp.getFlage() == 2 ? TransConstant.CHARGING_STATION_POWER_OUTAGE : TransConstant.EMERGENCY_STOP_EXCEPTION_STOP);
|
|
encrypt = transactionFlowPushFrame.sendTrans(deviceConnectionMsg, one.getTransOrder(), statusServiceOne.getPileCode(), (byte) 2, one.getCreateTime(), statusServiceOneTemp.getUpdateTime() + 3 * 60 * 1000, model, one.getCard(), map, statusServiceOneTemp.getFlage() == 2 ? TransConstant.CHARGING_STATION_POWER_OUTAGE : TransConstant.EMERGENCY_STOP_EXCEPTION_STOP);
|