mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
update修改字段数据类型
This commit is contained in:
26
jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/dto/SupStationInfoDTO.java
vendored
Normal file
26
jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/dto/SupStationInfoDTO.java
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
package com.jsowell.thirdparty.platform.dto;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.jsowell.pile.thirdparty.EquipmentInfoDTO;
|
||||
import com.jsowell.thirdparty.platform.domain.SupStationInfo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 内蒙古平台站点信息
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public class SupStationInfoDTO extends SupStationInfo {
|
||||
|
||||
@JSONField(name = "EquipmentInfos")
|
||||
private List<EquipmentInfoDTO> equipmentInfosDTO;
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.thirdparty.platform.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
@@ -8,39 +9,33 @@ 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.thirdparty.BusinessInformationExchangeEnum;
|
||||
import com.jsowell.common.enums.lianlian.LianLianPileStatusEnum;
|
||||
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
|
||||
import com.jsowell.common.enums.ykc.BillingTimeTypeEnum;
|
||||
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.enums.ykc.*;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.*;
|
||||
import com.jsowell.pile.domain.*;
|
||||
import com.jsowell.pile.domain.ykcCommond.StartChargingCommand;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.mapper.OrderMonitorDataMapper;
|
||||
import com.jsowell.pile.mapper.PileBasicInfoMapper;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.ConnectorInfo;
|
||||
import com.jsowell.pile.thirdparty.EquipmentInfo;
|
||||
import com.jsowell.pile.thirdparty.*;
|
||||
import com.jsowell.pile.thirdparty.EquipmentInfoDTO;
|
||||
import com.jsowell.pile.thirdparty.dto.ConnectorInfoDTO;
|
||||
import com.jsowell.pile.util.MerchantUtils;
|
||||
import com.jsowell.pile.vo.SupStationStatsVO;
|
||||
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.StationInfoVO;
|
||||
import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.BillingPriceVO;
|
||||
import com.jsowell.pile.vo.web.PileConnectorInfoVO;
|
||||
import com.jsowell.pile.vo.web.PileMerchantInfoVO;
|
||||
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||
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.domain.StationStatusInfo;
|
||||
import com.jsowell.thirdparty.lianlian.vo.*;
|
||||
import com.jsowell.thirdparty.platform.domain.*;
|
||||
import com.jsowell.thirdparty.platform.dto.SupStationInfoDTO;
|
||||
import com.jsowell.thirdparty.platform.factory.ThirdPartyPlatformFactory;
|
||||
import com.jsowell.thirdparty.platform.service.ThirdPartyPlatformService;
|
||||
import com.jsowell.thirdparty.platform.util.Cryptos;
|
||||
@@ -51,19 +46,11 @@ import com.yi.business.geo.GeoCodeInfo;
|
||||
import com.yi.business.geo.TermRelationTreeCoordinate;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.bouncycastle.crypto.CryptoException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.NoSuchProviderException;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -94,11 +81,10 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
@Autowired
|
||||
private PileBillingTemplateService pileBillingTemplateService;
|
||||
|
||||
@Autowired
|
||||
private YKCPushCommandService ykcPushCommandService;
|
||||
|
||||
@Autowired
|
||||
private PileRemoteService pileRemoteService;
|
||||
private PileBasicInfoMapper pileBasicInfoMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ThirdPartyStationRelationService thirdPartyStationRelationService;
|
||||
@@ -221,20 +207,19 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
public Map<String, String> queryStationsInfo(QueryStationInfoDTO dto) {
|
||||
int pageNo = dto.getPageNo() == null ? 1 : dto.getPageNo();
|
||||
int pageSize = dto.getPageSize() == null ? 50 : dto.getPageSize();
|
||||
dto.setThirdPlatformType(thirdPlatformType);
|
||||
dto.setThirdPlatformType("25");
|
||||
PageUtils.startPage(pageNo, pageSize);
|
||||
List<ThirdPartyStationInfoVO> stationInfos = pileStationInfoService.selectStationInfosByThirdParty(dto);
|
||||
if (CollectionUtils.isEmpty(stationInfos)) {
|
||||
// 未查到数据
|
||||
return null;
|
||||
}
|
||||
// ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId());
|
||||
ThirdPartySecretInfoVO thirdPartySecretInfoVO = getSiChuanSecretInfo();
|
||||
ThirdPartySecretInfoVO thirdPartySecretInfoVO = null;
|
||||
|
||||
PageInfo<ThirdPartyStationInfoVO> pageInfo = new PageInfo<>(stationInfos);
|
||||
List<SupStationInfo> resultList = new ArrayList<>();
|
||||
List<SupStationInfoDTO> resultList = new ArrayList<>();
|
||||
for (ThirdPartyStationInfoVO pileStationInfo : pageInfo.getList()) {
|
||||
SupStationInfo stationInfo = new SupStationInfo();
|
||||
SupStationInfoDTO stationInfo = new SupStationInfoDTO();
|
||||
stationInfo.setStationID(String.valueOf(pileStationInfo.getId()));
|
||||
stationInfo.setOperatorID(Constants.OPERATORID_JIANG_SU); // 组织机构代码
|
||||
String organizationCode = pileStationInfo.getOrganizationCode();
|
||||
@@ -275,10 +260,13 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
stationInfo.setCapacity(pileStationInfo.getCapacity().setScale(4, RoundingMode.HALF_UP));
|
||||
}
|
||||
// 获取充电桩设备列表
|
||||
List<EquipmentInfo> pileList = getPileList(pileStationInfo,pileStationInfo.getStationStatus());
|
||||
List<EquipmentInfoDTO> pileList = getPileList(String.valueOf(pileStationInfo.getId()));
|
||||
if (CollectionUtils.isNotEmpty(pileList)) {
|
||||
stationInfo.setEquipmentInfosDTO(pileList); // 充电设备信息列表
|
||||
}
|
||||
// 站点额定总功率
|
||||
BigDecimal stationRatedPower = pileList.stream()
|
||||
.map(EquipmentInfo::getEquipmentPower)
|
||||
.map(EquipmentInfoDTO::getEquipmentPower)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
stationInfo.setRatedPower(stationRatedPower.setScale(4, RoundingMode.HALF_UP));
|
||||
|
||||
@@ -294,9 +282,6 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
if (StringUtils.isNotBlank(pileStationInfo.getPictures())) {
|
||||
stationInfo.setPictures(Lists.newArrayList(pileStationInfo.getPictures().split(",")));
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(pileList)) {
|
||||
stationInfo.setEquipmentInfos(pileList); // 充电设备信息列表
|
||||
}
|
||||
StringBuilder electricityFee = new StringBuilder();
|
||||
StringBuilder serviceFee = new StringBuilder();
|
||||
// 查询计费模板
|
||||
@@ -339,6 +324,7 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
map.put("PageCount", pageInfo.getPages());
|
||||
map.put("PageNo", pageInfo.getPageNum());
|
||||
map.put("StationInfos", resultList);
|
||||
log.info("queryStationsInfo result : " + JSON.toJSONString(map));
|
||||
|
||||
return ThirdPartyPlatformUtils.generateResultMap(map, thirdPartySecretInfoVO);
|
||||
}
|
||||
@@ -366,7 +352,7 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
|
||||
|
||||
// 组装中电联平台所需要的数据格式
|
||||
SupStationInfo info = SupStationInfo.builder()
|
||||
SupStationInfoDTO info = SupStationInfoDTO.builder()
|
||||
.stationID(stationId)
|
||||
.operatorID(Constants.OPERATORID_JIANG_SU)
|
||||
.stationName(pileStationInfo.getStationName())
|
||||
@@ -401,11 +387,11 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
}
|
||||
|
||||
//获取充电桩设备列表
|
||||
List<EquipmentInfo> pileList = getPileList(pileStationInfo,pileStationInfo.getStationStatus());
|
||||
List<EquipmentInfoDTO> pileList = getPileList(String.valueOf(pileStationInfo.getId()));
|
||||
|
||||
// 站点额定总功率
|
||||
BigDecimal stationRatedPower = pileList.stream()
|
||||
.map(EquipmentInfo::getEquipmentPower)
|
||||
.map(EquipmentInfoDTO::getEquipmentPower)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
info.setRatedPower(stationRatedPower.setScale(4, RoundingMode.HALF_UP));
|
||||
info.setPeriodFee(Constants.one);
|
||||
@@ -461,7 +447,7 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(pileList)) {
|
||||
info.setEquipmentInfos(pileList); // 充电设备信息列表
|
||||
info.setEquipmentInfosDTO(pileList); // 充电设备信息列表
|
||||
}
|
||||
stationInfos.add(info);
|
||||
|
||||
@@ -1125,79 +1111,98 @@ public class SiChuanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取桩列表信息
|
||||
*
|
||||
* @param pileStationInfo
|
||||
* @param stationStatus
|
||||
* @return
|
||||
*/
|
||||
private List<EquipmentInfo> getPileList(PileStationInfo pileStationInfo , String stationStatus) {
|
||||
List<EquipmentInfo> resultList = new ArrayList<>();
|
||||
public List<EquipmentInfoDTO> getPileList(String stationId) {
|
||||
List<EquipmentInfoDTO> resultList = new ArrayList<>();
|
||||
// 通过站点id查询桩基本信息
|
||||
List<PileBasicInfo> list = pileBasicInfoService.getPileListByStationId(String.valueOf(pileStationInfo.getId()));
|
||||
// 封装成中电联平台对象
|
||||
for (PileBasicInfo pileBasicInfo : list) {
|
||||
EquipmentInfo equipmentInfo = new EquipmentInfo();
|
||||
String pileSn = pileBasicInfo.getSn();
|
||||
List<PileDetailInfoVO> list = getPileDetailInfoList(stationId);
|
||||
// 封装成联联平台对象
|
||||
for (PileDetailInfoVO pileDetailInfoVO : list) {
|
||||
com.jsowell.pile.thirdparty.EquipmentInfoDTO equipmentInfo = new EquipmentInfoDTO();
|
||||
String pileSn = pileDetailInfoVO.getPileSn();
|
||||
|
||||
equipmentInfo.setEquipmentID(pileSn);
|
||||
equipmentInfo.setEquipmentClassification(Constants.one);
|
||||
PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn);
|
||||
equipmentInfo.setEquipmentType(Integer.parseInt(modelInfo.getSpeedType()));
|
||||
equipmentInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(4, RoundingMode.HALF_UP));
|
||||
equipmentInfo.setEquipmentClassification(1);
|
||||
|
||||
List<ConnectorInfo> connectorList = getConnectorList(pileBasicInfo,stationStatus);
|
||||
if (StringUtils.isBlank(pileDetailInfoVO.getSpeedType())) {
|
||||
continue;
|
||||
}
|
||||
equipmentInfo.setEquipmentType(Integer.valueOf(pileDetailInfoVO.getSpeedType()));
|
||||
equipmentInfo.setEquipmentPower(new BigDecimal(pileDetailInfoVO.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
|
||||
String pileStatus = pileDetailInfoVO.getPileStatus();
|
||||
if (StringUtils.equals(PileStatusEnum.ON_LINE.getValue(), pileStatus)) {
|
||||
// 1-在线
|
||||
pileStatus = LianLianPileStatusEnum.NORMAL.getCode();
|
||||
} else if (StringUtils.equals(PileStatusEnum.OFF_LINE.getValue(), pileStatus)) {
|
||||
// 2-离线
|
||||
pileStatus = LianLianPileStatusEnum.CLOSE_OFFLINE.getCode();
|
||||
} else if (StringUtils.equals(PileStatusEnum.FAULT.getValue(), pileStatus)) {
|
||||
// 3-故障
|
||||
pileStatus = LianLianPileStatusEnum.UNDER_MAINTENANCE.getCode();
|
||||
}
|
||||
|
||||
equipmentInfo.setPower(new BigDecimal(pileDetailInfoVO.getRatedPower()).setScale(4, RoundingMode.HALF_UP));
|
||||
|
||||
// 枪口列表
|
||||
List<ConnectorInfoDTO> connectorList = getConnectorListForLianLian(pileDetailInfoVO);
|
||||
equipmentInfo.setConnectorInfos(connectorList);
|
||||
|
||||
resultList.add(equipmentInfo);
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取枪口列表
|
||||
*
|
||||
* @param pileBasicInfo
|
||||
* @param stationStatus
|
||||
* @return
|
||||
*/
|
||||
private List<ConnectorInfo> getConnectorList(PileBasicInfo pileBasicInfo , String stationStatus) {
|
||||
List<ConnectorInfo> resultList = new ArrayList<>();
|
||||
public List<PileDetailInfoVO> getPileDetailInfoList(String stationId) {
|
||||
List<PileDetailInfoVO> pileDetailInfoList = pileBasicInfoMapper.getPileDetailInfoList(stationId);
|
||||
if (CollectionUtils.isEmpty(pileDetailInfoList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> pileSnList = pileDetailInfoList.stream()
|
||||
.map(PileDetailInfoVO::getPileSn)
|
||||
.collect(Collectors.toList());
|
||||
Map<String, String> pileStatusV2 = pileConnectorInfoService.getPileStatus(pileSnList);
|
||||
pileDetailInfoList.forEach(pileDetailInfoVO -> {
|
||||
String pileSn = pileDetailInfoVO.getPileSn();
|
||||
if (pileStatusV2.containsKey(pileSn)) {
|
||||
pileDetailInfoVO.setPileStatus(pileStatusV2.get(pileSn));
|
||||
}
|
||||
});
|
||||
return pileDetailInfoList;
|
||||
}
|
||||
|
||||
List<PileConnectorInfo> list = pileConnectorInfoService.selectPileConnectorInfoList(pileBasicInfo.getSn());
|
||||
|
||||
public List<ConnectorInfoDTO> getConnectorListForLianLian(PileDetailInfoVO pileDetailInfoVO) {
|
||||
List<ConnectorInfoDTO> resultList = new ArrayList<>();
|
||||
|
||||
List<PileConnectorInfo> list = pileConnectorInfoService.selectPileConnectorInfoList(pileDetailInfoVO.getPileSn());
|
||||
for (PileConnectorInfo pileConnectorInfo : list) {
|
||||
ConnectorInfo connectorInfo = new ConnectorInfo();
|
||||
ConnectorInfoDTO connectorInfo = new ConnectorInfoDTO();
|
||||
|
||||
connectorInfo.setConnectorID(pileConnectorInfo.getPileConnectorCode());
|
||||
connectorInfo.setEquipmentClassification(Constants.one);
|
||||
String pileSn = pileConnectorInfo.getPileSn();
|
||||
PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn);
|
||||
int connectorType = StringUtils.equals("1", modelInfo.getSpeedType()) ? 4 : 3;
|
||||
|
||||
connectorInfo.setEquipmentClassification(1);
|
||||
int connectorType = StringUtils.equals("1", pileDetailInfoVO.getSpeedType()) ? 4 : 3;
|
||||
connectorInfo.setConnectorType(connectorType);
|
||||
// 车位号
|
||||
if (StringUtils.isNotBlank(pileConnectorInfo.getParkNo())) {
|
||||
connectorInfo.setParkNo(pileConnectorInfo.getParkNo());
|
||||
}
|
||||
connectorInfo.setVoltageUpperLimits(Integer.valueOf(modelInfo.getRatedVoltage()));
|
||||
connectorInfo.setVoltageLowerLimits(Integer.valueOf(modelInfo.getRatedVoltage()));
|
||||
connectorInfo.setCurrent(Integer.valueOf(modelInfo.getRatedCurrent()));
|
||||
connectorInfo.setNationalStandard(2);
|
||||
// if (!StringUtils.equals(modelInfo.getConnectorNum(), "1")) {
|
||||
// // 如果不是单枪,则枪口功率需要除以枪口数量
|
||||
// String ratedPowerStr = modelInfo.getRatedPower();
|
||||
// BigDecimal ratedPower = new BigDecimal(ratedPowerStr);
|
||||
// connectorInfo.setPower(ratedPower.divide(new BigDecimal(modelInfo.getConnectorNum()), 1, BigDecimal.ROUND_HALF_UP));
|
||||
// }else {
|
||||
// }
|
||||
connectorInfo.setAuxPower(3);
|
||||
connectorInfo.setOpreateStatus(Integer.valueOf(stationStatus));
|
||||
connectorInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
|
||||
connectorInfo.setVoltageUpperLimits(new BigDecimal(pileDetailInfoVO.getRatedVoltage()).setScale(4, RoundingMode.HALF_UP));
|
||||
connectorInfo.setVoltageLowerLimits(new BigDecimal(pileDetailInfoVO.getRatedVoltage()).setScale(4, RoundingMode.HALF_UP));
|
||||
connectorInfo.setCurrent(new BigDecimal(pileDetailInfoVO.getRatedCurrent()).setScale(4, RoundingMode.HALF_UP));
|
||||
connectorInfo.setPower(new BigDecimal(pileDetailInfoVO.getRatedPower()).setScale(4, RoundingMode.HALF_UP));
|
||||
connectorInfo.setNationalStandard(StringUtils.equals("1", pileDetailInfoVO.getSpeedType()) ? 12 : 11);
|
||||
connectorInfo.setAuxPower(3); // 3-兼容12V和24V
|
||||
connectorInfo.setOperateStatus(50); // 50-正常使用
|
||||
|
||||
/* if (!StringUtils.equals(pileDetailInfoVO.getConnectorNum(), "1")) {
|
||||
// 如果不是单枪,则枪口功率需要除以枪口数量
|
||||
String ratedPowerStr = pileDetailInfoVO.getRatedPower();
|
||||
BigDecimal ratedPower = new BigDecimal(ratedPowerStr);
|
||||
connectorInfo.setPower(ratedPower.divide(new BigDecimal(pileDetailInfoVO.getConnectorNum()), 1, BigDecimal.ROUND_HALF_UP));
|
||||
}else {
|
||||
connectorInfo.setPower(new BigDecimal(pileDetailInfoVO.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
}*/
|
||||
|
||||
resultList.add(connectorInfo);
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user