diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/ConnectorStatusInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/ConnectorStatusInfo.java index 85dd7e05b..4d337da11 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/ConnectorStatusInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/ConnectorStatusInfo.java @@ -44,7 +44,20 @@ public class ConnectorStatusInfo { private String LockStatus; /** - * 平台的 + * 平台 */ + @JSONField(name = "OperatorID") private String operatorId; + + /** + * 设备归属方运营商id + */ + @JSONField(name = "EquipmentOwnerID") + private String equipmentOwnerId; + + @JSONField(name = "StationID") + private String stationId; + + @JSONField(name = "EquipmentID") + private String equipmentId; } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/StationStatusInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/StationStatusInfo.java index b275c6726..cafb1e52d 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/StationStatusInfo.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/domain/StationStatusInfo.java @@ -23,6 +23,29 @@ public class StationStatusInfo { @JsonProperty(value = "StationID") private String stationId; + /** + * 平台运营商id + */ + @JsonProperty(value = "OperatorID") + private String operatorId; + + /** + * 设备归属方id + */ + @JsonProperty(value = "EquipmentOwnerID") + private String equipmentOwnerId; + + /** + * 站点状态 + * 0:未知 + * 1:建设中 + * 5:关闭下线 + * 6:维护中 + * 50:正常使用 + */ + @JsonProperty(value = "StationStatus") + private Integer stationStatus; + /** * 充电设备接口状态列表 Y * 所有充电设备接口的状态 diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java index 348e0d75e..f6c562908 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/service/impl/LianLianServiceImpl.java @@ -255,7 +255,7 @@ public class LianLianServiceImpl implements LianLianService { String dataSecret = "9JttBXhmrmmGWwi4"; // SPBNJ1Z5EQNmpK08 VTAEKDPVN9CUS7WO huawei: zd4NrLWJ38XCTaqP E6gnWuz0QzBW75CR 正式:NHsBDtTanA60vTIu pJahbxk8wG79CMDB String dataSecretIV = "9NCXVbujUCveCkGu"; // peRoTcb2C7zqKeII 83UZFFRRZDYNF5CR huawei: RJJecvNTJ48SGMG7 SXejaSUx5yud8UHm 正式:2uyE2Cgu4nVf6egc y259VRq7h8RyFXmT String signSecret = "sRjCDeokckFGpYpA"; // sRjCDeokckFGpYpA - String dataString = "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"; + String dataString = "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"; // 解密data byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(dataString), dataSecret.getBytes(), dataSecretIV.getBytes()); diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/ZheJiangPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/ZheJiangPlatformServiceImpl.java index 43aa01479..f5e52757b 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/ZheJiangPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/ZheJiangPlatformServiceImpl.java @@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.jsowell.common.constant.Constants; +import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.enums.lianlian.StationPaymentEnum; import com.jsowell.common.enums.thirdparty.BusinessInformationExchangeEnum; import com.jsowell.common.enums.thirdparty.ThirdPartyOperatorIdEnum; @@ -29,6 +30,7 @@ import com.jsowell.pile.thirdparty.CommonParamsDTO; import com.jsowell.pile.thirdparty.EquipmentInfo; import com.jsowell.pile.util.MerchantUtils; import com.jsowell.pile.vo.ThirdPartySecretInfoVO; +import com.jsowell.pile.vo.base.ConnectorInfoVO; import com.jsowell.pile.vo.base.MerchantInfoVO; import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO; import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO; @@ -38,6 +40,9 @@ import com.jsowell.pile.vo.web.PileConnectorInfoVO; import com.jsowell.pile.vo.web.PileMerchantInfoVO; import com.jsowell.pile.vo.web.PileStationVO; import com.jsowell.pile.vo.zdl.EquipBusinessPolicyVO; +import com.jsowell.thirdparty.lianlian.domain.ConnectorChargeStatusInfo; +import com.jsowell.thirdparty.lianlian.domain.ConnectorStatusInfo; +import com.jsowell.thirdparty.lianlian.domain.StationStatusInfo; import com.jsowell.thirdparty.lianlian.vo.AccessTokenVO; import com.jsowell.thirdparty.lianlian.vo.QueryChargingStatusVO; import com.jsowell.thirdparty.platform.domain.*; @@ -58,6 +63,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.nio.charset.StandardCharsets; import java.util.*; +import java.util.stream.Collectors; /** * 浙江省平台 @@ -468,6 +474,66 @@ public class ZheJiangPlatformServiceImpl implements ThirdPartyPlatformService { return result; } + /** + * 查询站点状态 + * @param dto 查询站点信息dto + * @return + */ + @Override + public Map queryStationStatus(QueryStationInfoDTO dto) { + List stationIds = dto.getStationIds(); + List StationStatusInfos = new ArrayList<>(); + List connectorStatusInfos = new ArrayList<>(); + ThirdPartySecretInfoVO thirdPartySecretInfoVO = thirdpartySecretInfoService.queryByThirdPlatformType(thirdPlatformType); + if (thirdPartySecretInfoVO == null) { + return null; + } + ConnectorStatusInfo connectorStatusInfo; + for (String stationId : stationIds) { + PileMerchantInfoVO pileMerchantInfoVO = pileMerchantInfoService.queryMerchantInfoByStationId(stationId); + StationStatusInfo stationStatusInfo = new StationStatusInfo(); + stationStatusInfo.setStationId(stationId); + stationStatusInfo.setOperatorId(Constants.OPERATORID_JIANG_SU); + stationStatusInfo.setStationStatus(50); + String equipmentOwnerID = ThirdPartyPlatformUtils.extractEquipmentOwnerID(pileMerchantInfoVO.getOrganizationCode()); + stationStatusInfo.setEquipmentOwnerId(equipmentOwnerID); + // 根据站点id查询 + List list = pileConnectorInfoService.getConnectorListForLianLian(Long.parseLong(stationId)); + for (ConnectorInfoVO connectorInfoVO : list) { + connectorStatusInfo = new ConnectorStatusInfo(); + String connectorStatus = connectorInfoVO.getConnectorStatus(); + + connectorStatusInfo.setStationId(stationId); + connectorStatusInfo.setConnectorID(connectorInfoVO.getPileConnectorCode()); + connectorStatusInfo.setEquipmentOwnerId(equipmentOwnerID); + connectorStatusInfo.setOperatorId(Constants.OPERATORID_JIANG_SU); + connectorStatusInfo.setEquipmentId(connectorInfoVO.getPileSn()); + connectorStatusInfo.setStatus(Integer.parseInt(connectorStatus)); + + connectorStatusInfos.add(connectorStatusInfo); + } + stationStatusInfo.setConnectorStatusInfos(connectorStatusInfos); + StationStatusInfos.add(stationStatusInfo); + } + // 将 StationStatusInfos 分页 + int pageNum = 1; + int pageSize = 10; + List collect = StationStatusInfos.stream() + .skip((pageNum - 1) * pageSize) + .limit(pageSize) + .collect(Collectors.toList()); + + // int total = StationStatusInfos.size(); + // int pages = PageUtil.totalPage(total, pageSize); + + Map map = new LinkedHashMap<>(); + // map.put("Total", total); + map.put("StationStatusInfos", collect); + + Map resultMap = ThirdPartyPlatformUtils.generateResultMap(map, thirdPartySecretInfoVO); + return resultMap; + } + /** * 推送充电状态 notification_equip_charge_status * 推送充电状态信息 supervise_notification_equip_charge_status diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/util/ThirdPartyPlatformUtils.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/util/ThirdPartyPlatformUtils.java index e5e758927..a2f10fef0 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/util/ThirdPartyPlatformUtils.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/util/ThirdPartyPlatformUtils.java @@ -2,6 +2,8 @@ package com.jsowell.thirdparty.platform.util; import com.alibaba.fastjson2.JSON; import com.google.common.collect.Maps; +import com.jsowell.common.constant.Constants; +import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.ThirdPartyPlatformConfig; import com.jsowell.pile.vo.ThirdPartySecretInfoVO; import org.springframework.stereotype.Component; @@ -68,4 +70,18 @@ public class ThirdPartyPlatformUtils { return null; // 没有找到匹配项 } + /** + * 从给定的组织机构代码中提取设备归属方ID + * @param organizationCode + * @return + */ + public static String extractEquipmentOwnerID(String organizationCode) { + if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) { + String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1); + return equipmentOwnerId; + }else { + return Constants.OPERATORID_JIANG_SU; + } + } + }