xuhy
2024-08-23 3e261beffdab4bfd58ebcf723496e7f78c618e44
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
@@ -3,40 +3,262 @@
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.integration.iotda.constant.ServiceIdConstant;
import java.util.HashMap;
import java.util.Map;
import com.ruoyi.integration.mongodb.model.*;
import com.ruoyi.integration.mongodb.service.*;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
public class MessageUtil {
    @Autowired
    private OnlineReplyService onlineReplyService;
    @Autowired
    private PongService pongService;
    @Autowired
    private BillingModeVerifyReplyService billingModeVerifyReplyService;
    @Autowired
    private AcquisitionBillingModeReplyService acquisitionBillingModeReplyService;
    @Autowired
    private ReadRealTimeMonitoringDataService readRealTimeMonitoringDataService;
    @Autowired
    private EndChargeService endChargeService;
    @Autowired
    private PlatformConfirmationChargingService platformConfirmationChargingService;
    @Autowired
    private PlatformStartChargingService platformStartChargingService;
    @Autowired
    private PlatformStopChargingService platformStopChargingService;
    @Autowired
    private ConfirmTransactionRecordService confirmTransactionRecordService;
    @Autowired
    private UpdateBalanceService updateBalanceService;
    @Autowired
    private SynchronizeOfflineCardService synchronizeOfflineCardService;
    @Autowired
    private ClearOfflineCardService clearOfflineCardService;
    @Autowired
    private QueryOfflineCardService queryOfflineCardService;
    @Autowired
    private WorkingParameterSettingService workingParameterSettingService;
    @Autowired
    private TimingSettingService timingSettingService;
    @Autowired
    private SetupBillingModelService setupBillingModelService;
    @Autowired
    private OpenOrCloseGroundLockService openOrCloseGroundLockService;
    @Autowired
    private PlatformRestartService platformRestartService;
    @Autowired
    private PlatformRemoteUpdateService platformRemoteUpdateService;
    /**
     * 登录认证应答
     * @param charging_pile_code  桩编码
     * @param online_result 登录结果(0:成功,1:失败)
     * @param onlineReply  实体对象
     * @return
     */
    public static String onlineReply(String charging_pile_code,Integer online_result){
        Map<String,Object> map = new HashMap<>(3);
        map.put("service_id", ServiceIdConstant.ONLINE_REPLY);
        map.put("charging_pile_code",charging_pile_code);
        map.put("online_result",online_result);
        return JSONObject.toJSONString(map);
    public String onlineReply(OnlineReply onlineReply){
        onlineReplyService.create(onlineReply);
        return getMessageJsonString(onlineReply, ServiceIdConstant.ONLINE_REPLY);
    }
    /**
     * 心跳包应答
     * @param charging_pile_code 桩编码
     * @param charging_gun_code 枪号
     * @param charging_gun_status 心跳应答(0)
     * @param pong 实体对象
     * @return
     */
    public static String pong(String charging_pile_code,String charging_gun_code,Integer charging_gun_status){
        Map<String,Object> map = new HashMap<>(3);
        map.put("service_id", ServiceIdConstant.ONLINE_REPLY);
        map.put("charging_pile_code",charging_pile_code);
        map.put("charging_gun_code",charging_gun_code);
        map.put("charging_gun_status",charging_gun_status);
        return JSONObject.toJSONString(map);
    public String pong(Pong pong){
        pongService.create(pong);
        return getMessageJsonString(pong, ServiceIdConstant.PONG);
    }
    /**
     * 计费模型验证请求应答
     * @param billingModeVerifyReply 实体对象
     * @return
     */
    public String billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply){
        billingModeVerifyReplyService.create(billingModeVerifyReply);
        return getMessageJsonString(billingModeVerifyReply, ServiceIdConstant.BILLING_MODE_VERIFY_REPLY);
    }
    /**
     * 计费模型验证请求应答
     * @param acquisitionBillingModeReply 实体对象
     * @return
     */
    public String acquisitionBillingModeReply(AcquisitionBillingModeReply acquisitionBillingModeReply){
        acquisitionBillingModeReplyService.create(acquisitionBillingModeReply);
        return getMessageJsonString(acquisitionBillingModeReply, ServiceIdConstant.ACQUISITION_BILLING_MODE_REPLY);
    }
    /**
     * 读取实时监测数据
     * @param readRealTimeMonitoringData 实体对象
     * @return
     */
    public String readRealTimeMonitoringData(ReadRealTimeMonitoringData readRealTimeMonitoringData){
        readRealTimeMonitoringDataService.create(readRealTimeMonitoringData);
        return getMessageJsonString(readRealTimeMonitoringData, ServiceIdConstant.READ_REAL_TIME_MONITORING_DATA);
    }
    /**
     * 充电结束
     * @param endCharge 实体对象
     * @return
     */
    public String endCharge(EndCharge endCharge){
        endChargeService.create(endCharge);
        return getMessageJsonString(endCharge, ServiceIdConstant.END_CHARGE);
    }
    /**
     * 运营平台确认启动充电
     * @param platformConfirmationCharging 实体对象
     * @return
     */
    public String platformConfirmationCharging(PlatformConfirmationCharging platformConfirmationCharging){
        platformConfirmationChargingService.create(platformConfirmationCharging);
        return getMessageJsonString(platformConfirmationCharging, ServiceIdConstant.PLATFORM_CONFIRMATION_CHARGING);
    }
    /**
     * 运营平台远程控制启机
     * @param platformStartCharging 实体对象
     * @return
     */
    public String platformConfirmationCharging(PlatformStartCharging platformStartCharging){
        platformStartChargingService.create(platformStartCharging);
        return getMessageJsonString(platformStartCharging, ServiceIdConstant.PLATFORM_START_CHARGING);
    }
    /**
     * 运营平台远程停机
     * @param platformStopCharging 实体对象
     * @return
     */
    public String platformStopCharging(PlatformStopCharging platformStopCharging){
        platformStopChargingService.create(platformStopCharging);
        return getMessageJsonString(platformStopCharging, ServiceIdConstant.PLATFORM_STOP_CHARGING);
    }
    /**
     * 交易记录确认
     * @param confirmTransactionRecord 实体对象
     * @return
     */
    public String confirmTransactionRecord(ConfirmTransactionRecord confirmTransactionRecord){
        confirmTransactionRecordService.create(confirmTransactionRecord);
        return getMessageJsonString(confirmTransactionRecord, ServiceIdConstant.CONFIRM_TRANSACTION_RECORD);
    }
    /**
     * 远程账户余额更新
     * @param updateBalance 实体对象
     * @return
     */
    public String updateBalance(UpdateBalance updateBalance){
        updateBalanceService.create(updateBalance);
        return getMessageJsonString(updateBalance, ServiceIdConstant.UPDATE_BALANCE);
    }
    /**
     * 离线卡数据同步
     * @param synchronizeOfflineCard 实体对象
     * @return
     */
    public String synchronizeOfflineCard(SynchronizeOfflineCard synchronizeOfflineCard){
        synchronizeOfflineCardService.create(synchronizeOfflineCard);
        return getMessageJsonString(synchronizeOfflineCard, ServiceIdConstant.SYNCHRONIZE_OFFLINE_CARD);
    }
    /**
     * 离线卡数据清除
     * @param clearOfflineCard 实体对象
     * @return
     */
    public String clearOfflineCard(ClearOfflineCard clearOfflineCard){
        clearOfflineCardService.create(clearOfflineCard);
        return getMessageJsonString(clearOfflineCard, ServiceIdConstant.CLEAR_OFFLINE_CARD);
    }
    /**
     * 离线卡数据查询
     * @param queryOfflineCard 实体对象
     * @return
     */
    public String queryOfflineCard(QueryOfflineCard queryOfflineCard){
        queryOfflineCardService.create(queryOfflineCard);
        return getMessageJsonString(queryOfflineCard, ServiceIdConstant.QUERY_OFFLINE_CARD);
    }
    /**
     * 充电桩工作参数设置
     * @param workingParameterSetting 实体对象
     * @return
     */
    public String workingParameterSetting(WorkingParameterSetting workingParameterSetting){
        workingParameterSettingService.create(workingParameterSetting);
        return getMessageJsonString(workingParameterSetting, ServiceIdConstant.WORKING_PARAMETER_SETTING);
    }
    /**
     * 对时设置
     * @param timingSetting 实体对象
     * @return
     */
    public String timingSetting(TimingSetting timingSetting){
        timingSettingService.create(timingSetting);
        return getMessageJsonString(timingSetting, ServiceIdConstant.TIMING_SETTING);
    }
    /**
     * 计费模型设置
     * @param setupBillingModel 实体对象
     * @return
     */
    public String setupBillingModel(SetupBillingModel setupBillingModel){
        setupBillingModelService.create(setupBillingModel);
        return getMessageJsonString(setupBillingModel, ServiceIdConstant.SETUP_BILLING_MODEL);
    }
    /**
     * 遥控地锁升锁与降锁命令 (下行)
     * @param openOrCloseGroundLock 实体对象
     * @return
     */
    public String openOrCloseGroundLock(OpenOrCloseGroundLock openOrCloseGroundLock){
        openOrCloseGroundLockService.create(openOrCloseGroundLock);
        return getMessageJsonString(openOrCloseGroundLock, ServiceIdConstant.OPEN_OR_CLOSE_GROUND_LOCK);
    }
    /**
     * 远程重启
     * @param platformRestart 实体对象
     * @return
     */
    public String platformRestart(PlatformRestart platformRestart){
        platformRestartService.create(platformRestart);
        return getMessageJsonString(platformRestart, ServiceIdConstant.PLATFORM_RESTART);
    }
    /**
     * 远程更新
     * @param platformRemoteUpdate 实体对象
     * @return
     */
    public String platformRemoteUpdate(PlatformRemoteUpdate platformRemoteUpdate){
        platformRemoteUpdateService.create(platformRemoteUpdate);
        return getMessageJsonString(platformRemoteUpdate, ServiceIdConstant.PLATFORM_REMOTE_UPDATE);
    }
    /**
     * 统一封装消息
     * @param object 实体对象
     * @param serviceId 服务ID
     * @return
     */
    private String getMessageJsonString(Object object, String serviceId){
        JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(object));
        jsonObject.put("service_id", serviceId);
        return jsonObject.toJSONString();
    }
}