新增hostSalaryToAgent主播薪资转给代理逻辑
This commit is contained in:
parent
7b20bafcb0
commit
7aa395f3fc
@ -18,4 +18,11 @@ public class TeamSetting implements Serializable {
|
||||
*/
|
||||
private Integer maxMember;
|
||||
|
||||
/**
|
||||
* 主播工资是否给代理.
|
||||
* true: 主播工资给代理
|
||||
* false: 主播工资直接给主播
|
||||
*/
|
||||
private Boolean hostSalaryToAgent;
|
||||
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import com.red.circle.other.app.convertor.user.UserProfileAppConvertor;
|
||||
import com.red.circle.other.app.dto.cmd.team.DbInviteMessageProcessCmd;
|
||||
import com.red.circle.other.app.util.OfficialNoticeUtils;
|
||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||
import com.red.circle.other.domain.gateway.user.ability.RegisterDeviceGateway;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.bd.BdInviteAgentMessage;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.bd.MessageInviteGroup;
|
||||
import com.red.circle.other.infra.database.mongo.entity.team.team.TeamMember;
|
||||
@ -60,7 +61,7 @@ public class BdInviteMessageProcessExe {
|
||||
private final TeamMemberService teamMemberService;
|
||||
private final UserProfileGateway userProfileGateway;
|
||||
private final TeamProfileService teamProfileService;
|
||||
private final OfficialNoticeClient officialNoticeClient;
|
||||
private final RegisterDeviceGateway registerDeviceGateway;
|
||||
private final TeamBillCycleService teamBillCycleService;
|
||||
private final UserProfileAppConvertor userProfileAppConvertor;
|
||||
private final UserHistoryIdentityService userHistoryIdentityService;
|
||||
@ -118,6 +119,11 @@ public class BdInviteMessageProcessExe {
|
||||
message.getUserId());
|
||||
ResponseAssert.notNull(TeamErrorCode.USER_IS_NOT_BD, bdBaseInfo);
|
||||
|
||||
// 主播设备指纹校验
|
||||
Boolean hasAnchorWithSameDevice = registerDeviceGateway.checkDeviceFingerprintHasAnchor(
|
||||
message.getInviteUserId());
|
||||
ResponseAssert.isFalse(TeamErrorCode.DEVICE_FINGERPRINT_USED_BY_ANCHOR, hasAnchorWithSameDevice);
|
||||
|
||||
UserProfileDTO userProfile = userProfileAppConvertor.toUserProfileDTO(
|
||||
userProfileGateway.getByUserId(message.getInviteUserId()));
|
||||
TeamProfile teamProfile = new TeamProfile()
|
||||
|
||||
@ -24,6 +24,7 @@ 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.model.dto.agency.agency.TeamSetting;
|
||||
import com.red.circle.tool.core.collection.CollectionUtils;
|
||||
import com.red.circle.tool.core.date.LocalDateTimeUtils;
|
||||
import com.red.circle.tool.core.date.TimestampUtils;
|
||||
@ -238,8 +239,11 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
return CollectionUtils.isNotEmpty(teamMemberTargets) ? teamMemberTargets.size() : 0;
|
||||
}
|
||||
|
||||
private boolean isHostSalaryToAgent(Map<String, String> metadata) {
|
||||
return Objects.equals(metadata.get("hostSalaryToAgent"), "true");
|
||||
private boolean isHostSalaryToAgent(TeamProfile teamProfile) {
|
||||
return Optional.ofNullable(teamProfile)
|
||||
.map(TeamProfile::getSetting)
|
||||
.map(TeamSetting::getHostSalaryToAgent)
|
||||
.orElse(false);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -259,7 +263,7 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
|
||||
Map<String, String> metadata = getMetadata(regionConfig);
|
||||
boolean isOpenDailyAutoSalary = isOpenDailyAutoSalary(metadata);
|
||||
boolean isHostSalaryToAgent = isHostSalaryToAgent(metadata);
|
||||
boolean isHostSalaryToAgent = isHostSalaryToAgent(teamProfile);
|
||||
for (TeamMemberTarget memberTarget : teamMemberTargets) {
|
||||
|
||||
ResultResponse<Boolean> body = userBankRunningWaterClient.existsTrackId(memberTarget.getId());
|
||||
@ -364,7 +368,7 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
|
||||
Map<String, String> metadata = getMetadata(regionConfig);
|
||||
boolean isOpenDailyAutoSalary = isOpenDailyAutoSalary(metadata);
|
||||
boolean isHostSalaryToAgent = isHostSalaryToAgent(metadata);
|
||||
boolean isHostSalaryToAgent = isHostSalaryToAgent(teamProfile);
|
||||
for (TeamMemberTarget memberTarget : teamMemberTargets) {
|
||||
|
||||
ResultResponse<Boolean> body = salaryDiamondRunningWaterClient.existsTrackId(memberTarget.getId());
|
||||
@ -508,7 +512,7 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
|
||||
Map<String, String> metadata = getMetadata(regionConfig);
|
||||
|
||||
if (!isHostSalaryToAgent(metadata)) {
|
||||
if (!isHostSalaryToAgent(teamProfile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -658,7 +662,7 @@ public class TeamBillSettleListener implements MessageListener {
|
||||
|
||||
Map<String, String> metadata = getMetadata(regionConfig);
|
||||
|
||||
if (!isHostSalaryToAgent(metadata)) {
|
||||
if (!isHostSalaryToAgent(teamProfile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -83,6 +83,9 @@ public class TeamProfileServiceImpl implements TeamProfileService {
|
||||
if (Objects.nonNull(setting.getMaxMember())) {
|
||||
update.set("setting.maxMember", setting.getMaxMember());
|
||||
}
|
||||
if (Objects.nonNull(setting.getHostSalaryToAgent())) {
|
||||
update.set("setting.hostSalaryToAgent", setting.getHostSalaryToAgent());
|
||||
}
|
||||
}
|
||||
|
||||
if (Objects.nonNull(teamProfile.getCountry())) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user