فهرست منبع

[功能修复]修复远程更新金额

liuf 10 ماه پیش
والد
کامیت
3b040f653a

+ 2 - 2
src/main/java/com/tmzn/devicelinkykc/frameMsg/frameType/RealTimeStatusPushFrame.java

@@ -36,7 +36,7 @@ public class RealTimeStatusPushFrame {
         if(deviceConnectionMsg.getIs18()){
             try {
                 byte[] send = upStatusDevice(trans, pileCode, guns, gunsStatus, gunsInsert, voltage, power, elec, money, time);
-                log.info("deviceStatusPush>{}设备实时状态上报>>>"+DataConversion.bytesToHexString(send),pileCode);
+                log.info("deviceStatusPush>{}reporting>>>"+DataConversion.bytesToHexString(send),pileCode);
 //                String key = redisCache.getCacheObject(RedisConstant.KEYS+deviceConnectionMsg.getDeviceId());
                 String key = redisCache.getCacheMapValue(RedisConstant.YKC_KEY_MAP,deviceConnectionMsg.getDeviceId());
                 // log.info("deviceStatusPush>设备实时状态key>>>"+key);
@@ -49,7 +49,7 @@ public class RealTimeStatusPushFrame {
         }else{
             try {
                 byte[] send = upStatusDevice(trans, pileCode, guns, gunsStatus, gunsInsert, voltage, power, elec, money, time);
-                log.info("deviceStatusPush>设备实时状态上报>>>"+DataConversion.bytesToHexString(send));
+                log.info("deviceStatusPush>reporting-save>>>"+DataConversion.bytesToHexString(send));
                 // log.info("deviceStatusPush>设备实时状态key>>>"+key);
                 encrypt = send;
                 encFlag = 0;

+ 2 - 2
src/main/java/com/tmzn/devicelinkykc/message/DeviceMsgHandle.java

@@ -810,7 +810,7 @@ public class DeviceMsgHandle {
         statusServiceOne.setOnlineStatus(DeviceOnlineStatus.ONLINE);
         statusServiceOne.setUpdateTime(System.currentTimeMillis());
         deviceStatusService.updateById(statusServiceOne);
-        logger.info("{}设备状态持久化>>>" + statusServiceOne.toString(), imei);
+        logger.info("{}save>>>" + statusServiceOne.toString(), imei);
 
         redisCache.setCacheMapValue(port == 1 ? RedisConstant.ONLINE_DEVICE_ONE : RedisConstant.ONLINE_DEVICE_TWO, statusServiceOne.getPileCode(), statusServiceOne);
 
@@ -844,7 +844,7 @@ public class DeviceMsgHandle {
 
         //没有充电中的订单
         if (one == null || one.getNowOrderStatus() != StatusConstant.NOW_ORDER_STATUS_CHARGING) {
-            logger.info("没有订单上报空闲{}", imei);
+            logger.info("free{}", imei);
             realTimeStatusPushFrame.deviceStatusPush(deviceConnectionMsg, FrameDataSplicing.transactionNum(null, 0), statusServiceOne.getPileCode(), (byte) port, gunsStatus, insertGunStatus, 0, 0, zero, zero, 0);
             return;
         }

+ 12 - 2
src/main/java/com/tmzn/devicelinkykc/message/YkcMsgHandle.java

@@ -479,7 +479,7 @@ public class YkcMsgHandle {
 
         String pile = DataConversion.bytesToHexString(pileCode);
 
-        logger.info("更新余额>>" + bigDecimal + ";pileCode:" + pile);
+        logger.info("更新余额>>" + bigDecimal + ";pileCode:" + pile+"port:{}",guns[0]);
         //TODO:1.这里更新的余额需要针对充电桩使用的人员进行修改;(考虑后台计费);2.更新操作完成时候响应云快充更新结果
         //拿当前的订单去更新余额
         QueryWrapper<OrderStatus> orderStatusQueryWrapper = new QueryWrapper<>();
@@ -490,12 +490,22 @@ public class YkcMsgHandle {
         billingModelQueryWrapper.eq("pile_code", pile);
         BillingModel model = billingModelService.getOne(billingModelQueryWrapper);
 
+        int port = (int) guns[0];
         //后台计费
-        Map<String, BigDecimal> map = transMoney.compute(1, model, statusServiceOne.getCreateTime(), System.currentTimeMillis());
+        Map<String, BigDecimal> map = transMoney.compute(port, model, statusServiceOne.getCreateTime(), System.currentTimeMillis());
         BigDecimal money = statusServiceOne.getStartMoney().subtract(map.get("money")).setScale(4, BigDecimal.ROUND_DOWN);
+
         BigDecimal add = money.add(bigDecimal);
         statusServiceOne.setStartMoney(add);
+
+        logger.info("更新余额>>" + bigDecimal + ";pileCode:" + pile+"port:{}--before:{},after:{}",guns[0],money,add);
+
+
+//        statusServiceOne.setStartMoney(bigDecimal);
+
         orderStatusService.updateById(statusServiceOne);
+
+
         //这里测试默认更新成功
         remoteBalanceUpdatePushFrame.updateBalance(deviceConnectionMsg, card, (byte) 0x00);