diff --git a/jsowell-admin/src/main/java/com/jsowell/amap/AMapController.java b/jsowell-admin/src/main/java/com/jsowell/amap/AMapController.java index 958ea20de..85a688fe8 100644 --- a/jsowell-admin/src/main/java/com/jsowell/amap/AMapController.java +++ b/jsowell-admin/src/main/java/com/jsowell/amap/AMapController.java @@ -41,8 +41,8 @@ public class AMapController extends BaseController { // true 验签成功 String bizContent = requestMap.get("biz_content"); GetStationInfoDTO dto = JSON.parseObject(bizContent, GetStationInfoDTO.class); - List stationInfos = aMapService.getStationInfos(dto); - List stationInfosV2 = aMapService.getStationInfosV2(dto); + // List stationInfos = aMapService.getStationInfos(dto); + List stationInfos = aMapService.getStationInfosV2(dto); logger.info("高德拉取充电站静态数据 success"); return result.successResponse(stationInfos); } diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 204d8a5ed..da2a11778 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -40,7 +40,6 @@ import com.jsowell.pile.service.*; import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.OrderListVO; import com.jsowell.pile.vo.web.PileDetailVO; -import com.jsowell.pile.vo.web.PileInfoVO; import com.jsowell.service.MemberService; import com.jsowell.service.OrderService; import com.jsowell.service.PileRemoteService; diff --git a/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java b/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java index ea7c347d5..2495b52da 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java +++ b/jsowell-common/src/main/java/com/jsowell/common/constant/Constants.java @@ -31,6 +31,8 @@ public class Constants { // ftp端口号 public static final int port = 0x15; + public static final String JSOWELL = "举视"; + public static final byte[] updateServerPort = new byte[]{port}; public static final String updateServerUserName = "ftptest"; diff --git a/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java b/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java index a0e457a7f..64cddb7d2 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java +++ b/jsowell-common/src/main/java/com/jsowell/common/core/redis/RedisCache.java @@ -88,6 +88,10 @@ public class RedisCache { }); } + public void multiSave(Map source) { + redisTemplate.opsForValue().multiSet(source); + } + /** * 删除单个对象(异步清除内存) * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileBasicInfoMapper.java index add1c9148..d911d9027 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileBasicInfoMapper.java @@ -2,12 +2,13 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.dto.IndexQueryDTO; -import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; -import com.jsowell.pile.vo.web.IndexGeneralSituationVO; import com.jsowell.pile.dto.QueryPileDTO; import com.jsowell.pile.dto.ReplaceMerchantStationDTO; -import com.jsowell.pile.vo.web.PileDetailVO; +import com.jsowell.pile.vo.base.PileInfoVO; +import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO; +import com.jsowell.pile.vo.web.IndexGeneralSituationVO; +import com.jsowell.pile.vo.web.PileDetailVO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -150,4 +151,6 @@ public interface PileBasicInfoMapper { * @return */ List getPileListByStationId(@Param("stationId") String stationId); + + List queryPileDetailList(@Param("stationIdList") List stationIdList); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileBasicInfoService.java index 991825649..d3d45e80b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileBasicInfoService.java @@ -162,4 +162,6 @@ public interface IPileBasicInfoService { * @return */ List getPileListByStationId(String stationId); + + List queryPileDetailList(List stationIdList); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java index f65a9b9ec..a72604d6c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileBasicInfoServiceImpl.java @@ -653,4 +653,9 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService { } return pileList; } + + @Override + public List queryPileDetailList(List stationIdList) { + return pileBasicInfoMapper.queryPileDetailList(stationIdList); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java index f93c6d7ec..a43c3d2ea 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/PileInfoVO.java @@ -54,4 +54,14 @@ public class PileInfoVO { * 设备名称 */ private String modelName; + + /** + * 类型 + */ + private String speedType; + + /** + * 枪口编号 + */ + private String pileConnectorCode; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/PileDetailVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/PileInfoVO.java similarity index 95% rename from jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/PileDetailVO.java rename to jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/PileInfoVO.java index 438d010ff..4ef5e56ee 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/PileDetailVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/PileInfoVO.java @@ -13,7 +13,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @Builder -public class PileDetailVO { +public class PileInfoVO { /** * 站点id */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileInfoVO.java deleted file mode 100644 index f8c1ba275..000000000 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileInfoVO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.jsowell.pile.vo.web; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class PileInfoVO { - private String pileSn; - private String stationId; - private String merchantId; - private String modelId; -} diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml index 59d70bc5c..41abb4f02 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileBasicInfoMapper.xml @@ -373,4 +373,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from pile_basic_info where station_id = #{stationId,jdbcType=VARCHAR} + + \ No newline at end of file diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java index 6ddea22ae..7f1d2cb9b 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/impl/AMapServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import com.jsowell.common.constant.Constants; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.PageUtils; import com.jsowell.common.util.StringUtils; @@ -15,6 +16,7 @@ import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.dto.amap.GetStationInfoDTO; import com.jsowell.pile.service.*; import com.jsowell.pile.vo.base.ConnectorInfoVO; +import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.BillingPriceVO; import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO; import com.jsowell.pile.vo.web.BillingDetailVO; @@ -430,7 +432,58 @@ public class AMapServiceImpl implements AMapService { */ private Map> getPileListByStationIdList(List stationIdList) { Map> resultMap = Maps.newHashMap(); - // List pileDetailVOS = pileBasicInfoService.selectPileListByStationIds(stationIdList); + List pileInfoVOS = pileBasicInfoService.queryPileDetailList(stationIdList); + if (CollectionUtils.isEmpty(pileInfoVOS)) { + return resultMap; + } + // 根据站点id分组 + Map> stationMap = pileInfoVOS.stream().collect(Collectors.groupingBy(PileInfoVO::getStationId)); + + + // 处理结果集 + List pileList; + AMapEquipmentInfo info; + List connectorInfos; + AMapConnectorInfo connectorInfo; + for (Map.Entry> entry : stationMap.entrySet()) { + String stationId = entry.getKey(); + // 枪口维度的数据 + List pileInfoList = entry.getValue(); + if (CollectionUtils.isEmpty(pileInfoList)) { + continue; + } + pileList = Lists.newArrayList(); + + Map> pileMap = pileInfoList.stream().collect(Collectors.groupingBy(PileInfoVO::getPileSn)); + + info = new AMapEquipmentInfo(); + for (Map.Entry> pile : pileMap.entrySet()) { + String pileSn = pile.getKey(); + List value = pile.getValue(); + PileInfoVO pileInfoVO = value.get(0); + info.setEquipmentID(pileSn); + info.setManufacturerName(Constants.JSOWELL); + info.setEquipmentType(Integer.valueOf(pileInfoVO.getSpeedType())); + info.setPower(new BigDecimal(pileInfoVO.getRatedPower())); + connectorInfos = Lists.newArrayList(); + for (PileInfoVO infoVO : value) { + connectorInfo = new AMapConnectorInfo(); + connectorInfo.setConnectorID(infoVO.getPileConnectorCode()); + Integer connectorType = Integer.parseInt(infoVO.getSpeedType()) == 1 ? 4 : 3; + connectorInfo.setConnectorType(connectorType); + connectorInfo.setPower(new BigDecimal(infoVO.getRatedPower()).setScale(1, RoundingMode.HALF_UP)); + connectorInfo.setCurrent(Integer.parseInt(infoVO.getRatedCurrent())); + connectorInfo.setBrandDesc(Constants.JSOWELL); + connectorInfo.setNationalStandard(2); + connectorInfo.setVoltageLowerLimits(0); + connectorInfo.setVoltageUpperLimits(Integer.parseInt(infoVO.getRatedVoltage())); + connectorInfos.add(connectorInfo); + } + info.setConnectorInfos(connectorInfos); + } + pileList.add(info); + resultMap.put(stationId, pileList); + } return resultMap; }