我的cp列表i更改
(cherry picked from commit f098c903b296c34bf1859ebb7cb8eb60ba92ca38)
This commit is contained in:
parent
8493acdb35
commit
0ff77e6605
@ -17,10 +17,12 @@ import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户cp对查询.
|
* 用户cp对查询.
|
||||||
@ -51,27 +53,44 @@ public class UserCpPairUserProfileQryExe {
|
|||||||
|
|
||||||
UserProfileDTO meUserProfileDTO = userProfileAppConvertor.toSimpleUserProfileDTO(meUser);
|
UserProfileDTO meUserProfileDTO = userProfileAppConvertor.toSimpleUserProfileDTO(meUser);
|
||||||
|
|
||||||
return cpList.stream()
|
// 已在 cpList 中的 cpUserId(NORMAL),避免 dismissing 重复追加
|
||||||
.map(cp -> {
|
Set<Long> normalCpUserIds = cpList.stream()
|
||||||
String status = dismissing.stream()
|
.map(CpSimpleUserProfileCO::getCpUserId)
|
||||||
.anyMatch(d -> d.getCpUserId().equals(cp.getCpUserId())) ? "DISMISSING" : "NORMAL";
|
.collect(Collectors.toSet());
|
||||||
return new CpPairUserProfileCO()
|
|
||||||
.setMeUserProfile(meUserProfileDTO)
|
List<CpPairUserProfileCO> result = new ArrayList<>();
|
||||||
.setCpUserProfile(getUserProfile(cp.getCpUserId()))
|
|
||||||
.setStatus(status)
|
// NORMAL CP(cache 数据,status 固定为 NORMAL)
|
||||||
.setCpValue(cp.getCpValue())
|
cpList.stream()
|
||||||
.setDays(cp.getDays())
|
.map(cp -> new CpPairUserProfileCO()
|
||||||
.setFirstDay(cp.getFirstDay())
|
.setMeUserProfile(meUserProfileDTO)
|
||||||
.setCpLevel(cp.getCpLevel())
|
.setCpUserProfile(getUserProfile(cp.getCpUserId()))
|
||||||
.setNextLevelExp(cp.getNextLevelExp())
|
.setStatus("NORMAL")
|
||||||
.setLoveHeartLevel(cp.getLoveHeartLevel())
|
.setCpValue(cp.getCpValue())
|
||||||
.setMicEffectLevel(cp.getMicEffectLevel())
|
.setDays(cp.getDays())
|
||||||
.setProfileCardLevel(cp.getProfileCardLevel())
|
.setFirstDay(cp.getFirstDay())
|
||||||
.setGiftWindowLevel(cp.getGiftWindowLevel())
|
.setCpLevel(cp.getCpLevel())
|
||||||
.setHasNonMicEffect(cp.getHasNonMicEffect())
|
.setNextLevelExp(cp.getNextLevelExp())
|
||||||
.setSelfRing(cp.getSelfRing());
|
.setLoveHeartLevel(cp.getLoveHeartLevel())
|
||||||
})
|
.setMicEffectLevel(cp.getMicEffectLevel())
|
||||||
.sorted(Comparator.comparing(CpPairUserProfileCO::getCpValue).reversed())
|
.setProfileCardLevel(cp.getProfileCardLevel())
|
||||||
|
.setGiftWindowLevel(cp.getGiftWindowLevel())
|
||||||
|
.setHasNonMicEffect(cp.getHasNonMicEffect())
|
||||||
|
.setSelfRing(cp.getSelfRing()))
|
||||||
|
.forEach(result::add);
|
||||||
|
|
||||||
|
// DISMISSING CP(不在 NORMAL 列表中的才追加,避免重复)
|
||||||
|
dismissing.stream()
|
||||||
|
.filter(d -> !normalCpUserIds.contains(d.getCpUserId()))
|
||||||
|
.map(d -> new CpPairUserProfileCO()
|
||||||
|
.setMeUserProfile(meUserProfileDTO)
|
||||||
|
.setCpUserProfile(getUserProfile(d.getCpUserId()))
|
||||||
|
.setStatus("DISMISSING"))
|
||||||
|
.forEach(result::add);
|
||||||
|
|
||||||
|
return result.stream()
|
||||||
|
.sorted(Comparator.comparing(CpPairUserProfileCO::getCpValue,
|
||||||
|
Comparator.nullsLast(Comparator.reverseOrder())))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user