From cbe0ff7d87db9ef459d1de66476e99f015db87b3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 18 Jan 2022 16:09:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E5=B1=8B=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisKeys.java | 4 +++ .../com/epmet/dto/result/HouseInfoDTO.java | 5 +++ .../main/java/com/epmet/dao/IcHouseDao.java | 2 ++ .../java/com/epmet/redis/IcHouseRedis.java | 35 +++++++++++++++++++ .../epmet/service/impl/HouseServiceImpl.java | 10 +++++- .../src/main/resources/mapper/IcHouseDao.xml | 24 +++++++++++++ 6 files changed, 79 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index f3c669d7cd..1390ed7a3a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -636,4 +636,8 @@ public class RedisKeys { public static String getOrgTreeCacheKey(String agencyId) { return rootPrefix.concat("org:temp:orgtree").concat(agencyId); } + + public static String getHouseInfoCacheKey(String houseId){ + return rootPrefix.concat("house:").concat(houseId); + } } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java index 853558739b..312befe6ca 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java @@ -71,4 +71,9 @@ public class HouseInfoDTO implements Serializable { * 楼的纬度 */ private String buildingLatitude; + + /** + * 小区名+楼栋名+单元名+房屋名 + */ + private String allName; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index 93c5af18e5..a394aaaef5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -59,6 +59,8 @@ public interface IcHouseDao extends BaseDao { List queryHouseInfo(@Param("houseIdList") Set houseIdList); + HouseInfoDTO queryHouseInfoByHouseId(@Param("houseId") String houseId); + /** * @Description 查询房屋信息 * @param idCard diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java index 9159c6eb88..f5b7b8639b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java @@ -17,9 +17,17 @@ package com.epmet.redis; +import cn.hutool.core.bean.BeanUtil; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IcHouseDao; +import com.epmet.dto.result.HouseInfoDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.Map; /** * 房屋信息 @@ -32,6 +40,9 @@ public class IcHouseRedis { @Autowired private RedisUtils redisUtils; + @Autowired + private IcHouseDao icHouseDao; + public void delete(Object[] ids) { } @@ -44,4 +55,28 @@ public class IcHouseRedis { return null; } + /** + * @Description 往缓存放房屋信息 + * @param houseId + * @param map + * @author zxc + * @date 2022/1/18 3:55 下午 + */ + public void setHouseInfo(String houseId, Map map){ + String key = RedisKeys.getHouseInfoCacheKey(houseId); + redisUtils.hMSet(key, map); + } + + public HouseInfoDTO getHouseInfo(String houseId){ + String key = RedisKeys.getHouseInfoCacheKey(houseId); + Map map = redisUtils.hGetAll(key); + if (!CollectionUtils.isEmpty(map)){ + return ConvertUtils.mapToEntity(map,HouseInfoDTO.class); + } + HouseInfoDTO houseInfo = icHouseDao.queryHouseInfoByHouseId(houseId); + Map result = BeanUtil.beanToMap(houseInfo, false, true); + setHouseInfo(houseId,result); + return houseInfo; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 90a46acfc0..551cd9a82f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.service.impl; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.tools.constant.NumConstant; @@ -31,6 +32,7 @@ import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseTypeEnums; import com.epmet.excel.IcHouseExcel; import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.redis.IcHouseRedis; import com.epmet.service.HouseService; import com.epmet.service.IcBuildingService; import com.epmet.service.IcBuildingUnitService; @@ -69,6 +71,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { private IcHouseDao icHouseDao; @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Autowired + private IcHouseRedis icHouseRedis; @Override @Transactional(rollbackFor = Exception.class) @@ -313,6 +317,10 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { if(org.apache.commons.collections4.CollectionUtils.isEmpty(houseIdList)){ return new ArrayList<>(); } - return icHouseDao.queryHouseInfo(houseIdList); + List result = new ArrayList<>(); + houseIdList.forEach(h -> { + result.add(icHouseRedis.getHouseInfo(h)); + }); + return result; } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index b5a8b72a25..900d34ba66 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -300,4 +300,28 @@ and ih.id !=#{houseId} +