mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-19 18:45:03 +08:00
update 贵州省平台Service
This commit is contained in:
@@ -54,9 +54,10 @@ public class OrderPileOccupyController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('pile:occupy:export')")
|
||||
@Log(title = "占桩订单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, OrderPileOccupy orderPileOccupy) {
|
||||
List<OrderPileOccupy> list = orderPileOccupyService.selectOrderPileOccupyList(orderPileOccupy);
|
||||
ExcelUtil<OrderPileOccupy> util = new ExcelUtil<OrderPileOccupy>(OrderPileOccupy.class);
|
||||
public void export(HttpServletResponse response, OrderPileOccupyDTO dto) {
|
||||
// List<OrderPileOccupy> list = orderPileOccupyService.selectOrderPileOccupyList(orderPileOccupy);
|
||||
List<OccupyOrderVO> list = orderPileOccupyService.getOrderPileOccupyListWithAuth(dto);
|
||||
ExcelUtil<OccupyOrderVO> util = new ExcelUtil<>(OccupyOrderVO.class);
|
||||
util.exportExcel(response, list, "占桩订单数据");
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* 占桩订单DTO
|
||||
*
|
||||
* @author Lemon
|
||||
* @Date 2024/7/15 13:37:04
|
||||
@@ -47,6 +47,11 @@ public class OrderPileOccupyDTO extends BaseEntity {
|
||||
*/
|
||||
private String stationId;
|
||||
|
||||
/**
|
||||
* 站点名称
|
||||
*/
|
||||
private String stationName;
|
||||
|
||||
/**
|
||||
* 车牌号码
|
||||
*/
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.dto.IndexQueryDTO;
|
||||
import com.jsowell.pile.dto.QueryPileDTO;
|
||||
import com.jsowell.pile.dto.ReplaceMerchantStationDTO;
|
||||
import com.jsowell.pile.thirdparty.PileDetailInfoVO;
|
||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.PersonalPileInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.PileConnectorDetailVO;
|
||||
@@ -169,4 +170,11 @@ public interface PileBasicInfoMapper {
|
||||
* @return
|
||||
*/
|
||||
PileBasicInfo getMaxNumPileInfo();
|
||||
|
||||
/**
|
||||
* 获取桩信息详情列表
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
List<PileDetailInfoVO> getPileDetailInfoList(String stationId);
|
||||
}
|
||||
|
||||
@@ -6,10 +6,7 @@ import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
||||
import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.domain.ebike.deviceupload.EBikeMessageCmd20;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.thirdparty.ConnectorInfo;
|
||||
import com.jsowell.pile.thirdparty.EquipmentInfo;
|
||||
import com.jsowell.pile.thirdparty.ZDLConnectorInfo;
|
||||
import com.jsowell.pile.thirdparty.ZDLEquipmentInfo;
|
||||
import com.jsowell.pile.thirdparty.*;
|
||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.GroundLockInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.PersonalPileInfoVO;
|
||||
@@ -252,4 +249,6 @@ public interface PileBasicInfoService {
|
||||
* @param message
|
||||
*/
|
||||
void registrationEBikePile(EBikeMessageCmd20 message);
|
||||
|
||||
List<PileDetailInfoVO> getPileDetailInfoList(String stationId);
|
||||
}
|
||||
|
||||
@@ -24,13 +24,11 @@ import com.jsowell.pile.mapper.PileBasicInfoMapper;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
|
||||
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
|
||||
import com.jsowell.pile.thirdparty.ConnectorInfo;
|
||||
import com.jsowell.pile.thirdparty.EquipmentInfo;
|
||||
import com.jsowell.pile.thirdparty.ZDLConnectorInfo;
|
||||
import com.jsowell.pile.thirdparty.ZDLEquipmentInfo;
|
||||
import com.jsowell.pile.thirdparty.*;
|
||||
import com.jsowell.pile.transaction.dto.PileTransactionDTO;
|
||||
import com.jsowell.pile.transaction.service.TransactionService;
|
||||
import com.jsowell.pile.util.UserUtils;
|
||||
import com.jsowell.pile.vo.base.ConnectorInfoVO;
|
||||
import com.jsowell.pile.vo.base.MerchantInfoVO;
|
||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.GroundLockInfoVO;
|
||||
@@ -1226,48 +1224,49 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService {
|
||||
public List<EquipmentInfo> getPileListForLianLian(String stationId) {
|
||||
List<EquipmentInfo> resultList = new ArrayList<>();
|
||||
// 通过站点id查询桩基本信息
|
||||
List<PileBasicInfo> list = this.getPileListByStationId(stationId);
|
||||
// List<PileBasicInfo> list = this.getPileListByStationId(stationId);
|
||||
List<PileDetailInfoVO> list = getPileDetailInfoList(stationId);
|
||||
// 封装成联联平台对象
|
||||
for (PileBasicInfo pileBasicInfo : list) {
|
||||
for (PileDetailInfoVO pileDetailInfoVO : list) {
|
||||
EquipmentInfo equipmentInfo = new EquipmentInfo();
|
||||
String pileSn = pileBasicInfo.getSn();
|
||||
String pileSn = pileDetailInfoVO.getPileSn();
|
||||
|
||||
equipmentInfo.setEquipmentID(pileSn);
|
||||
equipmentInfo.setEquipmentClassification(1);
|
||||
equipmentInfo.setManufacturerID(Constants.OPERATORID_LIANLIAN);
|
||||
equipmentInfo.setManufacturerName(Constants.MANUFACTURER_NAME);
|
||||
equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileBasicInfo.getCreateTime()));
|
||||
equipmentInfo.setProductionDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileBasicInfo.getCreateTime()));
|
||||
equipmentInfo.setConstructionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileDetailInfoVO.getCreateTime()));
|
||||
equipmentInfo.setProductionDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, pileDetailInfoVO.getCreateTime()));
|
||||
|
||||
PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn);
|
||||
if (StringUtils.isBlank(modelInfo.getSpeedType())) {
|
||||
// PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileSn);
|
||||
if (StringUtils.isBlank(pileDetailInfoVO.getSpeedType())) {
|
||||
continue;
|
||||
}
|
||||
equipmentInfo.setEquipmentType(Integer.valueOf(modelInfo.getSpeedType()));
|
||||
equipmentInfo.setEquipmentModel(modelInfo.getModelName());
|
||||
equipmentInfo.setEquipmentType(Integer.valueOf(pileDetailInfoVO.getSpeedType()));
|
||||
equipmentInfo.setEquipmentModel(pileDetailInfoVO.getModelName());
|
||||
|
||||
// Map<String, String> pileStatus = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileBasicInfo.getSn()));
|
||||
Map<String, String> pileStatusMap = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileSn));
|
||||
String pileStatus = pileStatusMap.get(pileSn);
|
||||
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.setEquipmentStatus(Integer.valueOf(pileStatus));
|
||||
equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
// Map<String, String> pileStatusMap = pileConnectorInfoService.getPileStatus(Lists.newArrayList(pileSn));
|
||||
// String pileStatus = pileStatusMap.get(pileSn);
|
||||
// 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.setEquipmentStatus(Integer.valueOf(pileDetailInfoVO.getPileStatus()));
|
||||
equipmentInfo.setEquipmentPower(new BigDecimal(pileDetailInfoVO.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
equipmentInfo.setNewNationalStandard(1);
|
||||
equipmentInfo.setVinFlag(1);
|
||||
equipmentInfo.setEquipmentName(pileSn);
|
||||
equipmentInfo.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
equipmentInfo.setPower(new BigDecimal(pileDetailInfoVO.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||
|
||||
// 枪口列表
|
||||
List<ConnectorInfo> connectorList = getConnectorListForLianLian(pileSn);
|
||||
List<ConnectorInfo> connectorList = getConnectorListForLianLian(pileDetailInfoVO);
|
||||
equipmentInfo.setConnectorInfos(connectorList);
|
||||
|
||||
resultList.add(equipmentInfo);
|
||||
@@ -1276,6 +1275,25 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取枪口列表
|
||||
*
|
||||
@@ -1357,6 +1375,43 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
public List<ConnectorInfo> getConnectorListForLianLian(PileDetailInfoVO pileDetailInfoVO) {
|
||||
List<ConnectorInfo> resultList = new ArrayList<>();
|
||||
|
||||
List<PileConnectorInfo> list = pileConnectorInfoService.selectPileConnectorInfoList(pileDetailInfoVO.getPileSn());
|
||||
for (PileConnectorInfo pileConnectorInfo : list) {
|
||||
ConnectorInfo connectorInfo = new ConnectorInfo();
|
||||
connectorInfo.setConnectorID(pileConnectorInfo.getPileConnectorCode());
|
||||
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(pileDetailInfoVO.getRatedVoltage()));
|
||||
connectorInfo.setEquipmentClassification(1);
|
||||
connectorInfo.setVoltageLowerLimits(Integer.valueOf(pileDetailInfoVO.getRatedVoltage()));
|
||||
connectorInfo.setCurrent(Integer.valueOf(pileDetailInfoVO.getRatedCurrent()));
|
||||
connectorInfo.setConnectorName(pileConnectorInfo.getPileConnectorCode());
|
||||
connectorInfo.setOperateStatus(50); // 50-正常使用
|
||||
connectorInfo.setOpreateStatus(50); // 50-正常使用
|
||||
connectorInfo.setNationalStandard(2); // 2-2015
|
||||
connectorInfo.setAuxPower(3); // 3-兼容12V和24V
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ZDLEquipmentInfo> getPileListForZDL(String stationId) {
|
||||
List<ZDLEquipmentInfo> resultList = new ArrayList<>();
|
||||
|
||||
33
jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/PileDetailInfoVO.java
vendored
Normal file
33
jsowell-pile/src/main/java/com/jsowell/pile/thirdparty/PileDetailInfoVO.java
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.jsowell.pile.thirdparty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 第三方平台桩信息VO
|
||||
*
|
||||
* @author Lemon
|
||||
* @Date 2024/12/19 14:41:52
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class PileDetailInfoVO {
|
||||
|
||||
private String pileSn;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
private String speedType;
|
||||
private String modelName;
|
||||
private String ratedPower;
|
||||
private String ratedVoltage;
|
||||
private String ratedCurrent;
|
||||
private String connectorNum;
|
||||
private String pileStatus;
|
||||
}
|
||||
@@ -1015,6 +1015,7 @@
|
||||
<if test="dto.occupyCode != null and dto.occupyCode != ''"> and t1.occupy_code = #{dto.occupyCode}</if>
|
||||
<if test="dto.memberId != null and dto.memberId != ''"> and t1.member_id = #{dto.memberId}</if>
|
||||
<if test="dto.stationId != null and dto.stationId != ''"> and t1.station_id = #{dto.stationId}</if>
|
||||
<if test="dto.stationName != null and dto.stationName != ''"> and t2.station_name = #{dto.stationName}</if>
|
||||
<if test="dto.plateNumber != null and dto.plateNumber != ''"> and t1.plate_number = #{dto.plateNumber}</if>
|
||||
<if test="dto.status != null and dto.status != ''"> and t1.status = #{dto.status}</if>
|
||||
<if test="dto.payStatus != null and dto.payStatus != ''"> and t1.pay_status = #{dto.payStatus}</if>
|
||||
|
||||
@@ -456,4 +456,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
t1.del_flag = '0'
|
||||
and t1.sn = #{pileSn,jdbcType=VARCHAR}
|
||||
</select>
|
||||
|
||||
<select id="getPileDetailInfoList" resultType="com.jsowell.pile.thirdparty.PileDetailInfoVO">
|
||||
SELECT
|
||||
t1.sn AS pileSn,
|
||||
t1.model_id AS modelId,
|
||||
t2.model_name AS modelName,
|
||||
t2.rated_power AS ratedPower,
|
||||
t2.rated_voltage as ratedVoltage,
|
||||
t2.rated_current as ratedCurrent,
|
||||
t2.connector_num as connectorNum,
|
||||
t2.speed_type AS speedType,
|
||||
t1.create_time AS createTime
|
||||
FROM
|
||||
pile_basic_info t1
|
||||
JOIN pile_model_info t2 ON t1.model_id = t2.id
|
||||
WHERE
|
||||
t1.station_id = #{stationId,jdbcType=VARCHAR}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -222,9 +222,10 @@ public class GuiZhouPlatformServiceImpl 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);
|
||||
|
||||
PageUtils.startPage(pageNo, pageSize);
|
||||
List<ThirdPartyStationInfoVO> stationInfos = pileStationInfoService.getStationInfosByThirdParty(dto);
|
||||
List<ThirdPartyStationInfoVO> stationInfos = pileStationInfoService.selectStationInfosByThirdParty(dto);
|
||||
if (CollectionUtils.isEmpty(stationInfos)) {
|
||||
// 未查到数据
|
||||
return null;
|
||||
@@ -291,6 +292,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
String areaCodeCountryside = "123456789101";
|
||||
info.setAreaCodeCountryside(areaCodeCountryside);
|
||||
}
|
||||
info.setAreaCodeCountryside("123456789101");
|
||||
resultList.add(info);
|
||||
}
|
||||
|
||||
@@ -299,6 +301,7 @@ public class GuiZhouPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
map.put("PageCount", pageInfo.getPages());
|
||||
map.put("ItemSize", pageInfo.getTotal());
|
||||
map.put("StationInfos", resultList);
|
||||
logger.info("贵州省平台查询站点信息 resultData:{}", JSON.toJSONString(map));
|
||||
Map<String, String> resultMap = ThirdPartyPlatformUtils.generateResultMapV2(map, thirdPartySecretInfoVO.getOurDataSecret(),
|
||||
thirdPartySecretInfoVO.getOurDataSecretIv(), thirdPartySecretInfoVO.getTheirSigSecret());
|
||||
return resultMap;
|
||||
|
||||
@@ -14,6 +14,14 @@
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="站点名称" prop="stationName">
|
||||
<el-input
|
||||
v-model="queryParams.stationName"
|
||||
placeholder="请输入站点名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="充电站id" prop="stationId">-->
|
||||
<!-- <el-input v-model="queryParams.stationId" placeholder="请输入充电站id" clearable @keyup.enter.native="handleQuery" />-->
|
||||
<!-- </el-form-item>-->
|
||||
@@ -228,6 +236,7 @@ export default {
|
||||
status: null,
|
||||
memberId: null,
|
||||
stationId: null,
|
||||
stationName: null,
|
||||
orderCode: null,
|
||||
transactionCode: null,
|
||||
startTime: null,
|
||||
|
||||
Reference in New Issue
Block a user