新增 联联平台获取站点信息接口

This commit is contained in:
Lemon
2023-04-10 14:25:29 +08:00
parent f127f97623
commit f551363858
10 changed files with 105 additions and 27 deletions

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import org.apache.ibatis.annotations.Param;

View File

@@ -143,4 +143,11 @@ public interface PileBasicInfoMapper {
* @return
*/
public List<PersonalPileInfoVO> getPileInfoByMemberId(String memberId);
/**
* 联联平台用通过站点id查询桩列表信息
* @param stationId
* @return
*/
List<PileBasicInfo> getPileListByStationId(@Param("stationId") String stationId);
}

View File

@@ -155,4 +155,11 @@ public interface IPileBasicInfoService {
* @return
*/
List<PersonalPileInfoVO> getPileInfoByMemberId(String memberId);
/**
* 联联平台用通过站点id查询桩列表信息
* @param stationId
* @return
*/
List<PileBasicInfo> getPileListByStationId(String stationId);
}

View File

@@ -91,5 +91,5 @@ public interface IPileStationInfoService {
PileStationVO getStationInfoByPileSn(String pileSn);
List<PileStationInfo> getStationInfoForLianLian(int pageNum, int pageSize);
List<PileStationInfo> getStationInfoForLianLian();
}

View File

@@ -601,4 +601,9 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService {
}
return list;
}
@Override
public List<PileBasicInfo> getPileListByStationId(String stationId) {
return pileBasicInfoMapper.getPileListByStationId(stationId);
}
}

View File

@@ -146,8 +146,8 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService {
}
@Override
public List<PileStationInfo> getStationInfoForLianLian(int pageNum, int pageSize) {
PageUtils.startPage(pageNum, pageSize);
public List<PileStationInfo> getStationInfoForLianLian() {
// PageUtils.startPage(pageNum, pageSize);
return pileStationInfoMapper.getStationInfoForLianLian();
}

View File

@@ -367,4 +367,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
t3.rated_voltage,
t3.speed_type
</select>
<select id="getPileListByStationId" resultType="com.jsowell.pile.domain.PileBasicInfo">
select <include refid="Base_Column_List"/>
from pile_basic_info
where station_id = #{stationId,jdbcType=VARCHAR}
</select>
</mapper>

View File

@@ -15,45 +15,45 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class PileInfo {
public class EquipmentInfo {
/**
* 设备编码 Y
* 设备唯一编码对同一对接平台保证唯一
*/
private String pileSn;
private String EquipmentID;
/**
* 设备生产商组织机构代码 Y
*/
private String organizationCode;
private String ManufacturerID;
/**
* 设备型号 N
* 由设备生厂商定义的设备型号
*/
private String pileModelName;
private String EquipmentModel;
/**
* 设备名称 N
*/
private String pileName;
private String EquipmentName;
/**
* 设备生产日期 N
* YYYY-MM-DD
*/
private String productionDate;
private String ProductionDate;
/**
* 建设时间 Y
* YYYY-MM-DD
*/
private String constructionTime;
private String ConstructionTime;
/**
* 设备类型(1-直流设备2-交流设备3-交直流一体设备) Y
*/
private Integer pileType;
private Integer EquipmentType;
/**
* 设备状态 Y
@@ -63,40 +63,40 @@ public class PileInfo {
* 6维护中
* 50正常使用
*/
private Integer pileStatus;
private Integer EquipmentStatus;
/**
* 额定功率(单位kW) Y
*/
private BigDecimal ratedPower;
private BigDecimal EquipmentPower;
/**
* 新国标(0-1-) Y
* 是否新国标
*/
private Integer newNationalStandard;
private Integer NewNationalStandard;
/**
* 充电设备接口列表 Y
* 该充电设备所有的充电设备接口的信息对象集合
*/
private List<ConnectorInfo> connectorInfos;
private List<ConnectorInfo> ConnectorInfos;
/**
* 充电设备经度 N
* GCJ-02坐标系
*/
private BigDecimal pileLng;
private BigDecimal EquipmentLng;
/**
* 充电设备纬度 N
* GCJ-02坐标系
*/
private BigDecimal pileLat;
private BigDecimal EquipmentLat;
/**
* 是否支持VIN码识别(0-1-) Y
*/
private Integer supportVinIdentify;
private Integer VinFlag;
}

View File

@@ -264,7 +264,7 @@ public class StationInfo {
* 充电设备信息列表 Y
* 该充电站所有充电设备信息对象集合
*/
private List<PileInfo> pileInfos;
private List<EquipmentInfo> equipmentInfos;
/**
* 停车收费类型 Y

View File

@@ -1,9 +1,15 @@
package com.jsowell.thirdparty.service.impl;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.PageUtils;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.service.IPileStationInfoService;
import com.jsowell.pile.service.*;
import com.jsowell.pile.vo.base.MerchantInfoVO;
import com.jsowell.pile.vo.web.PileModelInfoVO;
import com.jsowell.thirdparty.domain.EquipmentInfo;
import com.jsowell.thirdparty.domain.OperatorInfo;
import com.jsowell.thirdparty.domain.StationInfo;
import com.jsowell.thirdparty.dto.QueryStationInfoDTO;
@@ -15,6 +21,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class LianLianServiceImpl implements LianLianService {
@@ -25,6 +32,15 @@ public class LianLianServiceImpl implements LianLianService {
@Autowired
private IPileStationInfoService pileStationInfoService;
@Autowired
private IPileBasicInfoService pileBasicInfoService;
@Autowired
private IPileModelInfoService pileModelInfoService;
@Autowired
private IPileConnectorInfoService pileConnectorInfoService;
@Override
public void pushMerchantInfo(Long merchantId) {
@@ -52,17 +68,18 @@ public class LianLianServiceImpl implements LianLianService {
int pageNo = dto.getPageNo() == 0 ? 1 : dto.getPageNo();
int pageSize = dto.getPageSize() == 0 ? 10 : dto.getPageSize();
List<PileStationInfo> stationInfos = pileStationInfoService.getStationInfoForLianLian(pageNo, pageSize);
PageUtils.startPage(pageNo, pageSize);
List<PileStationInfo> stationInfos = pileStationInfoService.getStationInfoForLianLian();
if (CollectionUtils.isEmpty(stationInfos)) {
// 未查到数据
return null;
}
StationInfo stationInfo = null;
for (PileStationInfo pileStationInfo : stationInfos) {
stationInfo = new StationInfo();
PageInfo<PileStationInfo> pageInfo = new PageInfo<>(stationInfos);
for (PileStationInfo pileStationInfo : pageInfo.getList()) {
StationInfo stationInfo = new StationInfo();
stationInfo.setStationID(String.valueOf(pileStationInfo.getId()));
MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(String.valueOf(pileStationInfo.getMerchantId()));
stationInfo.setOperatorID(merchantInfo.getOrganizationCode()); // 组织构代码
stationInfo.setOperatorID(merchantInfo.getOrganizationCode()); // 组织构代码
stationInfo.setEquipmentOwnerID(String.valueOf(pileStationInfo.getMerchantId()));
stationInfo.setStationName(pileStationInfo.getStationName());
stationInfo.setIsAloneApply(Integer.valueOf(pileStationInfo.getAloneApply()));
@@ -83,7 +100,10 @@ public class LianLianServiceImpl implements LianLianService {
stationInfo.setParkFree(Integer.valueOf(pileStationInfo.getParkFree()));
stationInfo.setPayment(pileStationInfo.getPayment());
stationInfo.setSupportOrder(Integer.valueOf(pileStationInfo.getSupportOrder()));
// stationInfo.setPileInfos(); // 充电设备信息列表
List<EquipmentInfo> pileList = getPileList(pileStationInfo);
stationInfo.setEquipmentInfos(pileList); // 充电设备信息列表
// stationInfo.setParkFeeType(pileStationInfo); // 停车收费类型
stationInfo.setToiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag()));
stationInfo.setStoreFlag(Integer.valueOf(pileStationInfo.getStoreFlag()));
@@ -100,5 +120,37 @@ public class LianLianServiceImpl implements LianLianService {
return resultList;
}
/**
* 获取桩列表信息
* @param pileStationInfo
* @return
*/
private List<EquipmentInfo> getPileList(PileStationInfo pileStationInfo){
List<EquipmentInfo> resultList = new ArrayList<>();
// 通过站点id查询桩基本信息
List<PileBasicInfo> list = pileBasicInfoService.getPileListByStationId(String.valueOf(pileStationInfo.getId()));
MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfo(String.valueOf(pileStationInfo.getMerchantId()));
// 封装成联联平台对象
for (PileBasicInfo pileBasicInfo : list) {
EquipmentInfo equipmentInfo = new EquipmentInfo();
String pileSn = pileBasicInfo.getSn();
equipmentInfo.setEquipmentID(pileSn);
equipmentInfo.setManufacturerID(merchantInfo.getOrganizationCode());
equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, pileBasicInfo.getCreateTime()));
PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn);
equipmentInfo.setEquipmentType(Integer.valueOf(modelInfo.getSpeedType()));
// Map<String, String> pileStatus = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileBasicInfo.getSn()));
equipmentInfo.setEquipmentStatus(50);
equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower()));
equipmentInfo.setNewNationalStandard(1);
// equipmentInfo.setConnectorInfos();
equipmentInfo.setVinFlag(1);
resultList.add(equipmentInfo);
}
return resultList;
}
}