diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java index a100a80ec2..65910f22cd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java @@ -34,7 +34,7 @@ public interface UserBadgeDao { * @author zxc * @date 2020/11/3 3:11 下午 */ - List selectAllBadge(UserBadgeListFormDTO userBadgeListFormDTO); + List selectAllBadge(@Param("customerId") String customerId); /** * @Description 查询徽章认证记录 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java index 5bc394a6ec..c9eaee4367 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java @@ -22,7 +22,7 @@ public class UserBadgeRedis { private RedisUtils redisUtils; /** - * @Description 获取徽章信息 + * @Description 获取客户徽章信息 * @Param customerId * @author zxc * @date 2020/11/3 2:50 下午 @@ -33,7 +33,7 @@ public class UserBadgeRedis { } /** - * @Description 存放徽章信息 + * @Description 存放客户徽章信息 * @Param userBadge * @Param customerId * @author zxc @@ -43,6 +43,16 @@ public class UserBadgeRedis { redisUtils.hSet(BadgeConstant.BADGE_KEY+customerId,BadgeConstant.BADGE, JSON.toJSON(userBadge).toString(),-1); } + /** + * @Description 删除客户徽章信息 + * @Param customerId + * @author zxc + * @date 2020/11/5 3:06 下午 + */ + public void delCustomerBadge(String customerId){ + redisUtils.hDel(BadgeConstant.BADGE_KEY+customerId,BadgeConstant.BADGE); + } + /** * @Description 存放徽章审核 手机验证码 * @Param mobile diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java index 227584a101..81213550b9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java @@ -73,4 +73,12 @@ public interface UserBadgeService { */ void openedOrClosed(OpenedOrClosedFormDTO openedOrClosedFormDTO); + /** + * @Description 客户徽章缓存初始化 + * @Param customerId + * @author zxc + * @date 2020/11/5 3:12 下午 + */ + void reloadCustomerBadge(String customerId); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index f7ed9f2266..986d9eed7f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -58,27 +58,8 @@ public class UserBadgeServiceImpl implements UserBadgeService { public List selectBadgeList(UserBadgeListFormDTO userBadgeListFormDTO) { Object userBadge = userBadgeRedis.getCustomerBadge(userBadgeListFormDTO.getCustomerId()); if (null == userBadge){ - List resultUserBadge = new ArrayList<>(); - List userBadgeListResultDTOS = userBadgeDao.selectAllBadge(userBadgeListFormDTO); - if (!CollectionUtils.isEmpty(userBadgeListResultDTOS)){ - Map> groupByCustomer = userBadgeListResultDTOS.stream().collect(Collectors.groupingBy(UserBadgeListResultDTO::getCustomerId)); - resultUserBadge.addAll(groupByCustomer.get(BadgeConstant.DEFAULT_CUSTOMER)); - List badgeByCustomer = groupByCustomer.get(userBadgeListFormDTO.getCustomerId()); - if (!CollectionUtils.isEmpty(badgeByCustomer)) { - resultUserBadge.forEach(r -> { - badgeByCustomer.forEach(b -> { - if (r.getBadgeId().equals(b.getBadgeId())) { - BeanUtils.copyProperties(b, r); - } - }); - }); - userBadgeRedis.setCustomerBadge(resultUserBadge, userBadgeListFormDTO.getCustomerId()); - userBadge = userBadgeRedis.getCustomerBadge(userBadgeListFormDTO.getCustomerId()); - }else { - userBadgeRedis.setCustomerBadge(resultUserBadge, userBadgeListFormDTO.getCustomerId()); - userBadge = userBadgeRedis.getCustomerBadge(userBadgeListFormDTO.getCustomerId()); - } - } + this.reloadCustomerBadge(userBadgeListFormDTO.getCustomerId()); + userBadge = userBadgeRedis.getCustomerBadge(userBadgeListFormDTO.getCustomerId()); } List redisUserBadgeList = JSON.parseArray(userBadge.toString(), UserBadgeListResultDTO.class); List userBadgeListResultDTOS = userBadgeDao.selectBadgeList(userBadgeListFormDTO); @@ -241,4 +222,32 @@ public class UserBadgeServiceImpl implements UserBadgeService { userBadgeDao.updateIsOpen(openedOrClosedFormDTO); } + /** + * @Description 客户徽章缓存初始化 + * @Param customerId + * @author zxc + * @date 2020/11/5 3:12 下午 + */ + @Override + public void reloadCustomerBadge(String customerId){ + userBadgeRedis.delCustomerBadge(customerId); + List resultUserBadge = new ArrayList<>(); + List userBadgeListResultDTOS = userBadgeDao.selectAllBadge(customerId); + if (!CollectionUtils.isEmpty(userBadgeListResultDTOS)){ + Map> groupByCustomer = userBadgeListResultDTOS.stream().collect(Collectors.groupingBy(UserBadgeListResultDTO::getCustomerId)); + resultUserBadge.addAll(groupByCustomer.get(BadgeConstant.DEFAULT_CUSTOMER)); + List badgeByCustomer = groupByCustomer.get(customerId); + if (!CollectionUtils.isEmpty(badgeByCustomer)) { + resultUserBadge.forEach(r -> { + badgeByCustomer.forEach(b -> { + if (r.getBadgeId().equals(b.getBadgeId())) { + BeanUtils.copyProperties(b, r); + } + }); + }); + } + userBadgeRedis.setCustomerBadge(resultUserBadge, customerId); + } + } + }