diff --git a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java index fafb49d8c..0fccd4d87 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java +++ b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java @@ -23,6 +23,8 @@ public class CacheConstants { public static final int cache_expire_time_1d = 60 * 60 * 24; + public static final String GET_PILE_MODEL_INFO_BY_MODEL_ID = "get_pile_model_info_by_model_id:"; + public static final String QUERY_BILLING_DETAIL_BY_ID = "query_billing_detail_by_id:"; // diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileModelInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileModelInfoMapper.java index 1b9d4944d..8c7189f49 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileModelInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileModelInfoMapper.java @@ -70,4 +70,6 @@ public interface PileModelInfoMapper { * @return PileModelInfo对象 */ List getPileModelInfoByPileSnList(@Param("pileSnList") List pileSns); + + PileModelInfoVO getPileModelInfoByModelId(@Param("modelId") Long modelId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileModelInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileModelInfoService.java index fbfc7c220..b397ae7d1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileModelInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileModelInfoService.java @@ -69,4 +69,6 @@ public interface IPileModelInfoService { List getPileModelInfoByPileSnList(List pileSns); PileModelInfoVO getPileModelInfoByPileSn(String pileSn); + + PileModelInfoVO getPileModelInfoByModelId(Long modelId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileModelInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileModelInfoServiceImpl.java index 51a4d4a1f..7d20b3bca 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileModelInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileModelInfoServiceImpl.java @@ -1,6 +1,8 @@ package com.jsowell.pile.service.impl; import com.google.common.collect.Lists; +import com.jsowell.common.constant.CacheConstants; +import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.util.DateUtils; import com.jsowell.pile.domain.PileModelInfo; import com.jsowell.pile.mapper.PileModelInfoMapper; @@ -11,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; /** * 充电桩型号信息Service业务层处理 @@ -23,6 +26,9 @@ public class PileModelInfoServiceImpl implements IPileModelInfoService { @Autowired private PileModelInfoMapper pileModelInfoMapper; + @Autowired + private RedisCache redisCache; + /** * 查询充电桩型号信息 * @@ -66,6 +72,7 @@ public class PileModelInfoServiceImpl implements IPileModelInfoService { @Override public int updatePileModelInfo(PileModelInfo pileModelInfo) { pileModelInfo.setUpdateTime(DateUtils.getNowDate()); + cleanCache(new Long[]{pileModelInfo.getId()}); return pileModelInfoMapper.updatePileModelInfo(pileModelInfo); } @@ -77,6 +84,7 @@ public class PileModelInfoServiceImpl implements IPileModelInfoService { */ @Override public int deletePileModelInfoByIds(Long[] ids) { + cleanCache(ids); return pileModelInfoMapper.deletePileModelInfoByIds(ids); } @@ -88,6 +96,7 @@ public class PileModelInfoServiceImpl implements IPileModelInfoService { */ @Override public int deletePileModelInfoById(Long id) { + cleanCache(new Long[]{id}); return pileModelInfoMapper.deletePileModelInfoById(id); } @@ -110,4 +119,25 @@ public class PileModelInfoServiceImpl implements IPileModelInfoService { } return null; } + + @Override + public PileModelInfoVO getPileModelInfoByModelId(Long modelId) { + String redisKey = CacheConstants.GET_PILE_MODEL_INFO_BY_MODEL_ID + modelId; + PileModelInfoVO modelInfoVO = redisCache.getCacheObject(redisKey); + if (Objects.isNull(modelInfoVO)) { + modelInfoVO = pileModelInfoMapper.getPileModelInfoByModelId(modelId); + if (Objects.nonNull(modelInfoVO)) { + redisCache.setCacheObject(redisKey, modelInfoVO, CacheConstants.cache_expire_time_1d); + } + } + return modelInfoVO; + } + + private void cleanCache(Long[] modelIds) { + List redisKeyList = Lists.newArrayList(); + for (Long modelId : modelIds) { + redisKeyList.add(CacheConstants.GET_PILE_MODEL_INFO_BY_MODEL_ID + modelId); + } + redisCache.deleteObject(redisKeyList); + } } diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileModelInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileModelInfoMapper.xml index 03084b571..50dfdcda2 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileModelInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileModelInfoMapper.xml @@ -143,5 +143,25 @@ - + \ 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 cf6d7a808..f87e6d6e4 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 @@ -293,10 +293,11 @@ public class AMapServiceImpl implements AMapService { info.setEquipmentID(pileBasicInfo.getSn()); info.setManufacturerName("举视"); // 查询型号 - PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileBasicInfo.getSn()); + // PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByPileSn(pileBasicInfo.getSn()); + PileModelInfoVO modelInfo = pileModelInfoService.getPileModelInfoByModelId(pileBasicInfo.getModelId()); info.setEquipmentType(Integer.parseInt(modelInfo.getSpeedType())); - info.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, BigDecimal.ROUND_HALF_UP)); + info.setPower(new BigDecimal(modelInfo.getRatedPower()).setScale(1, RoundingMode.HALF_UP)); List aMapConnectorInfos = getConnectorListBySN(pileBasicInfo.getSn());