diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java index 4c66b02c47..8004ff6401 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GetPastTopicListV2FormDTO.java @@ -28,4 +28,6 @@ public class GetPastTopicListV2FormDTO implements Serializable { private Integer pageNo; private String userId; + + private String customerId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java index d0dbe33963..3885933a78 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GetPastTopicListV2ResultDTO.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; /** @@ -74,7 +75,7 @@ public class GetPastTopicListV2ResultDTO implements Serializable { /** * 徽章Url集合 */ - private List badgeList; + private List badgeList = new ArrayList<>(); @JsonIgnore private String userId; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index a53708526d..aa8158ede0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -467,6 +467,7 @@ public class ResiTopicController { public Result> getPastTopicListV2(@RequestBody GetPastTopicListV2FormDTO formDTO,@LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(formDTO, GetPastTopicListV2FormDTO.GetPastTopicListV2Form.class); formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result>().ok(topicService.getPastTopicListV2(formDTO)); } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 2d37f62fba..dde0ed3f86 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -188,6 +188,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl userIds = infos.stream().map(m -> m.getUserId()).collect(Collectors.toList()); // 用户信息 List userInfos = this.disPoseUserInfo(resiGroup.getGroupType(), userIds); + // 查询用户徽章信息 + Result> badgeResult = epmetUserOpenFeignClient.userBadges(new UserBadgesFormDTO()); + if (!badgeResult.success()){ + throw new RenException(ModuleConstant.GET_BADGE_INFO_ERR); + } // 各字段赋值 infos.forEach(i -> { // 用户头像,姓名赋值 @@ -2338,6 +2346,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl { + if (i.getUserId().equals(b.getUserId())){ + i.setBadgeList(b.getBadgeIcons()); + } + }); + } }); return infos; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index 915f96fa0b..fd2a9310c9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -402,4 +402,6 @@ public interface ModuleConstant extends Constant { */ String READ_FLAG_YES = "read"; + String GET_BADGE_INFO_ERR = "获取徽章信息失败了"; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgesFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgesFormDTO.java new file mode 100644 index 0000000000..4585b1d080 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgesFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/4/22 下午4:13 + * @DESC + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserBadgesFormDTO implements Serializable { + + private static final long serialVersionUID = -5211565974325345262L; + + private String customerId; + + private List userIds; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgesResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgesResultDTO.java new file mode 100644 index 0000000000..f0230c0772 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgesResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/4/22 下午4:09 + * @DESC + */ +@Data +public class UserBadgesResultDTO implements Serializable { + + private static final long serialVersionUID = -1504387869251002117L; + + private String userId; + + private List badgeIcons; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 8a6b4db22a..f85ba6d782 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -521,4 +521,13 @@ public interface EpmetUserOpenFeignClient { */ @GetMapping(value = "/epmetuser/userrole/ispartymember") Result selectIsPartyMemberByUserId(@RequestParam("userId") String userId); + + /** + * @Description 查询用户徽章 + * @Param formDTO + * @author zxc + * @date 2021/4/22 下午4:17 + */ + @PostMapping("/epmetuser/badge/userbadges") + Result> userBadges(@RequestBody UserBadgesFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 7cb96271ec..518cca9cef 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -368,4 +368,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result selectIsPartyMemberByUserId(String userId) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "selectIsPartyMemberByUserId", userId); } + + @Override + public Result> userBadges(UserBadgesFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "userBadges", formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java index edf52d1f97..a5d13c581f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java @@ -179,4 +179,15 @@ public class BadgeController { public Result> queryGridAuditingBadgeCount(@RequestBody List gridIdList) { return new Result>().ok(badgeService.queryGridAuditingBadgeCount(gridIdList)); } + + /** + * @Description 查询用户徽章 + * @Param formDTO + * @author zxc + * @date 2021/4/22 下午4:17 + */ + @PostMapping("userbadges") + public Result> userBadges(@RequestBody UserBadgesFormDTO formDTO){ + return new Result>().ok(badgeService.userBadges(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java index b409d5709b..f89f180458 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java @@ -21,10 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.BadgeDTO; -import com.epmet.dto.form.AddBadgeFormDTO; -import com.epmet.dto.form.BadgeAuditFormDTO; -import com.epmet.dto.form.BadgeFormDTO; -import com.epmet.dto.form.EditBadgeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.BadgeEntity; @@ -187,4 +184,12 @@ public interface BadgeService extends BaseService { * @Date 2020/11/12 15:56 **/ List queryGridAuditingBadgeCount(List gridIdList); + + /** + * @Description 查询用户徽章 + * @Param formDTO + * @author zxc + * @date 2021/4/22 下午4:17 + */ + List userBadges(UserBadgesFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java index 3a92a310fb..dcdd39d4f1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java @@ -29,6 +29,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.ValidateException; 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.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -56,6 +58,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** * 徽章 @@ -83,6 +86,8 @@ public class BadgeServiceImpl extends BaseServiceImpl imp private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; @Autowired private UserBadgeDao userBadgeDao; + @Autowired + private RedisUtils redisUtils; @Override @@ -449,4 +454,30 @@ public class BadgeServiceImpl extends BaseServiceImpl imp return baseDao.queryGridAuditingBadgeCount(gridIdList); } + /** + * @Description 查询用户徽章 + * @Param formDTO + * @author zxc + * @date 2021/4/22 下午4:17 + */ + @Override + public List userBadges(UserBadgesFormDTO formDTO) { + String customerId = formDTO.getCustomerId(); + List userIds = formDTO.getUserIds(); + if (CollectionUtils.isEmpty(userIds)){ + return new ArrayList<>(); + } + List result = new ArrayList<>(); + userIds.forEach(userId -> { + List badges = redisUtils.lrange(RedisKeys.getResiUserBadgeKey(customerId, userId), NumConstant.ZERO, NumConstant.ONE_NEG, UserBadgeUnitFormDTO.class); + if (!CollectionUtils.isEmpty(badges)){ + UserBadgesResultDTO b = new UserBadgesResultDTO(); + b.setUserId(userId); + b.setBadgeIcons(badges.stream().map(m -> m.getBadgeIcon()).collect(Collectors.toList())); + result.add(b); + } + }); + return result; + } + } \ No newline at end of file