update 华为设备接口状态查询 接口中枪口状态及时修改

This commit is contained in:
Lemon
2024-03-14 11:32:55 +08:00
parent f232dd614c
commit a2033bf280
3 changed files with 74 additions and 16 deletions

View File

@@ -3,6 +3,7 @@ package com.jsowell.thirdparty.huawei;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.google.common.collect.Maps;
import com.jsowell.common.constant.Constants;
@@ -21,6 +22,7 @@ import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.pile.domain.*;
import com.jsowell.pile.domain.huawei.HWStationInfo;
import com.jsowell.pile.domain.huawei.HWStationStatusInfo;
import com.jsowell.pile.dto.GenerateOrderDTO;
import com.jsowell.pile.dto.PushStationInfoDTO;
import com.jsowell.pile.dto.QueryStartChargeDTO;
@@ -45,6 +47,7 @@ import com.jsowell.thirdparty.lianlian.util.GBSignUtils;
import com.jsowell.thirdparty.lianlian.util.HttpRequestUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -242,17 +245,30 @@ public class HuaweiServiceV2 {
// 发送请求
String result = sendMsg2HuaWei(jsonString, token, requestName);
// 转换成 StationStatus 对象
// List<StationStatusInfo> list = JSON.parseArray(result, StationStatusInfo.class);
return result;
JSONObject jsonStationStatus = JSONObject.parseObject(result);
if (jsonStationStatus == null) {
return null;
}
// 先转成 jsonArray
JSONArray stationStatusInfos = jsonStationStatus.getJSONArray("StationStatusInfos");
// 转成对应的 List
List<HWStationStatusInfo> hwStationStatusInfos = stationStatusInfos.toList(HWStationStatusInfo.class);
for (HWStationStatusInfo hwStationStatusInfo : hwStationStatusInfos) {
String stationId = hwStationStatusInfo.getStationId();
List<HWStationStatusInfo
.ConnectorStatusInfo> connectorStatusInfos = hwStationStatusInfo.getConnectorStatusInfos();
// 获取对应的枪口状态
for (HWStationStatusInfo.ConnectorStatusInfo connectorStatusInfo : connectorStatusInfos) {
String connectorId = connectorStatusInfo.getConnectorId();
String status = connectorStatusInfo.getStatus();
// 修改对应枪口状态
pileConnectorInfoService.updateConnectorStatus(connectorId, status);
}
}
return jsonStationStatus.toJSONString();
}
public static void main(String[] args) {
String result = "{\"StationStatusInfos\":[{\"ConnectorStatusInfos\":[{\"ConnectorID\":\"8823000000112302\",\"Status\":2},{\"ConnectorID\":\"8823000000112301\",\"Status\":2}],\"StationID\":\"19\"}]}";
JSONObject jsonObject = JSONObject.parseObject(result);
System.out.println(jsonObject);
}
/**
* 接收设备接口状态变化推送
* 需在Controller传入operatorId
@@ -346,8 +362,8 @@ public class HuaweiServiceV2 {
} catch (Exception e) {
e.printStackTrace();
}
DeliverEquipBusinessPolicyVO vo = deliverEquipBusinessPolicy(equipBizSeq, pileConnectorCode);
log.info("华为 异步调用 下发计费策略 接口 result:{}", JSONObject.toJSONString(vo));
String result = deliverEquipBusinessPolicy(equipBizSeq, pileConnectorCode);
log.info("华为 异步调用 下发计费策略 接口 result:{}", result);
});
resultJson.put("SuccStat", 0);
@@ -375,7 +391,7 @@ public class HuaweiServiceV2 {
* @param pileConnectorCode 枪口号
* @return
*/
public DeliverEquipBusinessPolicyVO deliverEquipBusinessPolicy(String equipBizSeq, String pileConnectorCode) {
public String deliverEquipBusinessPolicy(String equipBizSeq, String pileConnectorCode) {
String requestName = "deliver_equip_business_policy";
DeliverEquipBusinessDTO params = new DeliverEquipBusinessDTO();
@@ -471,8 +487,8 @@ public class HuaweiServiceV2 {
return null;
}
// 转换成 DeliverEquipBusinessPolicyVO 对象
DeliverEquipBusinessPolicyVO vo = JSON.parseObject(result, DeliverEquipBusinessPolicyVO.class);
return vo;
// DeliverEquipBusinessPolicyVO vo = JSON.parseObject(result, DeliverEquipBusinessPolicyVO.class);
return result;
}
/**