xuhy
2024-09-19 dd53078ab5e034625342dd28546924e963cbe41c
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -5,6 +5,7 @@
import com.ruoyi.chargingPile.api.dto.CheckChargingStrategyDTO;
import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyDetailClient;
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.integration.api.model.*;
import com.ruoyi.integration.iotda.constant.SendTagConstant;
@@ -17,6 +18,7 @@
import com.ruoyi.integration.rocket.produce.EnhanceProduce;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendResult;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -180,10 +182,10 @@
                PlatformConfirmationCharging platformConfirmationCharging = new PlatformConfirmationCharging();
                platformConfirmationCharging.setCharging_pile_code(chargingPileStartsChargingMessage.getCharging_pile_code());
                platformConfirmationCharging.setCharging_gun_code(chargingPileStartsChargingMessage.getCharging_gun_code());
                platformConfirmationCharging.setCard_number("");
                platformConfirmationCharging.setCard_number(chargingPileStartsChargingMessage.getAccount());
                platformConfirmationCharging.setAccount_balance(BigDecimal.ZERO);
                platformConfirmationCharging.setAuthentication(1);
                // TODO
                // TODO 若是失败,给出失败原因
                iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
                break;
            case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
@@ -264,4 +266,63 @@
        return AjaxResult.success();
    }
    @PostMapping(value = "/message/sendMessage")
    public R sendMessage() {
        // 运营平台远程控制启机
//        PlatformStartCharging platformStartCharging = new PlatformStartCharging();
//        platformStartCharging.setTransaction_serial_number("4200002375202409185150427245");
//        platformStartCharging.setCharging_pile_code("3401231001200202");
//        platformStartCharging.setCharging_gun_code("1");
//        platformStartCharging.setCard_number("1833063878153543681");
//        platformStartCharging.setAccount_balance(new BigDecimal(50));
//        String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging));
        // 运营平台远程停机
//        PlatformStopCharging platformStopCharging = new PlatformStopCharging();
//        platformStopCharging.setCharging_pile_code("3401231001200202");
//        platformStopCharging.setCharging_gun_code("1");
//        String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging));
        // 修改余额
//        UpdateBalance updateBalance = new UpdateBalance();
//        updateBalance.setCharging_pile_code("3401231001200202");
//        updateBalance.setCharging_gun_code("1");
//        updateBalance.setPhysical_card_number("1833063878153543681");
//        updateBalance.setAccount_balance(new BigDecimal(20));
//        String message = iotMessageProduce.sendMessage(updateBalance.getCharging_pile_code(), ServiceIdMenu.UPDATE_BALANCE.getKey(),messageUtil.updateBalance(updateBalance));
        // 充电桩工作参数设置
//        WorkingParameterSetting workingParameterSetting = new WorkingParameterSetting();
//        workingParameterSetting.setCharging_pile_code("3401231001200202");
//        workingParameterSetting.setAllow_work(0);
//        workingParameterSetting.setMaximum_output_power(220);
//        String message = iotMessageProduce.sendMessage(workingParameterSetting.getCharging_pile_code(), ServiceIdMenu.WORKING_PARAMETER_SETTING.getKey(),messageUtil.workingParameterSetting(workingParameterSetting));
        // 对时设置
//        TimingSetting timingSetting = new TimingSetting();
//        timingSetting.setCharging_pile_code("3401231001200202");
//        System.err.println(CP56Time2aConverter.convertToCP56Time2a(new Date()));
//        timingSetting.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
//        String message = iotMessageProduce.sendMessage(timingSetting.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING.getKey(),messageUtil.timingSetting(timingSetting));
        // TODO 罗  计费模型设置
//        SetupBillingModel setupBillingModel = new SetupBillingModel();
//        // 计费模型
//        List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode("3401231001200202").getData();
//        Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails);
//        // 价格设置
//        AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply();
//        StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply);
//        // 时段设置
//        StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply);
//        TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode("3401231001200202").getData();
//        acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString());
//        acquisitionBillingModeReply.setCharging_pile_code("3401231001200202");
//        acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
//        BeanUtils.copyProperties(acquisitionBillingModeReply,setupBillingModel);
//        System.err.println(setupBillingModel);
//        String message = iotMessageProduce.sendMessage(setupBillingModel.getCharging_pile_code(), ServiceIdMenu.SETUP_BILLING_MODEL.getKey(),messageUtil.setupBillingModel(setupBillingModel));
        // 远程重启
        PlatformRestart platformRestart = new PlatformRestart();
        platformRestart.setCharging_pile_code("3401231001200202");
        platformRestart.setOperate(2);
        String message = iotMessageProduce.sendMessage(platformRestart.getCharging_pile_code(), ServiceIdMenu.PLATFORM_RESTART.getKey(),messageUtil.platformRestart(platformRestart));
        return R.ok(message);
    }
}