|
|
@@ -14,6 +14,7 @@ import com.tmzn.devicelinkykc.service.BillingModelService;
|
|
|
import com.tmzn.devicelinkykc.service.OrderStatusService;
|
|
|
import com.tmzn.devicelinkykc.service.TransOrderService;
|
|
|
import com.tmzn.devicelinkykc.socket.DeviceConnectionMsg;
|
|
|
+import com.tmzn.devicelinkykc.socket.SocketHandle;
|
|
|
import com.tmzn.devicelinkykc.util.CP56Time2a;
|
|
|
import com.tmzn.devicelinkykc.util.Encrytion;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -53,6 +54,8 @@ public class TransactionFlowPushFrame {
|
|
|
@Autowired
|
|
|
private TransOrderService transOrderService;
|
|
|
|
|
|
+// @Autowired
|
|
|
+// private SocketHandle socketHandle;
|
|
|
|
|
|
public byte[] makeTransParams(DeviceConnectionMsg deviceConnectionMsg,byte[] transOrder, String pileCode, byte gunPort, long createTime, long endTime, BillingModel billingModel, byte[] card, Map<String, BigDecimal> map,int reason){
|
|
|
|
|
|
@@ -103,6 +106,13 @@ public class TransactionFlowPushFrame {
|
|
|
//只有发送了才将校验订单写到redis里
|
|
|
} catch (IOException e) {
|
|
|
log.info("pileCode:" + pileCode + " ,订单上报异常 push frame Exception"+e.getMessage());
|
|
|
+// socketHandle.removeDeviceConnection(deviceConnectionMsg.getDeviceId());
|
|
|
+ try{
|
|
|
+ deviceConnectionMsg.resetLogin();
|
|
|
+ log.info("pileCode:" + pileCode + "重新登录");
|
|
|
+ }catch (Exception e1){
|
|
|
+ log.info("pileCode:" + pileCode + " ,重新登录异常"+e.getMessage());
|
|
|
+ }
|
|
|
e.printStackTrace();
|
|
|
return null;
|
|
|
}
|
|
|
@@ -136,6 +146,7 @@ public class TransactionFlowPushFrame {
|
|
|
return encrypt;
|
|
|
//只有发送了才将校验订单写到redis里
|
|
|
} catch (IOException e) {
|
|
|
+
|
|
|
log.info("pileCode:" + pileCode + " ,订单上报异常 push frame Exception"+e.getMessage());
|
|
|
e.printStackTrace();
|
|
|
return null;
|
|
|
@@ -146,33 +157,36 @@ public class TransactionFlowPushFrame {
|
|
|
//订单创建时间0和预留原因不存库
|
|
|
if (createTime > 0||reason!=TransConstant.START_FAIL) {
|
|
|
try {
|
|
|
- //TODO:测试存订单
|
|
|
byte[] transOrders = new byte[8];
|
|
|
System.arraycopy(transOrder, 8, transOrders, 0, transOrders.length);
|
|
|
QueryWrapper<TransOrder> transOrderQueryWrapper = new QueryWrapper<>();
|
|
|
transOrderQueryWrapper.eq("trans", DataConversion.bytesToHexString(transOrders)).eq("pile_code", pileCode);
|
|
|
TransOrder transOrderServiceOne = transOrderService.getOne(transOrderQueryWrapper);
|
|
|
- transOrderServiceOne.setStartTime(new Date(createTime));
|
|
|
- transOrderServiceOne.setEndTime(new Date(endTime));
|
|
|
- transOrderServiceOne.setSharpElec(map.get("elec1"));
|
|
|
- transOrderServiceOne.setSharpMoney(map.get("money1"));
|
|
|
- transOrderServiceOne.setPeakElec(map.get("elec2"));
|
|
|
- transOrderServiceOne.setPeakMoney(map.get("money2"));
|
|
|
- transOrderServiceOne.setFlatElec(map.get("elec3"));
|
|
|
- transOrderServiceOne.setFlatMoney(map.get("money3"));
|
|
|
- transOrderServiceOne.setValleyElec(map.get("elec4"));
|
|
|
- transOrderServiceOne.setValleyMoney(map.get("money4"));
|
|
|
- transOrderServiceOne.setDeepValleyElec(map.get("elec5"));
|
|
|
- transOrderServiceOne.setDeepValleyMoney(map.get("money5"));
|
|
|
- transOrderServiceOne.setElec(map.get("elec"));
|
|
|
- transOrderServiceOne.setMoney(map.get("money"));
|
|
|
- transOrderServiceOne.setReasonStopCharging(reason);
|
|
|
- transOrderService.updateById(transOrderServiceOne);
|
|
|
- //TODO:测试存订单
|
|
|
+ if(transOrderServiceOne!=null){
|
|
|
+ transOrderServiceOne.setStartTime(new Date(createTime));
|
|
|
+ transOrderServiceOne.setEndTime(new Date(endTime));
|
|
|
+ transOrderServiceOne.setSharpElec(map.get("elec1"));
|
|
|
+ transOrderServiceOne.setSharpMoney(map.get("money1"));
|
|
|
+ transOrderServiceOne.setPeakElec(map.get("elec2"));
|
|
|
+ transOrderServiceOne.setPeakMoney(map.get("money2"));
|
|
|
+ transOrderServiceOne.setFlatElec(map.get("elec3"));
|
|
|
+ transOrderServiceOne.setFlatMoney(map.get("money3"));
|
|
|
+ transOrderServiceOne.setValleyElec(map.get("elec4"));
|
|
|
+ transOrderServiceOne.setValleyMoney(map.get("money4"));
|
|
|
+ transOrderServiceOne.setDeepValleyElec(map.get("elec5"));
|
|
|
+ transOrderServiceOne.setDeepValleyMoney(map.get("money5"));
|
|
|
+ transOrderServiceOne.setElec(map.get("elec"));
|
|
|
+ transOrderServiceOne.setMoney(map.get("money"));
|
|
|
+ transOrderServiceOne.setReasonStopCharging(reason);
|
|
|
+ transOrderService.updateById(transOrderServiceOne);
|
|
|
+ log.info("更新订单结束{}",pileCode);
|
|
|
+ }else{
|
|
|
+ log.info("无订单不更新{}",pileCode);
|
|
|
+ }
|
|
|
+
|
|
|
}catch(Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- redisCache.deleteObject(RedisConstant.DEVICE_CHARNGING_INFO + pileCode + gunPort);
|
|
|
}
|
|
|
int index = 0;
|
|
|
byte[] msg = new byte[174];
|
|
|
@@ -418,25 +432,29 @@ public class TransactionFlowPushFrame {
|
|
|
QueryWrapper<TransOrder> transOrderQueryWrapper = new QueryWrapper<>();
|
|
|
transOrderQueryWrapper.eq("trans", DataConversion.bytesToHexString(transOrders)).eq("pile_code", pileCode);
|
|
|
TransOrder transOrderServiceOne = transOrderService.getOne(transOrderQueryWrapper);
|
|
|
- transOrderServiceOne.setStartTime(new Date(createTime));
|
|
|
- transOrderServiceOne.setEndTime(new Date(endTime));
|
|
|
- transOrderServiceOne.setSharpElec(map.get("elec1"));
|
|
|
- transOrderServiceOne.setSharpMoney(map.get("money1"));
|
|
|
- transOrderServiceOne.setPeakElec(map.get("elec2"));
|
|
|
- transOrderServiceOne.setPeakMoney(map.get("money2"));
|
|
|
- transOrderServiceOne.setFlatElec(map.get("elec3"));
|
|
|
- transOrderServiceOne.setFlatMoney(map.get("money3"));
|
|
|
- transOrderServiceOne.setValleyElec(map.get("elec4"));
|
|
|
- transOrderServiceOne.setValleyMoney(map.get("money4"));
|
|
|
- transOrderServiceOne.setElec(map.get("elec"));
|
|
|
- transOrderServiceOne.setMoney(map.get("money"));
|
|
|
- transOrderServiceOne.setReasonStopCharging(reason);
|
|
|
- transOrderService.updateById(transOrderServiceOne);
|
|
|
- //TODO:测试存订单
|
|
|
+ if(transOrderServiceOne!=null){
|
|
|
+ transOrderServiceOne.setStartTime(new Date(createTime));
|
|
|
+ transOrderServiceOne.setEndTime(new Date(endTime));
|
|
|
+ transOrderServiceOne.setSharpElec(map.get("elec1"));
|
|
|
+ transOrderServiceOne.setSharpMoney(map.get("money1"));
|
|
|
+ transOrderServiceOne.setPeakElec(map.get("elec2"));
|
|
|
+ transOrderServiceOne.setPeakMoney(map.get("money2"));
|
|
|
+ transOrderServiceOne.setFlatElec(map.get("elec3"));
|
|
|
+ transOrderServiceOne.setFlatMoney(map.get("money3"));
|
|
|
+ transOrderServiceOne.setValleyElec(map.get("elec4"));
|
|
|
+ transOrderServiceOne.setValleyMoney(map.get("money4"));
|
|
|
+ transOrderServiceOne.setElec(map.get("elec"));
|
|
|
+ transOrderServiceOne.setMoney(map.get("money"));
|
|
|
+ transOrderServiceOne.setReasonStopCharging(reason);
|
|
|
+ transOrderService.updateById(transOrderServiceOne);
|
|
|
+ log.info("更新订单结束{}",pileCode);
|
|
|
+ }else{
|
|
|
+ log.info("无订单不更新{}",pileCode);
|
|
|
+ }
|
|
|
+
|
|
|
}catch(Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- redisCache.deleteObject(RedisConstant.DEVICE_CHARNGING_INFO + pileCode + gunPort);
|
|
|
}
|
|
|
int index = 0;
|
|
|
byte[] msg = new byte[158];
|
|
|
@@ -647,31 +665,33 @@ public class TransactionFlowPushFrame {
|
|
|
//订单创建时间0和预留原因不存库
|
|
|
if (createTime > 0||reason!=TransConstant.START_FAIL) {
|
|
|
try {
|
|
|
- //TODO:测试存订单
|
|
|
byte[] transOrders = new byte[8];
|
|
|
System.arraycopy(transOrder, 8, transOrders, 0, transOrders.length);
|
|
|
QueryWrapper<TransOrder> transOrderQueryWrapper = new QueryWrapper<>();
|
|
|
transOrderQueryWrapper.eq("trans", DataConversion.bytesToHexString(transOrders)).eq("pile_code", pileCode);
|
|
|
TransOrder transOrderServiceOne = transOrderService.getOne(transOrderQueryWrapper);
|
|
|
- transOrderServiceOne.setStartTime(new Date(createTime));
|
|
|
- transOrderServiceOne.setEndTime(new Date(endTime));
|
|
|
- transOrderServiceOne.setSharpElec(map.get("elec1"));
|
|
|
- transOrderServiceOne.setSharpMoney(map.get("money1"));
|
|
|
- transOrderServiceOne.setPeakElec(map.get("elec2"));
|
|
|
- transOrderServiceOne.setPeakMoney(map.get("money2"));
|
|
|
- transOrderServiceOne.setFlatElec(map.get("elec3"));
|
|
|
- transOrderServiceOne.setFlatMoney(map.get("money3"));
|
|
|
- transOrderServiceOne.setValleyElec(map.get("elec4"));
|
|
|
- transOrderServiceOne.setValleyMoney(map.get("money4"));
|
|
|
- transOrderServiceOne.setElec(map.get("elec"));
|
|
|
- transOrderServiceOne.setMoney(map.get("money"));
|
|
|
- transOrderServiceOne.setReasonStopCharging(reason);
|
|
|
- transOrderService.updateById(transOrderServiceOne);
|
|
|
- //TODO:测试存订单
|
|
|
+ if(transOrderServiceOne!=null){
|
|
|
+ transOrderServiceOne.setStartTime(new Date(createTime));
|
|
|
+ transOrderServiceOne.setEndTime(new Date(endTime));
|
|
|
+ transOrderServiceOne.setSharpElec(map.get("elec1"));
|
|
|
+ transOrderServiceOne.setSharpMoney(map.get("money1"));
|
|
|
+ transOrderServiceOne.setPeakElec(map.get("elec2"));
|
|
|
+ transOrderServiceOne.setPeakMoney(map.get("money2"));
|
|
|
+ transOrderServiceOne.setFlatElec(map.get("elec3"));
|
|
|
+ transOrderServiceOne.setFlatMoney(map.get("money3"));
|
|
|
+ transOrderServiceOne.setValleyElec(map.get("elec4"));
|
|
|
+ transOrderServiceOne.setValleyMoney(map.get("money4"));
|
|
|
+ transOrderServiceOne.setElec(map.get("elec"));
|
|
|
+ transOrderServiceOne.setMoney(map.get("money"));
|
|
|
+ transOrderServiceOne.setReasonStopCharging(reason);
|
|
|
+ transOrderService.updateById(transOrderServiceOne);
|
|
|
+ log.info("更新订单结束{}",pileCode);
|
|
|
+ }else{
|
|
|
+ log.info("订单不存在不更新{}",pileCode);
|
|
|
+ }
|
|
|
}catch(Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- redisCache.deleteObject(RedisConstant.DEVICE_CHARNGING_INFO + pileCode + gunPort);
|
|
|
}
|
|
|
int index = 0;
|
|
|
byte[] msg = new byte[201];
|