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 b9795ef8dc..a126ba254e 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 @@ -644,8 +644,18 @@ public class RedisKeys { * @param agencyId * @return */ - public static String getOrgTreeCacheKey(String agencyId) { - return rootPrefix.concat("org:temp:orgtree").concat(agencyId); + public static String getOrgTreeCacheKey(String agencyId,String customerId) { + return rootPrefix.concat("org:temp:orgtree").concat(customerId).concat(StrConstant.COLON).concat(agencyId); + } + + /** + * 与getOrgTreeCacheKey一致,用于模糊删除 + * @param customerId + * @return + */ + public static String getOrgTreeCachePrexKey(String customerId) { + // return "epmet:org:temp:orgtree".concat(StrConstant.STAR); + return rootPrefix.concat("org:temp:orgtree").concat(customerId).concat(StrConstant.STAR); } public static String getHouseInfoCacheKey(String houseId,String customerId){ 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 27636e435a..7fc8b75347 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 @@ -444,4 +444,15 @@ public class RedisUtils { public Long getTTL(String treeCacheKey) { return redisTemplate.getExpire(treeCacheKey); } + + /** + * 根据前缀模糊删除 + * @param prex + */ + public void deleteByPrex(String prex) { + Set keys = redisTemplate.keys(prex); + if (!CollectionUtils.isEmpty(keys)) { + redisTemplate.delete(keys); + } + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 0c2533a7c9..64144cd813 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -566,7 +566,7 @@ public class GovOrgServiceImpl implements GovOrgService { String agencyId = staffInfo.getAgencyId(); String client = formDTO.getClient(); //组织缓存key - String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId).concat(StrConstant.COLON).concat(client); + String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId,tokenDto.getCustomerId()).concat(StrConstant.COLON).concat(client); Long expiryTime = redisUtils.getTTL(treeCacheKey); List orgTreeResultDTOS = (List) redisUtils.get(treeCacheKey); //如果接近过期或已经过期且缓存数据不为空 则异步查询 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index ec9d682d76..73316bad52 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -396,7 +396,7 @@ public class CustomerAgencyController { @PostMapping("agencygridtree") public Result getOrgTreeData(@LoginUser TokenDto tokenDTO) { //tokenDTO.setUserId("dffe71e021a61b900f9025f4f07f6955"); - return new Result().ok(customerAgencyService.getOrgTreeData(tokenDTO.getUserId())); + return new Result().ok(customerAgencyService.getOrgTreeData(tokenDTO.getUserId(),tokenDTO.getCustomerId())); } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java index 8f026e9f44..abcf908367 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java @@ -92,7 +92,6 @@ public class GridController { return result; } - /** * 删除网格 */ diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java index 6bae4e8f2f..db5b040103 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java @@ -29,7 +29,7 @@ public class ServiceProjectController { */ @RequestMapping("service/serviceScopeTree") public Result getServiceScopeTree(@LoginUser TokenDto loginInfo) { - ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId()); + ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId(),loginInfo.getCustomerId()); return new Result().ok(r); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java index 3a5e67704f..3ad215bbf7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java @@ -26,7 +26,7 @@ public class UserHouseScopeController { */ @RequestMapping("service/serviceScopeTree") public Result getServiceScopeTree(@LoginUser TokenDto loginInfo) { - UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId()); + UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId(),loginInfo.getCustomerId()); return new Result().ok(r); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java index a4be0f2703..c41d5eae0e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java @@ -59,4 +59,7 @@ public class CustomerAgencyRedis { return BeanUtil.mapToBean(resultMap, AgencyInfoCache.class, true); } + public void deleteByPrex(String orgTreeCachePrexKey) { + redisUtils.deleteByPrex(orgTreeCachePrexKey); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 21e6f17320..bec4188167 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -24,7 +24,6 @@ import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; -import org.springframework.web.bind.annotation.PathVariable; import java.util.List; import java.util.Map; @@ -270,7 +269,7 @@ public interface CustomerAgencyService extends BaseService * @param staffId * @return */ - AgencyTreeResultDTO getOrgTreeData(String staffId); + AgencyTreeResultDTO getOrgTreeData(String staffId,String customerId); /** * @Description 【事件】社区服务热线 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java index 22058470de..c09a6411b1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java @@ -1,9 +1,7 @@ package com.epmet.service; -import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.result.ServiceProjectScopeResultDTO; -import com.epmet.entity.IcPlaceOrgEntity; public interface ServiceProjectService { - ServiceProjectScopeResultDTO getServiceScopeTree(String staffId); + ServiceProjectScopeResultDTO getServiceScopeTree(String staffId,String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java index 31fb3be5b8..210b0e7dad 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java @@ -3,5 +3,5 @@ package com.epmet.service; import com.epmet.dto.result.UserHouseScopeResultDTO; public interface UserHouseScopeService { - UserHouseScopeResultDTO getServiceScopeTree(String staffId); + UserHouseScopeResultDTO getServiceScopeTree(String staffId,String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index cf2016de58..dafc9da5d5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; 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.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; @@ -237,7 +238,9 @@ public class AgencyServiceImpl implements AgencyService { //5.redis缓存 customerAgencyRedis.delete(formDTO.getAgencyId()); - + //6.一些下拉组织树的缓存要清除掉 + String orgTreeCachePrexKey = RedisKeys.getOrgTreeCachePrexKey(formDTO.getCustomerId()); + customerAgencyRedis.deleteByPrex(orgTreeCachePrexKey); return result; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index d7f4e95ac1..4354be6b51 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -1175,7 +1175,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl