admin 结算修改2
This commit is contained in:
parent
b85546df27
commit
d0b5230812
@ -53,14 +53,13 @@ public class AdminSalarySettlementServiceImpl implements AdminSalarySettlementSe
|
|||||||
private final BdTeamSummaryQryExe bdTeamSummaryQryExe;
|
private final BdTeamSummaryQryExe bdTeamSummaryQryExe;
|
||||||
private final RechargeUserService rechargeUserService;
|
private final RechargeUserService rechargeUserService;
|
||||||
private final UserSalaryAccountClient userSalaryAccountClient;
|
private final UserSalaryAccountClient userSalaryAccountClient;
|
||||||
private final AdministratorDAO administratorDAO;
|
private final AdministratorService administratorService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processAllAdminSettlement(Integer billBelong, String billTitle) {
|
public void processAllAdminSettlement(Integer billBelong, String billTitle) {
|
||||||
log.warn("开始处理所有管理员工资结算,结算周期:{}", billBelong);
|
log.warn("开始处理所有管理员工资结算,结算周期:{}", billBelong);
|
||||||
|
|
||||||
LambdaQueryWrapper<Administrator> eq = Wrappers.<Administrator>lambdaQuery().eq(Administrator::getStatus, Boolean.TRUE);
|
List<Administrator> administrators = administratorService.listAllAdmins();
|
||||||
List<Administrator> administrators = administratorDAO.selectList(eq);
|
|
||||||
List<Long> adminUserIds = administrators.stream().map(Administrator::getUserId).toList();
|
List<Long> adminUserIds = administrators.stream().map(Administrator::getUserId).toList();
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(adminUserIds)) {
|
if (CollectionUtils.isEmpty(adminUserIds)) {
|
||||||
|
|||||||
@ -5,6 +5,8 @@ import com.red.circle.other.app.dto.clientobject.BdLeaderSalarySettlementCO;
|
|||||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||||
import com.red.circle.other.domain.model.user.UserProfile;
|
import com.red.circle.other.domain.model.user.UserProfile;
|
||||||
import com.red.circle.other.infra.database.mongo.entity.bd.detail.BdLeaderTeamMemberDetail;
|
import com.red.circle.other.infra.database.mongo.entity.bd.detail.BdLeaderTeamMemberDetail;
|
||||||
|
import com.red.circle.other.infra.database.rds.entity.sys.Administrator;
|
||||||
|
import com.red.circle.other.infra.database.rds.service.sys.AdministratorService;
|
||||||
import com.red.circle.other.infra.enums.BdSettlementStatus;
|
import com.red.circle.other.infra.enums.BdSettlementStatus;
|
||||||
import com.red.circle.other.infra.database.mongo.entity.bd.BdLeaderSalaryPolicy;
|
import com.red.circle.other.infra.database.mongo.entity.bd.BdLeaderSalaryPolicy;
|
||||||
import com.red.circle.other.infra.database.mongo.entity.bd.BdLeaderSalarySettlementRecord;
|
import com.red.circle.other.infra.database.mongo.entity.bd.BdLeaderSalarySettlementRecord;
|
||||||
@ -24,6 +26,7 @@ import com.red.circle.wallet.inner.model.enums.SalaryType;
|
|||||||
import com.red.circle.wallet.inner.model.enums.SalaryEvent;
|
import com.red.circle.wallet.inner.model.enums.SalaryEvent;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -44,11 +47,10 @@ import java.util.stream.Collectors;
|
|||||||
public class BdLeaderSalarySettlementServiceImpl implements BdLeaderSalarySettlementService {
|
public class BdLeaderSalarySettlementServiceImpl implements BdLeaderSalarySettlementService {
|
||||||
|
|
||||||
private final BusinessDevelopmentBaseInfoService businessDevelopmentBaseInfoService;
|
private final BusinessDevelopmentBaseInfoService businessDevelopmentBaseInfoService;
|
||||||
private final BusinessDevelopmentTeamService businessDevelopmentTeamService;
|
|
||||||
private final BdSalarySettlementRecordService bdSalarySettlementRecordService;
|
private final BdSalarySettlementRecordService bdSalarySettlementRecordService;
|
||||||
private final BdLeaderSalaryPolicyService bdLeaderSalaryPolicyService;
|
private final BdLeaderSalaryPolicyService bdLeaderSalaryPolicyService;
|
||||||
private final BdLeaderSalarySettlementRecordService bdLeaderSalarySettlementRecordService;
|
private final BdLeaderSalarySettlementRecordService bdLeaderSalarySettlementRecordService;
|
||||||
private final UserBankBalanceClient userBankBalanceClient;
|
private final AdministratorService administratorService;
|
||||||
private final UserSalaryAccountClient userSalaryAccountClient;
|
private final UserSalaryAccountClient userSalaryAccountClient;
|
||||||
private final UserProfileGateway userProfileGateway;
|
private final UserProfileGateway userProfileGateway;
|
||||||
|
|
||||||
@ -64,9 +66,12 @@ public class BdLeaderSalarySettlementServiceImpl implements BdLeaderSalarySettle
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按 BD Leader 用户 ID 分组(去重)
|
Set<Long> adminUserIds = getAdminUserIds();
|
||||||
|
|
||||||
|
// 按 BD Leader 用户 ID 分组(去重),并过滤掉管理员
|
||||||
Map<Long, List<BusinessDevelopmentBaseInfo>> bdLeaderGroupMap = allBdLeaders.stream()
|
Map<Long, List<BusinessDevelopmentBaseInfo>> bdLeaderGroupMap = allBdLeaders.stream()
|
||||||
.filter(info -> info.getBdLeadUserId() != null)
|
.filter(info -> info.getBdLeadUserId() != null)
|
||||||
|
.filter(info -> !adminUserIds.contains(info.getBdLeadUserId()))
|
||||||
.collect(Collectors.groupingBy(BusinessDevelopmentBaseInfo::getBdLeadUserId));
|
.collect(Collectors.groupingBy(BusinessDevelopmentBaseInfo::getBdLeadUserId));
|
||||||
|
|
||||||
log.warn("共找到 {} 个 BD Leader", bdLeaderGroupMap.size());
|
log.warn("共找到 {} 个 BD Leader", bdLeaderGroupMap.size());
|
||||||
@ -88,6 +93,13 @@ public class BdLeaderSalarySettlementServiceImpl implements BdLeaderSalarySettle
|
|||||||
log.warn("BD Leader 工资结算完成,成功:{},失败:{}", successCount, failCount);
|
log.warn("BD Leader 工资结算完成,成功:{},失败:{}", successCount, failCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Set<Long> getAdminUserIds() {
|
||||||
|
List<Administrator> administrators = administratorService.listAllAdmins();
|
||||||
|
return administrators.stream()
|
||||||
|
.map(Administrator::getUserId)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public BdLeaderSalarySettlementCO processSingleBdLeaderSettlement(Long bdLeaderUserId, Integer billBelong, String billTitle) {
|
public BdLeaderSalarySettlementCO processSingleBdLeaderSettlement(Long bdLeaderUserId, Integer billBelong, String billTitle) {
|
||||||
|
|||||||
@ -11,6 +11,8 @@ import com.red.circle.other.domain.model.user.UserProfile;
|
|||||||
import com.red.circle.other.infra.database.mongo.entity.bd.detail.BdTeamMemberDetail;
|
import com.red.circle.other.infra.database.mongo.entity.bd.detail.BdTeamMemberDetail;
|
||||||
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.TeamBillCycleUtils;
|
import com.red.circle.other.infra.database.mongo.service.team.TeamBillCycleUtils;
|
||||||
|
import com.red.circle.other.infra.database.rds.entity.sys.Administrator;
|
||||||
|
import com.red.circle.other.infra.database.rds.service.sys.AdministratorService;
|
||||||
import com.red.circle.other.infra.enums.BdPolicyType;
|
import com.red.circle.other.infra.enums.BdPolicyType;
|
||||||
import com.red.circle.other.infra.enums.BdSettlementStatus;
|
import com.red.circle.other.infra.enums.BdSettlementStatus;
|
||||||
import com.red.circle.other.infra.database.mongo.entity.bd.BdSalaryPolicy;
|
import com.red.circle.other.infra.database.mongo.entity.bd.BdSalaryPolicy;
|
||||||
@ -64,6 +66,7 @@ public class BdSalarySettlementServiceImpl implements BdSalarySettlementService
|
|||||||
private final InAppPurchaseDetailsClientApi inAppPurchaseDetailsClientApi;
|
private final InAppPurchaseDetailsClientApi inAppPurchaseDetailsClientApi;
|
||||||
private final UserProfileGateway userProfileGateway;
|
private final UserProfileGateway userProfileGateway;
|
||||||
private final UserSalaryAccountClient userSalaryAccountClient;
|
private final UserSalaryAccountClient userSalaryAccountClient;
|
||||||
|
private final AdministratorService administratorService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -78,8 +81,10 @@ public class BdSalarySettlementServiceImpl implements BdSalarySettlementService
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Set<Long> adminUserIds = getAdminUserIds();
|
||||||
// 按 BD 用户 ID 分组(去重)
|
// 按 BD 用户 ID 分组(去重)
|
||||||
Map<Long, List<BusinessDevelopmentTeam>> bdGroupMap = allBdTeams.stream()
|
Map<Long, List<BusinessDevelopmentTeam>> bdGroupMap = allBdTeams.stream()
|
||||||
|
.filter(info -> !adminUserIds.contains(info.getUserId()))
|
||||||
.collect(Collectors.groupingBy(BusinessDevelopmentTeam::getUserId));
|
.collect(Collectors.groupingBy(BusinessDevelopmentTeam::getUserId));
|
||||||
|
|
||||||
log.warn("共找到 {} 个 BD", bdGroupMap.size());
|
log.warn("共找到 {} 个 BD", bdGroupMap.size());
|
||||||
@ -101,6 +106,13 @@ public class BdSalarySettlementServiceImpl implements BdSalarySettlementService
|
|||||||
log.warn("BD 工资结算完成,成功:{},失败:{}", successCount, failCount);
|
log.warn("BD 工资结算完成,成功:{},失败:{}", successCount, failCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Set<Long> getAdminUserIds() {
|
||||||
|
List<Administrator> administrators = administratorService.listAllAdmins();
|
||||||
|
return administrators.stream()
|
||||||
|
.map(Administrator::getUserId)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public BdSalarySettlementCO processSingleBdSettlement(Long bdUserId, Integer billBelong, String billTitle) {
|
public BdSalarySettlementCO processSingleBdSettlement(Long bdUserId, Integer billBelong, String billTitle) {
|
||||||
|
|||||||
@ -53,6 +53,11 @@ public interface AdministratorService extends BaseService<Administrator> {
|
|||||||
*/
|
*/
|
||||||
boolean existsManager(Long userId);
|
boolean existsManager(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所有正常状态的管理员
|
||||||
|
*/
|
||||||
|
List<Administrator> listAllAdmins();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户组是否存在可用管理员.
|
* 用户组是否存在可用管理员.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -75,6 +75,11 @@ public class AdministratorServiceImpl extends
|
|||||||
.last(PageConstant.LIMIT_ONE).getOne() != null;
|
.last(PageConstant.LIMIT_ONE).getOne() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Administrator> listAllAdmins() {
|
||||||
|
return query().eq(Administrator::getStatus, Boolean.TRUE).list();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean existsAvailable(Set<Long> userIds) {
|
public boolean existsAvailable(Set<Long> userIds) {
|
||||||
return Optional.ofNullable(
|
return Optional.ofNullable(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user