zhibing.pu
2024-09-05 91317e7295857bdaac361d7ab59f595860eb8d7b
完善功能
7个文件已修改
69 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -78,6 +78,11 @@
            public void endCharge(String code) {
        
            }
            @Override
            public void excelEndCharge(String code) {
            }
        };
    }
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -83,4 +83,12 @@
     */
    @PostMapping("/t-charging-order/endCharge")
    void endCharge(@RequestParam("code") String code);
    /**
     * 硬件异常结束充电后的处理逻辑
     * @param code
     */
    @PostMapping("/t-charging-order/excelEndCharge")
    void excelEndCharge(@RequestParam("code") String code);
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java
@@ -5,12 +5,15 @@
import com.ruoyi.integration.mongodb.service.BmsAbortService;
import com.ruoyi.integration.rocket.model.BmsAbortMessage;
import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Slf4j
@Component
@@ -24,6 +27,12 @@
    @Autowired
    private BmsAbortService bmsAbortService;
    @Resource
    private ChargingOrderClient chargingOrderClient;
    @Override
    protected void handleMessage(BmsAbortMessage message) throws Exception {
        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
@@ -33,6 +42,7 @@
        BeanUtils.copyProperties(message,bmsAbort);
        bmsAbortService.create(bmsAbort);
        // 业务处理
        chargingOrderClient.excelEndCharge(bmsAbort.getTransaction_serial_number());
    }
    @Override
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java
@@ -5,12 +5,15 @@
import com.ruoyi.integration.mongodb.service.MotorAbortService;
import com.ruoyi.integration.rocket.model.MotorAbortMessage;
import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Slf4j
@Component
@@ -24,6 +27,13 @@
    @Autowired
    private MotorAbortService motorAbortService;
    @Resource
    private ChargingOrderClient chargingOrderClient;
    @Override
    protected void handleMessage(MotorAbortMessage message) throws Exception {
        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
@@ -33,6 +43,7 @@
        BeanUtils.copyProperties(message,motorAbort);
        motorAbortService.create(motorAbort);
        // 业务处理
        chargingOrderClient.excelEndCharge(motorAbort.getTransaction_serial_number());
    }
    @Override
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -792,8 +792,15 @@
     */
    @PostMapping("/endCharge")
    public void endCharge(@RequestParam("code") String code){
        chargingOrderService.endCharge(code);
        chargingOrderService.endCharge(code, 2);
    }
    
    /**
     * 硬件异常结束充电后的处理逻辑
     * @param code
     */
    @PostMapping("/excelEndCharge")
    public void excelEndCharge(@RequestParam("code") String code){
        chargingOrderService.excelEndCharge(code);
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -147,5 +147,12 @@
     * 自动结束充电后的处理逻辑
     * @param code
     */
    void endCharge(String code);
    void endCharge(String code, Integer endMode);
    /**
     * 异常结束充电处理逻辑
     * @param orderCode
     */
    void excelEndCharge(String orderCode);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -877,7 +877,7 @@
            chargingOrder.setOrderAmount(total);
        }
        
        if(chargingOrder.getEndMode() != 1){
        if(chargingOrder.getEndMode() == 2){
            chargingOrder.setEndMode(refundAmount.compareTo(BigDecimal.ZERO) > 0 ? 2 : 3);
        }
        chargingOrder.setStatus(5);
@@ -1488,14 +1488,14 @@
     */
    @Override
    @GlobalTransactional(rollbackFor = Exception.class)
    public void endCharge(String orderCode) {
    public void endCharge(String orderCode, Integer endMode) {
        TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, orderCode));
        Integer status = chargingOrder.getStatus();
        if(status == 4 || status == 5){
            return;
        }
        chargingOrder.setStatus(5);
        chargingOrder.setEndMode(2);
        chargingOrder.setEndMode(endMode);
        this.updateById(chargingOrder);
        
        //计算费用,处理退款
@@ -1540,4 +1540,13 @@
            appUserClient.updateAppUser(appUser1);
        }
    }
    /**
     * 异常结束充电处理逻辑
     * @param orderCode
     */
    @Override
    public void excelEndCharge(String orderCode) {
        endCharge(orderCode, 0);
    }
}