diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java index a7b6bff903..75eab372eb 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java @@ -8,6 +8,8 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -16,6 +18,8 @@ import com.epmet.commons.tools.dto.result.DictListResultDTO; import com.epmet.commons.tools.dto.result.DictTreeResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.TreeUtils; import com.epmet.dao.SysDictDataDao; @@ -23,6 +27,7 @@ import com.epmet.dto.SysDictDataDTO; import com.epmet.entity.SysDictDataEntity; import com.epmet.service.SysDictDataService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,6 +44,9 @@ import java.util.stream.Collectors; @Service public class SysDictDataServiceImpl extends BaseServiceImpl implements SysDictDataService { + @Autowired + private RedisUtils redisUtils; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -102,17 +110,26 @@ public class SysDictDataServiceImpl extends BaseServiceImpl getNineSmallPlacesOption() { + String cacheKey = RedisKeys.getNineSmallPlacesOptions(); + List cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference>(){}); + if (cachedDatas != null) { + return cachedDatas; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000001L); wrapper.orderByAsc(SysDictDataEntity::getSort); List list = baseDao.selectList(wrapper); - return list.stream().map(item -> { + List datas = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getDictValue()); dto.setLabel(item.getDictLabel()); dto.setSysDictDataId(item.getId().toString()); return dto; }).collect(Collectors.toList()); + + redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10); + return datas; } /** @@ -125,16 +142,25 @@ public class SysDictDataServiceImpl extends BaseServiceImpl getEducationOption() { + String cacheKey = RedisKeys.getEducationOptions(); + List cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference>(){}); + if (cachedDatas != null) { + return cachedDatas; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000002L); wrapper.orderByAsc(SysDictDataEntity::getSort); List list = baseDao.selectList(wrapper); - return list.stream().map(item -> { + List datas = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getDictValue()); dto.setLabel(item.getDictLabel()); return dto; }).collect(Collectors.toList()); + + redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10); + return datas; } /** @@ -147,16 +173,25 @@ public class SysDictDataServiceImpl extends BaseServiceImpl getNationOption() { + String cacheKey = RedisKeys.getEducationOptions(); + List cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference>(){}); + if (cachedDatas != null) { + return cachedDatas; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000003L); wrapper.orderByAsc(SysDictDataEntity::getSort); List list = baseDao.selectList(wrapper); - return list.stream().map(item -> { + List datas = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getDictValue()); dto.setLabel(item.getDictLabel()); return dto; }).collect(Collectors.toList()); + + redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10); + return datas; } /** @@ -169,16 +204,25 @@ public class SysDictDataServiceImpl extends BaseServiceImpl getRelationshipOption() { + String cacheKey = RedisKeys.getRelationshipOptions(); + List cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference>(){}); + if (cachedDatas != null) { + return cachedDatas; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000004L); wrapper.orderByAsc(SysDictDataEntity::getSort); List list = baseDao.selectList(wrapper); - return list.stream().map(item -> { + List datas = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getDictValue()); dto.setLabel(item.getDictLabel()); return dto; }).collect(Collectors.toList()); + + redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10); + return datas; } /** @@ -191,16 +235,26 @@ public class SysDictDataServiceImpl extends BaseServiceImpl getHouseOption() { + + String cacheKey = RedisKeys.getHouseOptions(); + List cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference>(){}); + if (cachedDatas != null) { + return cachedDatas; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000005L); wrapper.orderByAsc(SysDictDataEntity::getSort); List list = baseDao.selectList(wrapper); - return list.stream().map(item -> { + List datas = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getDictValue()); dto.setLabel(item.getDictLabel()); return dto; }).collect(Collectors.toList()); + + redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10); + return datas; } /** 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 63f27f195b..2f57333c45 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 @@ -922,4 +922,133 @@ public class RedisKeys { public static String getOperExamineResourceUrls() { return rootPrefix.concat("oper:access:examineresources"); } + + /** + * 查询某个组织下的直属网格options + * @author wxz + * @date 2022/11/10 下午9:19 + * @param agencyId + * @return String + */ + public static String getGridOptionsKey(String agencyId) { + return rootPrefix.concat("icform:options:grids:" + agencyId); + } + + /** + * 查询某个小区下的楼栋列表 + * @author wxz + * @date 2022/11/10 下午9:42 + * @param neighborHoodId + * @return String + */ + public static String getBuildingOptionsKey(String neighborHoodId) { + return rootPrefix.concat("icform:options:buildings:" + neighborHoodId); + } + + /** + * 查询某个楼栋下的单元 + * @author wxz + * @date 2022/11/10 下午9:50 + * @param buildingId + * @return String + */ + public static String getUnitOptionsKey(String buildingId) { + return rootPrefix.concat("icform:options:units:" + buildingId); + } + + /** + * 房屋options选项 + * @author wxz + * @date 2022/11/10 下午10:00 + * @param buildingId + * @param unitId + * @return String + */ + public static String getHouseOptionsKey(String buildingId, String unitId) { + StringBuilder sb = new StringBuilder(rootPrefix.concat("icform:options:houses")); + if (StringUtils.isNotBlank(buildingId)) { + sb.append(":").append(buildingId); + } + + if (StringUtils.isNotBlank(unitId)) { + sb.append(":").append(unitId); + } + + return sb.toString(); + } + + /** + * 党支部options + * @author wxz + * @date 2022/11/10 下午10:52 + * @param gridId + * @return String + */ + public static String getBranchOptionsKey(String gridId) { + return rootPrefix.concat("icform:options:branches:" + gridId); + } + + /** + * 小区options + * @author wxz + * @date 2022/11/10 下午11:00 + * @param agencyId + * @param gridId + * @return String + */ + public static String getNeighborhoodOptions(String agencyId, String gridId) { + StringBuilder sb = new StringBuilder(rootPrefix.concat("icform:options:neighborhoods:")); + if (StringUtils.isNotBlank(agencyId)) { + sb.append(agencyId); + } + if (StringUtils.isNotBlank(gridId)) { + sb.append(gridId); + } + + return sb.toString(); + } + + /** + * 文化程度 + * @author wxz + * @date 2022/11/10 下午11:04 + + * @return String + */ + public static String getEducationOptions() { + return rootPrefix.concat("icform:options:education"); + } + + /** + * 住房性质 + * @author wxz + * @date 2022/11/10 下午11:07 + + * @return String + */ + public static String getHouseOptions() { + return rootPrefix.concat("icform:options:housetype"); + } + + /** + * 9小场所 + * @author wxz + * @date 2022/11/10 下午11:10 + + * @return String + */ + public static String getNineSmallPlacesOptions() { + return rootPrefix.concat("icform:options:ninesmallplaces"); + } + + /** + * 人员关系 + * @author wxz + * @date 2022/11/10 下午11:12 + + * @return String + */ + public static String getRelationshipOptions() { + return rootPrefix.concat("icform:options:relationship"); + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index 311830ae9f..39a01db85f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -10,6 +10,7 @@ package com.epmet.commons.tools.redis; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; @@ -482,4 +483,20 @@ public class RedisUtils { redisTemplate.delete(keys); } } + + /** + * hash查询并且转化为对象 + * @author wxz + * @date 2022/11/10 下午8:57 + * @param key + * @param targetClass + * @return T + */ + public T hGetAllAndConvertToBean(String key, Class targetClass) { + Map map = hGetAll(key); + if (map != null && map.size() > 0) { + return ConvertUtils.sourceToTarget(map, targetClass); + } + return null; + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index df84bed116..dd1f8866fd 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.impl; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -939,6 +940,15 @@ public class CustomerGridServiceImpl extends BaseServiceImpl cachedDatas = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference>() {}); + if (cachedDatas != null) { + return cachedDatas; + } + + // 再查db LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CustomerGridEntity::getPid, agencyId); wrapper.last("ORDER BY sort,CONVERT ( GRID_NAME USING gbk ) desc"); @@ -946,13 +956,17 @@ public class CustomerGridServiceImpl extends BaseServiceImpl { + List grids = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setLabel(item.getGridName()); dto.setValue(item.getId()); dto.setPid(item.getPid()); return dto; }).collect(Collectors.toList()); + + //加入缓存(10秒有效期),并且返回数据 + redisUtils.setString(cachedKey, JSON.toJSONString(grids), 10); + return grids; } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java index 577e77c787..b08b903120 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java @@ -17,6 +17,8 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -24,6 +26,8 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcBuildingDao; @@ -35,6 +39,7 @@ import com.epmet.service.IcBuildingService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +59,8 @@ import java.util.stream.Collectors; @Service public class IcBuildingServiceImpl extends BaseServiceImpl implements IcBuildingService { + @Autowired + private RedisUtils redisUtils; @Override public PageData page(Map params) { @@ -121,6 +128,16 @@ public class IcBuildingServiceImpl extends BaseServiceImpl cachedBuildings = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference>() { + }); + if (cachedBuildings != null) { + // 即便是查询到了[]空列表,也要返回,说明该小区下没有漏洞 + return cachedBuildings; + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(IcBuildingEntity::getNeighborHoodId, neighborHoodId); wrapper.last("ORDER BY SORT ASC, BUILDING_NAME+0 ASC"); @@ -128,12 +145,19 @@ public class IcBuildingServiceImpl extends BaseServiceImpl { + List gridsFromDb = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getId()); dto.setLabel(item.getBuildingName()); return dto; }).collect(Collectors.toList()); + + if (gridsFromDb != null) { + // 设置缓存 + redisUtils.setString(cachedKey, JSON.toJSONString(gridsFromDb), 10); + } + + return gridsFromDb; } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java index 6b55f20cfd..1c52252802 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java @@ -17,6 +17,8 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -24,6 +26,8 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcBuildingUnitDao; @@ -35,6 +39,7 @@ import com.epmet.service.IcBuildingUnitService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +59,8 @@ import java.util.stream.Collectors; @Service public class IcBuildingUnitServiceImpl extends BaseServiceImpl implements IcBuildingUnitService { + @Autowired + private RedisUtils redisUtils; @Override public PageData page(Map params) { @@ -121,6 +128,17 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl cachedUnits = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference>() { + }); + + if (cachedUnits != null) { + return cachedUnits; + } + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(IcBuildingUnitEntity::getBuildingId, buildingId); wrapper.last("ORDER BY CONVERT ( UNIT_NAME USING gbk ) ASC"); @@ -128,13 +146,19 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl { + List units = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getId()); dto.setCode(item.getUnitNum()); dto.setLabel(item.getUnitName()); return dto; }).collect(Collectors.toList()); + + if (units != null) { + redisUtils.setString(cachedKey, JSON.toJSONString(units), 10); + } + + return units; } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 943d6f9eee..b0cb25ce3e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -1,5 +1,7 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -11,6 +13,8 @@ import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.CustomerResiUserRedis; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; @@ -84,6 +88,8 @@ public class IcHouseServiceImpl extends BaseServiceImpl cachedHouses = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference>() { + }); + + if (cachedHouses != null) { + return cachedHouses; + } + + // 查db LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(formDTO.getBuildingId()), IcHouseEntity::getBuildingId, formDTO.getBuildingId()); wrapper.eq(StringUtils.isNotBlank(formDTO.getUnitId()), IcHouseEntity::getBuildingUnitId, formDTO.getUnitId()); @@ -142,13 +159,19 @@ public class IcHouseServiceImpl extends BaseServiceImpl { + List houses = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getId()); dto.setLabel(item.getDoorName()); dto.setType(item.getRentFlag().toString()); return dto; }).collect(Collectors.toList()); + + if (houses != null) { + redisUtils.setString(cachedKey, JSON.toJSONString(houses), 10); + } + + return houses; } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index 56e473038d..2d677b5217 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -23,6 +23,7 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -37,6 +38,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; @@ -123,6 +126,8 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl page(Map params) { @@ -195,6 +200,17 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl cachedKeys = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference>() { + }); + + if (cachedKeys != null) { + return cachedKeys; + } + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(agencyId),IcNeighborHoodEntity::getAgencyId, agencyId); wrapper.eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId); @@ -203,12 +219,15 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl { + List datas = list.stream().map(item -> { OptionResultDTO dto = new OptionResultDTO(); dto.setValue(item.getId()); dto.setLabel(item.getNeighborHoodName()); return dto; }).collect(Collectors.toList()); + + redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10); + return datas; } public List getNeighborhoodList(TokenDto tokenDto, IcNeighborHoodDTO dto) {