无关风月
2024-09-05 a3aa8bd77b4a9a74601238cc467cfd115b0821b6
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java
@@ -1,5 +1,8 @@
package com.ruoyi.integration.rocket.listener;
import com.ruoyi.chargingPile.api.dto.CheckChargingStrategyDTO;
import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyDetailClient;
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
import com.ruoyi.integration.api.model.AcquisitionBillingMode;
import com.ruoyi.integration.api.model.BillingModeVerify;
import com.ruoyi.integration.api.model.BillingModeVerifyReply;
@@ -33,6 +36,8 @@
    private IotMessageProduce iotMessageProduce;
    @Autowired
    private MessageUtil messageUtil;
    @Autowired
    private AccountingStrategyDetailClient accountingStrategyDetailClient;
    @Override
    protected void handleMessage(BillingModeVerifyMessage message) throws Exception {
@@ -49,12 +54,22 @@
            billingModeVerifyReply.setCharging_pile_code(billingModeVerify.getCharging_pile_code());
            billingModeVerifyReply.setBilling_model_code("0");
            billingModeVerifyReply.setBilling_model_result(1);
            iotMessageProduce.sendMessage(billingModeVerifyReply.getCharging_pile_code(), ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
        }else {
            // 查询桩使用的模版
            CheckChargingStrategyDTO dto = new CheckChargingStrategyDTO();
            dto.setCode(message.getBilling_model_code());
            dto.setStrategyDetailId(Integer.valueOf(message.getBilling_model_code()));
            Boolean check = accountingStrategyDetailClient.checkChargingStrategy(dto).getData();
            // 校验计费模版是否准确
            billingModeVerifyReply.setCharging_pile_code(billingModeVerify.getCharging_pile_code());
            billingModeVerifyReply.setBilling_model_code(message.getBilling_model_code());
            if(check){
                billingModeVerifyReply.setBilling_model_result(0);
            }else {
                billingModeVerifyReply.setBilling_model_result(1);
            }
        }
        iotMessageProduce.sendMessage(billingModeVerifyReply.getCharging_pile_code(), ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
    }
    @Override