teamMembers优化
This commit is contained in:
parent
19988d179e
commit
7654f728af
@ -1,7 +1,6 @@
|
||||
package com.red.circle.other.app.command.team.query;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
|
||||
import com.red.circle.common.business.dto.cmd.app.AppIdLongCmd;
|
||||
import com.red.circle.other.app.convertor.user.UserProfileAppConvertor;
|
||||
import com.red.circle.other.app.dto.clientobject.team.TeamMemberCO;
|
||||
@ -10,8 +9,6 @@ import com.red.circle.other.infra.database.mongo.entity.team.team.TeamMember;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamMemberTarget;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberService;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberTargetService;
|
||||
import com.red.circle.other.infra.database.rds.entity.team.BillDiamondBalance;
|
||||
import com.red.circle.other.infra.database.rds.service.team.BillDiamondBalanceService;
|
||||
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
||||
import com.red.circle.tool.core.collection.CollectionUtils;
|
||||
import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils;
|
||||
@ -21,7 +18,6 @@ import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.red.circle.wallet.inner.endpoint.diamond.SalaryDiamondRunningWaterClient;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -38,8 +34,6 @@ public class TeamMemberListQryExe {
|
||||
private final UserProfileGateway userProfileGateway;
|
||||
private final UserProfileAppConvertor userProfileAppConvertor;
|
||||
private final TeamMemberTargetService teamMemberTargetService;
|
||||
private final BillDiamondBalanceService billDiamondBalanceService;
|
||||
private final SalaryDiamondRunningWaterClient salaryDiamondRunningWaterClient;
|
||||
|
||||
public List<TeamMemberCO> execute(AppIdLongCmd cmd) {
|
||||
|
||||
@ -57,16 +51,12 @@ public class TeamMemberListQryExe {
|
||||
Map<Long, TeamMemberTarget> teamMemberTargetMap = teamMemberTargetService.mapMemberBillTarget(
|
||||
cmd.getId(), memberUserIds, ZonedDateTimeAsiaRiyadhUtils.nowYearMonthToInt());
|
||||
|
||||
Map<Long, Long> diamondMap = CollectionUtils.isNotEmpty(memberUserIds) ?
|
||||
salaryDiamondRunningWaterClient.getDiamondByUserIds(memberUserIds.stream().toList()).getBody() : new HashMap<>();
|
||||
|
||||
List<TeamMemberCO> teamMemberCOs = teamMembers.stream().map(teamMember -> new TeamMemberCO()
|
||||
.setId(teamMember.getMemberId())
|
||||
.setUserProfile(userProfileMap.get(teamMember.getMemberId()))
|
||||
.setTargetFormat(Optional.ofNullable(teamMemberTargetMap.get(teamMember.getMemberId()))
|
||||
.map(target -> NumUtils.formatLong(target.sumAcceptGiftValue()))
|
||||
.orElse("0"))
|
||||
.setDiamondFormat(NumUtils.formatLong(diamondMap.get(teamMember.getMemberId())))
|
||||
.setTimeHours(Optional.ofNullable(teamMemberTargetMap.get(teamMember.getMemberId()))
|
||||
.map(target -> BigDecimal.valueOf(target.sumAllTargetTime())
|
||||
.divide(BigDecimal.valueOf(60), 2, RoundingMode.DOWN)
|
||||
@ -82,21 +72,6 @@ public class TeamMemberListQryExe {
|
||||
teamMember.getWalletWithdrawal(), Boolean.TRUE))
|
||||
.setCreateTime(teamMember.getCreateTime())
|
||||
).collect(Collectors.toList());
|
||||
|
||||
teamMemberCOs.forEach(item -> {
|
||||
TeamMemberTarget target = teamMemberTargetMap.get(item.getId());
|
||||
if (Objects.nonNull(target)) {
|
||||
// 查询钻石账单表信息
|
||||
BillDiamondBalance billDiamondBalance = billDiamondBalanceService.getEntityByBillBelongAndUserId(SysOriginPlatformEnum.TARAB.name(), target.getBillBelong(), item.getId());
|
||||
if (Objects.nonNull(billDiamondBalance)) {
|
||||
item.setUseDiamonds(billDiamondBalance.getConsumptionPoints().setScale(0, RoundingMode.DOWN) + "");
|
||||
item.setSurplusDiamonds(billDiamondBalance.getBalance().setScale(0, RoundingMode.DOWN) + "");
|
||||
} else {
|
||||
item.setUseDiamonds("0");
|
||||
item.setSurplusDiamonds("0");
|
||||
}
|
||||
}
|
||||
});
|
||||
return teamMemberCOs;
|
||||
}
|
||||
|
||||
|
||||
@ -30,6 +30,11 @@ public class TeamMemberCO extends ClientObject {
|
||||
*/
|
||||
private UserProfileDTO userProfile;
|
||||
|
||||
/**
|
||||
* 主播数量
|
||||
*/
|
||||
private Long memberQuantity;
|
||||
|
||||
/**
|
||||
* 目标.
|
||||
*/
|
||||
|
||||
@ -103,6 +103,11 @@ public interface TeamProfileService {
|
||||
*/
|
||||
TeamProfile getByOwnUserId(Long ownUserId);
|
||||
|
||||
/**
|
||||
* 获取团队资料.
|
||||
*/
|
||||
List<TeamProfile> getByOwnUserIds(Set<Long> ownUserIds);
|
||||
|
||||
/**
|
||||
* 获取团队资料列表.
|
||||
*/
|
||||
|
||||
@ -269,6 +269,11 @@ public class TeamProfileServiceImpl implements TeamProfileService {
|
||||
.findOne(Query.query(Criteria.where("ownUserId").is(ownUserId)), TeamProfile.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TeamProfile> getByOwnUserIds(Set<Long> ownUserIds) {
|
||||
return mongoTemplate.find(Query.query(Criteria.where("ownUserId").in(ownUserIds)), TeamProfile.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TeamProfile> listByIds(Set<Long> ids) {
|
||||
return mongoTemplate.find(Query.query(Criteria.where("id").in(ids)), TeamProfile.class);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user