diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java index b865e948a3..4b76f3eaea 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Author zxc @@ -41,6 +42,8 @@ public class UserBadgeListResultDTO implements Serializable { private Boolean status; @JsonIgnore private Integer sort; + @JsonIgnore + private Date updatedTime; public UserBadgeListResultDTO() { this.badgeId = ""; 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 06f78776ad..729ccb00f5 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 @@ -86,7 +86,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { } redisUserBadgeList.forEach(u -> { userBadgeListResultDTOS.forEach(badge -> { - if (u.getBadgeId().equals(badge.getBadgeId()) && badge.getIsOpened().equals(NumConstant.ONE)){ + if (u.getBadgeId().equals(badge.getBadgeId())){ badge.setBadgeIcon(u.getBadgeIcon()); u.setStatus(true); } @@ -101,7 +101,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { if (!CollectionUtils.isEmpty(noOpenBadge)){ userBadgeListResultDTOS.addAll(noOpenBadge.stream().sorted(Comparator.comparing(UserBadgeListResultDTO::getSort)).collect(Collectors.toList())); } - return userBadgeListResultDTOS; + return userBadgeListResultDTOS.stream().sorted(Comparator.comparing(UserBadgeListResultDTO::getIsOpened).reversed().thenComparing(UserBadgeListResultDTO::getUpdatedTime).reversed().thenComparing(UserBadgeListResultDTO::getSort)).collect(Collectors.toList()); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index d90c6aa70b..5b7bdea2a4 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml @@ -28,7 +28,8 @@ ub.BADGE_ID, ub.IS_OPENED, b.FIXATION_BADGE_TYPE as badgeType, - b.sort + b.sort, + ub.UPDATED_TIME FROM resi_user_badge ub LEFT JOIN badge b ON b.ID = ub.BADGE_ID WHERE ub.DEL_FLAG = '0'