xuhy
2024-08-22 6732f66d7724b1ee5e5ffd53ca4b7146e046331d
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
@@ -3,40 +3,122 @@
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;
    /**
     * 登录认证应答
     * @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 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();
    }
}