2021与蓝度共同重构项目,服务端
liuhaonan
2022-08-25 1c5825ad257362eb61a6c11b62a158011214d105
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
@@ -390,17 +390,28 @@
     *
     * @param dataPackage
     */
    public void stopCharingOrder(A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage dataPackage) {
    public void stopCharingOrder(String c3Mac, A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage dataPackage) {
        if (c3Mac.isEmpty() || c3Mac == null || dataPackage == null) {
            return;
        }
        //获取正在进行中的订单
        C3mOrder c3mOrder = getOne(Wrappers.lambdaQuery(C3mOrder.class)
                .eq(C3mOrder::getC3Mac, dataPackage.getC3Mac()).eq(C3mOrder::getChargingStates, 0)
                .eq(C3mOrder::getC3Mac, c3Mac).eq(C3mOrder::getChargingStates, 0)
                .eq(C3mOrder::getOrderStatus, OrderStatus.PAYED.getStatus()).last("limit 1"));
        //订单未结束,但是充电桩为空闲状态(即充电桩断电/故障情况)  结束该订单
        if ("1".equals(dataPackage.getStatusBit()) && c3mOrder != null) {
            //订单未结束,但是充电桩为空闲状态(即充电桩断电/故障情况)  结束该订单
            //设置订单为已完成
            c3mOrder.setOrderStatus(OrderStatus.COMPLETE.getStatus());
            //设置充电状态为已结束
            c3mOrder.setChargingStates(1);
            //设置充电电量
            c3mOrder.setActualChargingCapacity(Double.parseDouble(dataPackage.getChargedCapacity()));
            //设置退款金额
            c3mOrder.setRefundAmount(Double.parseDouble(dataPackage.getRemainingAmount()));
            //设置剩余金额
            c3mOrder.setSurplusAmount(Double.parseDouble(dataPackage.getRemainingAmount()));
            //结束充电(订单)时间
            c3mOrder.setStopChargingTimestamp(System.currentTimeMillis());
            updateById(c3mOrder);
        }
    }