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