feat(结算): 结算修改
This commit is contained in:
parent
e1b38d4815
commit
a8207f7272
@ -45,7 +45,6 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
@ -13,24 +13,17 @@ import com.red.circle.mq.business.model.event.team.TeamBillSettleEvent;
|
||||
import com.red.circle.mq.rocket.business.streams.TeamBillSettleSink;
|
||||
import com.red.circle.other.infra.database.mongo.dto.team.TeamBillMemberTarget;
|
||||
import com.red.circle.other.infra.database.mongo.dto.team.TeamBillSettleResult;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamBillCycle;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamMemberTarget;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamPolicyManager;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamProfile;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.*;
|
||||
import com.red.circle.other.infra.database.mongo.entity.user.region.SysRegionConfig;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.TeamBillCycleUtils;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamBillCycleService;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberTargetService;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamPolicyManagerService;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.TeamProfileService;
|
||||
import com.red.circle.other.infra.database.mongo.service.team.team.*;
|
||||
import com.red.circle.other.infra.database.mongo.service.user.region.SysRegionConfigService;
|
||||
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.enums.team.TeamPolicyTypeEnum;
|
||||
import com.red.circle.other.inner.endpoint.team.target.TeamProfileClient;
|
||||
import com.red.circle.other.inner.enums.team.*;
|
||||
import com.red.circle.other.inner.model.dto.agency.agency.TeamMemberDTO;
|
||||
import com.red.circle.other.inner.model.dto.agency.agency.TeamRemark;
|
||||
import com.red.circle.other.inner.enums.team.TeamBillCycleStatus;
|
||||
import com.red.circle.other.inner.enums.team.TeamMemberTargetSettlementResult;
|
||||
import com.red.circle.other.inner.enums.team.TeamMemberTargetStatus;
|
||||
import com.red.circle.tool.core.collection.CollectionUtils;
|
||||
import com.red.circle.tool.core.date.LocalDateTimeUtils;
|
||||
import com.red.circle.tool.core.date.TimestampUtils;
|
||||
@ -76,6 +69,7 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
private final SysRegionConfigService sysRegionConfigService;
|
||||
private final UserBankBalanceClient userBankBalanceClient;
|
||||
private final TeamMemberTargetService teamMemberTargetService;
|
||||
private final TeamMemberService teamMemberService;
|
||||
private final TeamPolicyManagerService teamPolicyManagerService;
|
||||
private final UserBankRunningWaterClient userBankRunningWaterClient;
|
||||
private final SalaryDiamondBalanceClient salaryDiamondBalanceClient;
|
||||
@ -158,6 +152,13 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
teamBillCycle.getBillBelong());
|
||||
log.warn("团队账单结算teamMemberTargets."+teamMemberTargets);
|
||||
|
||||
teamMemberTargets.forEach(teamMemberTarget -> {
|
||||
TeamMember teamMember = teamMemberService.getByMemberId(teamMemberTarget.getUserId());
|
||||
if (Objects.nonNull(teamMember) && TeamMemberRole.OWN.eq(teamMember.getRole())) {
|
||||
teamMemberTarget.setIsOwn(true);
|
||||
}
|
||||
});
|
||||
|
||||
List<TeamBillMemberTarget> teamBillMemberTargets = calculatorTarget(teamMemberTargets,
|
||||
regionPolicyManager);
|
||||
log.warn("团队账单结算teamBillMemberTargets."+teamBillMemberTargets);
|
||||
@ -746,14 +747,9 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
}
|
||||
|
||||
private BigDecimal ownSalary(List<TeamBillMemberTarget> teamBillMemberTargets) {
|
||||
BigDecimal ownSalaryTotal = teamBillMemberTargets.stream().map(TeamBillMemberTarget::getOwnSalary)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
// 代理有工资时 +1份主播的工资(主播代理也是主播)
|
||||
if (ownSalaryTotal.compareTo(BigDecimal.ZERO) > 0 && CollectionUtils.isNotEmpty(teamBillMemberTargets)) {
|
||||
return ownSalaryTotal.add(teamBillMemberTargets.get(0).getMemberSalary());
|
||||
}
|
||||
return ownSalaryTotal;
|
||||
return teamBillMemberTargets.stream().map(TeamBillMemberTarget::getOwnSalary)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
}
|
||||
|
||||
private BigDecimal ownTotalSalary(List<TeamBillMemberTarget> teamBillMemberTargets) {
|
||||
|
||||
@ -51,6 +51,11 @@ public class TeamMemberTarget implements Serializable {
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 是否团队长
|
||||
*/
|
||||
private Boolean isOwn;
|
||||
|
||||
/**
|
||||
* 账单归属.
|
||||
*/
|
||||
|
||||
@ -176,9 +176,9 @@ public final class TeamBillCycleUtils {
|
||||
resultTarget.setSatisfyLevel(Boolean.TRUE);
|
||||
resultTarget.setPropsRewards(teamPolicy.getPropsRewards());
|
||||
return resultTarget;
|
||||
} else if (acceptGiftValue >= policyGiftValue) {
|
||||
} else if (acceptGiftValue >= policyGiftValue && !Boolean.TRUE.equals(target.getIsOwn())) {
|
||||
resultTarget.setMemberSalary(teamPolicy.getMemberSalary().multiply(new BigDecimal("0.9")).setScale(2, RoundingMode.DOWN));
|
||||
resultTarget.setTotalSalary(teamPolicy.getMemberSalary());
|
||||
resultTarget.setTotalSalary(teamPolicy.getMemberSalary().multiply(new BigDecimal("0.9")).setScale(2, RoundingMode.DOWN));
|
||||
resultTarget.setLevel(teamPolicy.getLevel());
|
||||
resultTarget.setSatisfyLevel(Boolean.TRUE);
|
||||
resultTarget.setPropsRewards(teamPolicy.getPropsRewards());
|
||||
|
||||
@ -24,7 +24,7 @@ public class TeamMonthBillTest {
|
||||
*/
|
||||
@Test
|
||||
public void processTeamBill() {
|
||||
// teamBillTask.processTeamMonthBillTest();
|
||||
teamBillTask.processTeamMonthBillTest();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -32,8 +32,8 @@ public class TeamMonthBillTest {
|
||||
*/
|
||||
@Test
|
||||
public void testListener() {
|
||||
Long teamId = 1960260858980765698L;
|
||||
// teamBillSettleListener.processBillTest(teamId);
|
||||
Long teamId = 1963841774709805058L;
|
||||
teamBillSettleListener.processBillTest(teamId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user