| | |
| | | import com.sandu.ximon.admin.service.*; |
| | | import com.sandu.ximon.admin.utils.LogUtils; |
| | | import com.sandu.ximon.admin.utils.RedisUtils; |
| | | import com.sandu.ximon.dao.domain.C3mCharging; |
| | | import com.sandu.ximon.dao.domain.C3mOrder; |
| | | import com.sandu.ximon.dao.domain.Pole; |
| | | import com.sandu.ximon.dao.enums.OrderStatus; |
| | |
| | | //保存充电桩硬件信息 |
| | | boolean b = SpringContextHolder.getBean(C3ChargingService.class).saveReporEquipment(deviceName, netRequestFrame.getMcuUdid(), netRequestFrame.getDestinationAddress()); |
| | | //检查是否有正在进行的订单,有的话继续充电 |
| | | SpringContextHolder.getBean(C3mOrderService.class).recoverContinueCharing(netRequestFrame.getDestinationAddress(), netRequestFrame.getMcuUdid()); |
| | | if (!b) { |
| | | return; |
| | | } |
| | | // SpringContextHolder.getBean(C3mOrderService.class).recoverContinueCharing(netRequestFrame.getDestinationAddress(), netRequestFrame.getMcuUdid()); |
| | | // if (!b) { |
| | | // return; |
| | | // } |
| | | } |
| | | } else if (C3ChargingEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) { |
| | | // 网页操作二维码请求(41) |
| | |
| | | |
| | | if (codeRequestFrame.isValidate()) { |
| | | if (deviceName != null) { |
| | | C3mCharging c3mCharging = SpringContextHolder.getBean(C3ChargingService.class). |
| | | getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, codeRequestFrame.getDestinationAddress()).last("limit 1")); |
| | | if (c3mCharging == null) { |
| | | SpringContextHolder.getBean(C3ChargingService.class).saveReporEquipment(deviceName, codeRequestFrame.getMcuUdid(), codeRequestFrame.getDestinationAddress()); |
| | | } |
| | | // C3mCharging c3mCharging = SpringContextHolder.getBean(C3ChargingService.class). |
| | | // getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, codeRequestFrame.getDestinationAddress()).last("limit 1")); |
| | | // if (c3mCharging == null) { |
| | | // SpringContextHolder.getBean(C3ChargingService.class).saveReporEquipment(deviceName, codeRequestFrame.getMcuUdid(), codeRequestFrame.getDestinationAddress()); |
| | | // } |
| | | |
| | | //设置二维码 |
| | | Pole pole = SpringContextHolder.getBean(PoleService.class).getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getDeviceCode, deviceName)); |
| | |
| | | /** |
| | | * 读取心跳包,判断剩余金额和已充电量,统计到缓存中正在进行的订单。 |
| | | */ |
| | | A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(completeRequestFrame.getDestinationAddress()); |
| | | A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(completeRequestFrame.getDestinationAddress(), true); |
| | | if (aPackage == null) { |
| | | LogUtils.error("{ 充电桩(" + completeRequestFrame.getDestinationAddress() + ")充电结束上报读取心跳包失败,请检查充电桩是否出现故障! }"); |
| | | return; |
| | |
| | | lastOrderByC3Mac.setChargingStates(1); |
| | | //设置剩余金额 |
| | | lastOrderByC3Mac.setSurplusAmount(Double.parseDouble(aPackage.getRemainingAmount())); |
| | | //设置退款金额 |
| | | lastOrderByC3Mac.setRefundAmount(Double.parseDouble(aPackage.getRemainingAmount())); |
| | | //充电时长 |
| | | lastOrderByC3Mac.setAlreadyChargingTime(aPackage.getAlreadyChargingTime()); |
| | | SpringContextHolder.getBean(C3mOrderService.class).updateById(lastOrderByC3Mac); |
| | | } |
| | | } |