Browse Source

添加客户初始化缓存徽章方法

dev_shibei_match
zxc 5 years ago
parent
commit
b9121b2cb0
  1. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java
  2. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java
  3. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java
  4. 53
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java

2
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<UserBadgeListResultDTO> selectAllBadge(UserBadgeListFormDTO userBadgeListFormDTO);
List<UserBadgeListResultDTO> selectAllBadge(@Param("customerId") String customerId);
/**
* @Description 查询徽章认证记录

14
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

8
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);
}

53
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<UserBadgeListResultDTO> selectBadgeList(UserBadgeListFormDTO userBadgeListFormDTO) {
Object userBadge = userBadgeRedis.getCustomerBadge(userBadgeListFormDTO.getCustomerId());
if (null == userBadge){
List<UserBadgeListResultDTO> resultUserBadge = new ArrayList<>();
List<UserBadgeListResultDTO> userBadgeListResultDTOS = userBadgeDao.selectAllBadge(userBadgeListFormDTO);
if (!CollectionUtils.isEmpty(userBadgeListResultDTOS)){
Map<String, List<UserBadgeListResultDTO>> groupByCustomer = userBadgeListResultDTOS.stream().collect(Collectors.groupingBy(UserBadgeListResultDTO::getCustomerId));
resultUserBadge.addAll(groupByCustomer.get(BadgeConstant.DEFAULT_CUSTOMER));
List<UserBadgeListResultDTO> 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<UserBadgeListResultDTO> redisUserBadgeList = JSON.parseArray(userBadge.toString(), UserBadgeListResultDTO.class);
List<UserBadgeListResultDTO> userBadgeListResultDTOS = userBadgeDao.selectBadgeList(userBadgeListFormDTO);
@ -241,4 +222,34 @@ 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<UserBadgeListResultDTO> resultUserBadge = new ArrayList<>();
List<UserBadgeListResultDTO> userBadgeListResultDTOS = userBadgeDao.selectAllBadge(customerId);
if (!CollectionUtils.isEmpty(userBadgeListResultDTOS)){
Map<String, List<UserBadgeListResultDTO>> groupByCustomer = userBadgeListResultDTOS.stream().collect(Collectors.groupingBy(UserBadgeListResultDTO::getCustomerId));
resultUserBadge.addAll(groupByCustomer.get(BadgeConstant.DEFAULT_CUSTOMER));
List<UserBadgeListResultDTO> 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);
}else {
userBadgeRedis.setCustomerBadge(resultUserBadge, customerId);
}
}
}
}

Loading…
Cancel
Save