teamMembers优化
This commit is contained in:
parent
19988d179e
commit
7654f728af
@ -1,7 +1,6 @@
|
|||||||
package com.red.circle.other.app.command.team.query;
|
package com.red.circle.other.app.command.team.query;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
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.common.business.dto.cmd.app.AppIdLongCmd;
|
||||||
import com.red.circle.other.app.convertor.user.UserProfileAppConvertor;
|
import com.red.circle.other.app.convertor.user.UserProfileAppConvertor;
|
||||||
import com.red.circle.other.app.dto.clientobject.team.TeamMemberCO;
|
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.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.TeamMemberService;
|
||||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberTargetService;
|
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.other.inner.model.dto.user.UserProfileDTO;
|
||||||
import com.red.circle.tool.core.collection.CollectionUtils;
|
import com.red.circle.tool.core.collection.CollectionUtils;
|
||||||
import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils;
|
import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils;
|
||||||
@ -21,7 +18,6 @@ import java.math.RoundingMode;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.red.circle.wallet.inner.endpoint.diamond.SalaryDiamondRunningWaterClient;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -38,8 +34,6 @@ public class TeamMemberListQryExe {
|
|||||||
private final UserProfileGateway userProfileGateway;
|
private final UserProfileGateway userProfileGateway;
|
||||||
private final UserProfileAppConvertor userProfileAppConvertor;
|
private final UserProfileAppConvertor userProfileAppConvertor;
|
||||||
private final TeamMemberTargetService teamMemberTargetService;
|
private final TeamMemberTargetService teamMemberTargetService;
|
||||||
private final BillDiamondBalanceService billDiamondBalanceService;
|
|
||||||
private final SalaryDiamondRunningWaterClient salaryDiamondRunningWaterClient;
|
|
||||||
|
|
||||||
public List<TeamMemberCO> execute(AppIdLongCmd cmd) {
|
public List<TeamMemberCO> execute(AppIdLongCmd cmd) {
|
||||||
|
|
||||||
@ -57,16 +51,12 @@ public class TeamMemberListQryExe {
|
|||||||
Map<Long, TeamMemberTarget> teamMemberTargetMap = teamMemberTargetService.mapMemberBillTarget(
|
Map<Long, TeamMemberTarget> teamMemberTargetMap = teamMemberTargetService.mapMemberBillTarget(
|
||||||
cmd.getId(), memberUserIds, ZonedDateTimeAsiaRiyadhUtils.nowYearMonthToInt());
|
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()
|
List<TeamMemberCO> teamMemberCOs = teamMembers.stream().map(teamMember -> new TeamMemberCO()
|
||||||
.setId(teamMember.getMemberId())
|
.setId(teamMember.getMemberId())
|
||||||
.setUserProfile(userProfileMap.get(teamMember.getMemberId()))
|
.setUserProfile(userProfileMap.get(teamMember.getMemberId()))
|
||||||
.setTargetFormat(Optional.ofNullable(teamMemberTargetMap.get(teamMember.getMemberId()))
|
.setTargetFormat(Optional.ofNullable(teamMemberTargetMap.get(teamMember.getMemberId()))
|
||||||
.map(target -> NumUtils.formatLong(target.sumAcceptGiftValue()))
|
.map(target -> NumUtils.formatLong(target.sumAcceptGiftValue()))
|
||||||
.orElse("0"))
|
.orElse("0"))
|
||||||
.setDiamondFormat(NumUtils.formatLong(diamondMap.get(teamMember.getMemberId())))
|
|
||||||
.setTimeHours(Optional.ofNullable(teamMemberTargetMap.get(teamMember.getMemberId()))
|
.setTimeHours(Optional.ofNullable(teamMemberTargetMap.get(teamMember.getMemberId()))
|
||||||
.map(target -> BigDecimal.valueOf(target.sumAllTargetTime())
|
.map(target -> BigDecimal.valueOf(target.sumAllTargetTime())
|
||||||
.divide(BigDecimal.valueOf(60), 2, RoundingMode.DOWN)
|
.divide(BigDecimal.valueOf(60), 2, RoundingMode.DOWN)
|
||||||
@ -82,21 +72,6 @@ public class TeamMemberListQryExe {
|
|||||||
teamMember.getWalletWithdrawal(), Boolean.TRUE))
|
teamMember.getWalletWithdrawal(), Boolean.TRUE))
|
||||||
.setCreateTime(teamMember.getCreateTime())
|
.setCreateTime(teamMember.getCreateTime())
|
||||||
).collect(Collectors.toList());
|
).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;
|
return teamMemberCOs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -30,6 +30,11 @@ public class TeamMemberCO extends ClientObject {
|
|||||||
*/
|
*/
|
||||||
private UserProfileDTO userProfile;
|
private UserProfileDTO userProfile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主播数量
|
||||||
|
*/
|
||||||
|
private Long memberQuantity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 目标.
|
* 目标.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -103,6 +103,11 @@ public interface TeamProfileService {
|
|||||||
*/
|
*/
|
||||||
TeamProfile getByOwnUserId(Long ownUserId);
|
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);
|
.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
|
@Override
|
||||||
public List<TeamProfile> listByIds(Set<Long> ids) {
|
public List<TeamProfile> listByIds(Set<Long> ids) {
|
||||||
return mongoTemplate.find(Query.query(Criteria.where("id").in(ids)), TeamProfile.class);
|
return mongoTemplate.find(Query.query(Criteria.where("id").in(ids)), TeamProfile.class);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user