diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/qinghai/service/QingHaiPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/qinghai/service/QingHaiPlatformServiceImpl.java index 42f574f5a..25cba50dd 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/qinghai/service/QingHaiPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/qinghai/service/QingHaiPlatformServiceImpl.java @@ -19,15 +19,18 @@ import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.*; import com.jsowell.pile.dto.QueryConnectorListDTO; import com.jsowell.pile.dto.QueryEquipChargeStatusDTO; +import com.jsowell.pile.dto.QueryStartChargeDTO; import com.jsowell.pile.dto.QueryStationInfoDTO; import com.jsowell.pile.service.*; import com.jsowell.pile.thirdparty.ZDLEquipmentInfo; import com.jsowell.pile.thirdparty.ZDLStationInfo; import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO; import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO; +import com.jsowell.pile.vo.uniapp.BillingPriceVO; 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.ConnectorStatusInfo; import com.jsowell.thirdparty.lianlian.vo.QueryChargingStatusVO; import com.jsowell.thirdparty.platform.ThirdPartyPlatformService; @@ -77,6 +80,9 @@ public class QingHaiPlatformServiceImpl implements ThirdPartyPlatformService { @Autowired private PileConnectorInfoService pileConnectorInfoService; + @Autowired + private PileBillingTemplateService pileBillingTemplateService; + @Autowired private PileMerchantInfoService pileMerchantInfoService; @@ -320,6 +326,7 @@ public class QingHaiPlatformServiceImpl implements ThirdPartyPlatformService { .ConnectorPowerInfo connectorPowerInfo = null; for (String stationId : stationIds) { BigDecimal stationPower = BigDecimal.ZERO; + supStationPowerInfo = new SupStationPowerInfo(); supStationPowerInfo.setOperatorID(Constants.OPERATORID_JIANG_SU); supStationPowerInfo.setStationId(stationId); @@ -408,6 +415,67 @@ public class QingHaiPlatformServiceImpl implements ThirdPartyPlatformService { } + /** + * 查询业务策略信息结果 query_equip_business_policy + * @param dto 请求启动充电DTO + * @return + */ + @Override + public Map queryEquipBusinessPolicy(QueryStartChargeDTO dto) { + List policyInfoList = new ArrayList<>(); + String pileConnectorCode = dto.getConnectorID(); + ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId()); + if (configInfo == null) { + return null; + } + // 截取桩号 + String pileSn = StringUtils.substring(pileConnectorCode, 0, 14); + // 查询该桩的站点id + PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn); + // 根据桩号查询正在使用的计费模板 + List billingPriceVOList = pileBillingTemplateService.queryBillingPrice(String.valueOf(pileBasicInfo.getStationId())); + + if (CollectionUtils.isEmpty(billingPriceVOList)) { + return null; + } + EquipBusinessPolicyVO.PolicyInfo policyInfo = null; + for (BillingPriceVO billingPriceVO : billingPriceVOList) { + // 将时段开始时间、电费、服务费信息进行封装 + policyInfo = new EquipBusinessPolicyVO.PolicyInfo(); + String startTime = billingPriceVO.getStartTime() + ":00"; // 00:00:00 格式 + // 需要将中间的冒号去掉,改为 000000 格式 + String replace = StringUtils.replace(startTime, ":", ""); + policyInfo.setStartTime(replace); + policyInfo.setElecPrice(new BigDecimal(billingPriceVO.getElectricityPrice()).setScale(4, BigDecimal.ROUND_HALF_UP)); + policyInfo.setServicePrice(new BigDecimal(billingPriceVO.getServicePrice()).setScale(4, BigDecimal.ROUND_HALF_UP)); + + policyInfoList.add(policyInfo); + } + + // 拼装所需要的数据格式 + // EquipBusinessPolicyVO vo = EquipBusinessPolicyVO.builder() + // .equipBizSeq(dto.getEquipBizSeq()) + // .connectorId(dto.getConnectorID()) + // .succStat(0) + // .failReason(0) + // .sumPeriod(policyInfoList.size()) + // .policyInfos(policyInfoList) + // + // .build(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("EquipBizSeq", dto.getEquipBizSeq()); + jsonObject.put("ConnectorID", pileConnectorCode); + jsonObject.put("SuccStat", Constants.zero); + jsonObject.put("FailReason", Constants.zero); + jsonObject.put("SumPeriod", policyInfoList.size()); + jsonObject.put("PolicyInfos", policyInfoList); + + // 加密 + Map resultMap = getResultMap(jsonObject); + return resultMap; + } + + // 获取青海平台配置密钥信息 private ThirdPartyStationRelationVO getQingHaiSettingInfo() { // 通过站点id查询相关配置信息