update 调试联联接口

This commit is contained in:
Lemon
2023-04-14 16:50:49 +08:00
parent 8c970760c6
commit b5351dc70d
11 changed files with 166 additions and 33 deletions

View File

@@ -78,6 +78,11 @@
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.jsowell</groupId>
<artifactId>jsowell-thirdparty</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@@ -0,0 +1,79 @@
package com.jsowell.lianlian;
import com.alibaba.fastjson2.JSONObject;
import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.response.RestApiResponse;
import com.jsowell.common.util.StringUtils;
import com.jsowell.thirdparty.dto.QueryStationInfoDTO;
import com.jsowell.thirdparty.service.LianLianService;
import com.jsowell.thirdparty.vo.LianLianPageResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 对接联联平台controller
*
* @author JS-ZZA
* @date 2023/4/10 14:58
*/
@Anonymous
@RestController
@RequestMapping("/LianLian")
public class LianLianController extends BaseController {
@Autowired
private LianLianService lianLianService;
/**
* 联联平台查询充电站信息
* http://localhost:8080/LianLian/query_stations_info
* @param dto
* @return
*/
@PostMapping("/query_stations_info")
public RestApiResponse<?> query_stations_info(@RequestBody QueryStationInfoDTO dto) {
logger.info("联联平台查询充电站信息 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response = null;
try {
LianLianPageResponse pageResponse = lianLianService.query_stations_info(dto);
response = new RestApiResponse<>(pageResponse);
}catch (Exception e) {
logger.error("联联平台查询充电站信息 error", e);
response = new RestApiResponse<>(e);
}
logger.info("联联平台查询充电站信息 result:{}", response);
return response;
}
/**
* 查询充电站状态信息
* @param dto
* @return
*/
@PostMapping("/query_station_status")
public RestApiResponse<?> query_station_status(@RequestBody ArrayList<String> StationIDs) {
logger.info("联联平台查询充电站状态信息 params:{}", StationIDs);
RestApiResponse<?> response;
try {
if (CollectionUtils.isEmpty(StationIDs)) {
return null;
}
LianLianPageResponse pageResponse = lianLianService.query_station_status(StationIDs);
response = new RestApiResponse<>(pageResponse);
}catch (Exception e) {
logger.error("联联平台查询充电站状态信息 error", e);
response = new RestApiResponse<>(e);
}
logger.info("联联平台查询充电站状态信息 result:{}", response);
return response;
}
}

View File

@@ -95,6 +95,8 @@ public class PileBasicInfo extends BaseEntity {
@Excel(name = "故障原因") @Excel(name = "故障原因")
private String faultReason; private String faultReason;
private Date createTime;
/** /**
* 删除标识0-正常1-删除) * 删除标识0-正常1-删除)
*/ */
@@ -204,6 +206,19 @@ public class PileBasicInfo extends BaseEntity {
this.secretKey = secretKey; this.secretKey = secretKey;
} }
public static long getSerialVersionUID() {
return serialVersionUID;
}
@Override
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)

View File

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

View File

@@ -223,7 +223,7 @@
<select id="getUniAppConnectorList" resultType="com.jsowell.pile.vo.base.ConnectorInfoVO"> <select id="getUniAppConnectorList" resultType="com.jsowell.pile.vo.base.ConnectorInfoVO">
SELECT SELECT
t1.pile_connector_code as connectorCode, t1.pile_connector_code as pileConnectorCode,
t2.station_id as stationId, t2.station_id as stationId,
t1.STATUS as connectorStatus, t1.STATUS as connectorStatus,
t1.pile_sn, t1.pile_sn,

View File

@@ -370,7 +370,7 @@
</select> </select>
<select id="getStationInfoForLianLian" resultMap="PileStationInfoResult"> <select id="getStationInfoForLianLian" resultMap="PileStationInfoResult">
<include refid="selectPileStationInfoVo"> <include refid="selectPileStationInfoVo"/>
</include> where public_flag = '1'
</select> </select>
</mapper> </mapper>

View File

@@ -1,19 +0,0 @@
package com.jsowell.thirdparty.controller;
import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 对接联联平台controller
*
* @author JS-ZZA
* @date 2023/4/10 14:58
*/
@Anonymous
@RestController
@RequestMapping("/LianLian")
public class LianLianController extends BaseController {
}

View File

@@ -1,6 +1,11 @@
package com.jsowell.thirdparty.dto; package com.jsowell.thirdparty.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/** /**
* 查询站点信息dto * 查询站点信息dto
@@ -9,6 +14,9 @@ import lombok.Data;
* @date 2023/4/8 10:02 * @date 2023/4/8 10:02
*/ */
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class QueryStationInfoDTO { public class QueryStationInfoDTO {
/** /**
* 上次查询时间 * 上次查询时间
@@ -28,4 +36,22 @@ public class QueryStationInfoDTO {
* 不填写默认为 10 * 不填写默认为 10
*/ */
private Integer PageSize; private Integer PageSize;
/**
* 充电站 ID
*/
private String StationID;
/**
* 统计开始时间
* 格式“yyyy-MM-dd”
*/
private String StartTime;
/**
* 统计结束时间
* 格式“yyyy-MM-dd”
*/
private String EndTime;
} }

View File

@@ -29,4 +29,7 @@ public interface LianLianService {
* @return * @return
*/ */
LianLianPageResponse query_station_status(List<String> StationIDs); LianLianPageResponse query_station_status(List<String> StationIDs);
LianLianPageResponse query_station_stats(QueryStationInfoDTO dto);
} }

View File

@@ -1,5 +1,6 @@
package com.jsowell.thirdparty.service.impl; package com.jsowell.thirdparty.service.impl;
import cn.hutool.core.util.PageUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum; import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum;
@@ -26,6 +27,7 @@ import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
@Service @Service
public class LianLianServiceImpl implements LianLianService { public class LianLianServiceImpl implements LianLianService {
@@ -72,8 +74,8 @@ public class LianLianServiceImpl implements LianLianService {
@Override @Override
public LianLianPageResponse query_stations_info(QueryStationInfoDTO dto) { public LianLianPageResponse query_stations_info(QueryStationInfoDTO dto) {
List<StationInfo> resultList = new ArrayList<>(); List<StationInfo> resultList = new ArrayList<>();
int pageNo = dto.getPageNo() == 0 ? 1 : dto.getPageNo(); int pageNo = dto.getPageNo() == null ? 1 : dto.getPageNo();
int pageSize = dto.getPageSize() == 0 ? 10 : dto.getPageSize(); int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize();
PageUtils.startPage(pageNo, pageSize); PageUtils.startPage(pageNo, pageSize);
List<PileStationInfo> stationInfos = pileStationInfoService.getStationInfoForLianLian(); List<PileStationInfo> stationInfos = pileStationInfoService.getStationInfoForLianLian();
@@ -107,10 +109,6 @@ public class LianLianServiceImpl implements LianLianService {
stationInfo.setParkFree(Integer.valueOf(pileStationInfo.getParkFree())); stationInfo.setParkFree(Integer.valueOf(pileStationInfo.getParkFree()));
stationInfo.setPayment(pileStationInfo.getPayment()); stationInfo.setPayment(pileStationInfo.getPayment());
stationInfo.setSupportOrder(Integer.valueOf(pileStationInfo.getSupportOrder())); stationInfo.setSupportOrder(Integer.valueOf(pileStationInfo.getSupportOrder()));
List<EquipmentInfo> pileList = getPileList(pileStationInfo);
stationInfo.setEquipmentInfos(pileList); // 充电设备信息列表
// stationInfo.setParkFeeType(pileStationInfo); // 停车收费类型 // stationInfo.setParkFeeType(pileStationInfo); // 停车收费类型
stationInfo.setToiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag())); stationInfo.setToiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag()));
stationInfo.setStoreFlag(Integer.valueOf(pileStationInfo.getStoreFlag())); stationInfo.setStoreFlag(Integer.valueOf(pileStationInfo.getStoreFlag()));
@@ -121,6 +119,11 @@ public class LianLianServiceImpl implements LianLianService {
stationInfo.setBarrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag())); stationInfo.setBarrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag()));
stationInfo.setParkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag())); stationInfo.setParkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag()));
List<EquipmentInfo> pileList = getPileList(pileStationInfo);
if (CollectionUtils.isNotEmpty(pileList)) {
stationInfo.setEquipmentInfos(pileList); // 充电设备信息列表
}
resultList.add(stationInfo); resultList.add(stationInfo);
} }
@@ -180,9 +183,29 @@ public class LianLianServiceImpl implements LianLianService {
StationStatusInfos.add(stationStatusInfo); StationStatusInfos.add(stationStatusInfo);
} }
// TODO 将 StationStatusInfos 分页
} }
// TODO 将 StationStatusInfos 分页
int pageNum = 1;
int pageSize = 10;
List<StationStatusInfo> collect = StationStatusInfos.stream()
.skip((pageNum - 1) * pageSize)
.limit(pageSize)
.collect(Collectors.toList());
int total = StationStatusInfos.size();
int pages = PageUtil.totalPage(total, pageSize);
LianLianPageResponse response = LianLianPageResponse.builder()
.PageCount(pages)
.PageNo(pageNum)
.list(collect)
.ItemSize(total)
.build();
return response;
}
@Override
public LianLianPageResponse query_station_stats(QueryStationInfoDTO dto) {
return null; return null;
} }
@@ -212,9 +235,10 @@ public class LianLianServiceImpl implements LianLianService {
equipmentInfo.setEquipmentStatus(50); equipmentInfo.setEquipmentStatus(50);
equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower())); equipmentInfo.setEquipmentPower(new BigDecimal(modelInfo.getRatedPower()));
equipmentInfo.setNewNationalStandard(1); equipmentInfo.setNewNationalStandard(1);
equipmentInfo.setVinFlag(1);
List<ConnectorInfo> connectorList = getConnectorList(pileBasicInfo); List<ConnectorInfo> connectorList = getConnectorList(pileBasicInfo);
equipmentInfo.setConnectorInfos(connectorList); equipmentInfo.setConnectorInfos(connectorList);
equipmentInfo.setVinFlag(1);
resultList.add(equipmentInfo); resultList.add(equipmentInfo);
} }

View File

@@ -223,7 +223,7 @@ export default {
required: true, required: true,
min: 16, min: 16,
max: 16, max: 16,
message: "长度必须为16字符(不足长度可后补零)", message: "长度必须为16字符(不足长度可后补零)",
trigger: 'blur' trigger: 'blur'
} }
], ],