新代理政策-目标初始化新增region,countryCode
This commit is contained in:
parent
b5eb179a10
commit
4878c1755c
@ -1,7 +1,9 @@
|
||||
package com.red.circle.other.infra.common.team;
|
||||
|
||||
import com.red.circle.component.redis.service.RedisService;
|
||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||
import com.red.circle.other.domain.gateway.user.ability.UserRegionGateway;
|
||||
import com.red.circle.other.domain.model.user.UserProfile;
|
||||
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.TeamProfile;
|
||||
@ -39,6 +41,7 @@ public class TeamTargetCommon {
|
||||
private final TeamMemberService teamMemberService;
|
||||
private final TeamProfileService teamProfileService;
|
||||
private final TeamMemberTargetService teamMemberTargetService;
|
||||
private final UserProfileGateway userProfileGateway;
|
||||
|
||||
/**
|
||||
* 累计直播时间.
|
||||
@ -121,11 +124,14 @@ public class TeamTargetCommon {
|
||||
VoidCallable<TeamTargetBillRes> consumer) {
|
||||
|
||||
TeamMember teamMember = teamMemberService.getByMemberId(userId);
|
||||
if (Objects.isNull(teamMember)) {
|
||||
TeamProfile teamProfile = teamProfileService.getById(teamMember.getTeamId());
|
||||
if (Objects.isNull(teamMember) || Objects.isNull(teamProfile)) {
|
||||
return TeamTargetBillRes.of((long) getCalcBillBelong(),
|
||||
Boolean.FALSE);
|
||||
}
|
||||
|
||||
UserProfile userProfile = userProfileGateway.getByUserId(userId);
|
||||
|
||||
// 成员目标单据不存在
|
||||
if (Boolean.FALSE.equals(existsBillTarget(userId))) {
|
||||
|
||||
@ -134,7 +140,7 @@ public class TeamTargetCommon {
|
||||
if (Boolean.TRUE.equals(redisService.lock(key, 5))) {
|
||||
|
||||
// 单据创建完成立刻解锁
|
||||
teamMemberTargetService.createMemberTarget(builderTeamMemberTarget(teamMember));
|
||||
teamMemberTargetService.createMemberTarget(builderTeamMemberTarget(teamMember, teamProfile.getRegion(), userProfile.getCountryCode()));
|
||||
redisService.unlock(key);
|
||||
return consumer.apply();
|
||||
}
|
||||
@ -151,7 +157,7 @@ public class TeamTargetCommon {
|
||||
return consumer.apply();
|
||||
}
|
||||
|
||||
private TeamMemberTarget builderTeamMemberTarget(TeamMember teamMember) {
|
||||
private TeamMemberTarget builderTeamMemberTarget(TeamMember teamMember, String region, String countryCode) {
|
||||
|
||||
return new TeamMemberTarget()
|
||||
.setTimeId(IdWorkerUtils.getId())
|
||||
@ -160,6 +166,8 @@ public class TeamTargetCommon {
|
||||
.setBillBelong(getCalcBillBelong())
|
||||
.setBillTitle(getCalcBillBelong().toString())
|
||||
.setUserId(teamMember.getMemberId())
|
||||
.setRegion(region)
|
||||
.setCountryCode(countryCode)
|
||||
.setStatus(Boolean.TRUE.equals(getOpenDailyAutoSalary(teamMember))
|
||||
? TeamMemberTargetStatus.AUTO : TeamMemberTargetStatus.NOT_RECORDED)
|
||||
.setDailyTargets(List.of(
|
||||
|
||||
@ -11,6 +11,8 @@ import com.red.circle.mq.business.model.event.team.TeamSalaryCountEvent;
|
||||
import com.red.circle.mq.rocket.business.producer.UserMqMessageService;
|
||||
import com.red.circle.mq.rocket.business.service.MessageSenderService;
|
||||
import com.red.circle.mq.rocket.business.streams.TeamSalaryCountSink;
|
||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||
import com.red.circle.other.domain.model.user.UserProfile;
|
||||
import com.red.circle.other.infra.convertor.team.TeamInfraConvertor;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamApplicationProcessApproval;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamImportanceLog;
|
||||
@ -66,6 +68,7 @@ public class UpdateMemberTeamDecay {
|
||||
private final TeamInfraConvertor teamInfraConvertor;
|
||||
private final TeamProfileService teamProfileService;
|
||||
private final TeamMemberAddDecay teamMemberAddDecay;
|
||||
private final UserProfileGateway userProfileGateway;
|
||||
private final SysRegionConfigService sysRegionConfigService;
|
||||
private final TeamMemberTargetService teamMemberTargetService;
|
||||
private final TeamImportanceLogService teamImportanceLogService;
|
||||
@ -94,6 +97,9 @@ public class UpdateMemberTeamDecay {
|
||||
TeamProfile teamProfile = teamProfileService.getById(teamMember.getTeamId());
|
||||
ResponseAssert.notNull(TeamErrorCode.USER_NOT_TEAM_MEMBER, teamProfile);
|
||||
|
||||
UserProfile userProfile = userProfileGateway.getByUserId(param.getMemberUserId());
|
||||
ResponseAssert.notNull(UserErrorCode.USER_INFO_NOT_FOUND, userProfile);
|
||||
|
||||
// 移除成员
|
||||
TeamMember removeTeamMember = processRemoveTeamMember(teamMember.getSortId());
|
||||
if (Objects.isNull(removeTeamMember)) {
|
||||
@ -161,6 +167,8 @@ public class UpdateMemberTeamDecay {
|
||||
.setBillBelong(ZonedDateTimeAsiaRiyadhUtils.nowYearMonthToInt())
|
||||
.setBillTitle(ZonedDateTimeAsiaRiyadhUtils.nowFormat(DateFormatConstant.MM_SLASH_YYYY))
|
||||
.setUserId(param.getMemberUserId())
|
||||
.setRegion(newTeamProfile.getRegion())
|
||||
.setCountryCode(userProfile.getCountryCode())
|
||||
.setStatus(Boolean.TRUE.equals(isOpenAutoSalary) ? TeamMemberTargetStatus.AUTO
|
||||
: TeamMemberTargetStatus.NOT_RECORDED)
|
||||
.setDailyTargets(List.of(
|
||||
|
||||
@ -11,6 +11,7 @@ import com.red.circle.mq.rocket.business.streams.TeamSalaryCountSink;
|
||||
import com.red.circle.other.app.inner.convertor.user.UserProfileInnerConvertor;
|
||||
import com.red.circle.other.app.inner.service.team.TeamBillCycleClientService;
|
||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||
import com.red.circle.other.domain.model.user.UserProfile;
|
||||
import com.red.circle.other.infra.convertor.team.TeamInfraConvertor;
|
||||
import com.red.circle.other.infra.database.mongo.dto.team.TeamBillMemberTarget;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamBillCycle;
|
||||
@ -333,6 +334,9 @@ public class TeamBillCycleClientServiceImpl implements TeamBillCycleClientServic
|
||||
teamProfileService.getById(teamMember.getTeamId());
|
||||
ResponseAssert.notNull(TeamErrorCode.TEAM_NOT_FOUND, teamProfile);
|
||||
|
||||
UserProfile userProfile = userProfileGateway.getByUserId(teamMember.getMemberId());
|
||||
ResponseAssert.notNull(UserErrorCode.USER_INFO_NOT_FOUND, userProfile);
|
||||
|
||||
Boolean isOpenAutoSalary = isOpenDailyAutoSalary(teamProfile.getRegion());
|
||||
|
||||
Integer billBelong = ZonedDateTimeAsiaRiyadhUtils.nowYearMonthToInt();
|
||||
@ -363,6 +367,8 @@ public class TeamBillCycleClientServiceImpl implements TeamBillCycleClientServic
|
||||
.setStatus(Boolean.TRUE.equals(isOpenAutoSalary) ? TeamMemberTargetStatus.AUTO
|
||||
: TeamMemberTargetStatus.NOT_RECORDED)
|
||||
.setUserId(teamMember.getMemberId())
|
||||
.setRegion(teamProfile.getRegion())
|
||||
.setCountryCode(userProfile.getCountryCode())
|
||||
.setDailyTargets(List.of(new TeamMemberTargetIndex()
|
||||
.setOwnOnlineTime(0L)
|
||||
.setOtherOnlineTime(0L)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user