完成了第一版

This commit is contained in:
chen-xin-zhi 2025-05-14 16:10:49 +08:00
parent fb684b0911
commit b3d35ad3d2
5 changed files with 24 additions and 23 deletions

View File

@ -149,9 +149,8 @@ public class ProjectController {
BigDecimal projectPrice = BigDecimal.ZERO; BigDecimal projectPrice = BigDecimal.ZERO;
for (ProjectDetailVO projectDetailVO : projectDetailVOS) { for (ProjectDetailVO projectDetailVO : projectDetailVOS) {
BigDecimal projectSettlementPrice = projectCommissionMap.get(projectDetailVO.getId()); BigDecimal projectSettlementPrice = projectCommissionMap.get(projectDetailVO.getId());
ThrowUtils.throwIf(projectSettlementPrice == null, ErrorCode.PARAMS_ERROR, "项目明细不存在");
projectDetailVO.setProjectSettlementPrice(projectSettlementPrice); projectDetailVO.setProjectSettlementPrice(projectSettlementPrice);
projectPrice = projectPrice.add(projectSettlementPrice); projectPrice = projectPrice.add(projectSettlementPrice == null ? BigDecimal.ZERO : projectSettlementPrice);
} }
// 更新项目价格 // 更新项目价格
projectAllDetailVO.setProjectPrice(projectPrice); projectAllDetailVO.setProjectPrice(projectPrice);

View File

@ -147,27 +147,35 @@ public class ProjectDetailController {
project.setProjectPrice(project.getProjectPrice().subtract(sourceProjectDetail.getProjectSettlementPrice()).add(projectDetail.getProjectSettlementPrice())); project.setProjectPrice(project.getProjectPrice().subtract(sourceProjectDetail.getProjectSettlementPrice()).add(projectDetail.getProjectSettlementPrice()));
projectService.updateById(project); projectService.updateById(project);
// 2.更新抽佣比例如果抽佣比例比原来小 // 2.更新抽佣比例如果抽佣比例比原来小
LambdaQueryWrapper<SubUserProjectCommission> lambdaQueryWrapper = new LambdaQueryWrapper<>(); List<SubUserProjectCommission> subUserProjectCommissionList = commonService.findByFieldEqTargetField(SubUserProjectCommission::getProjectDetailId, projectDetail.getId(), subUserProjectCommissionService);
lambdaQueryWrapper.eq(SubUserProjectCommission::getProjectDetailId, projectDetail.getId());
List<SubUserProjectCommission> subUserProjectCommissionList = subUserProjectCommissionService.list(lambdaQueryWrapper);
for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) { for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) {
BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate(); BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate();
BigDecimal maxCommissionRate = projectDetail.getMaxCommissionRate(); BigDecimal maxCommissionRate = projectDetail.getMaxCommissionRate();
if (currentCommissionRate.compareTo(maxCommissionRate) > 0) subUserProjectCommission.setCurrentCommissionRate(maxCommissionRate); if (currentCommissionRate.compareTo(maxCommissionRate) > 0) subUserProjectCommission.setCurrentCommissionRate(maxCommissionRate);
} }
// 将下级用户项目明细抽佣列表根据父级用户id进行排序升序
subUserProjectCommissionList.sort(Comparator.comparing(SubUserProjectCommission::getUserId));
// 更新下级用户项目明细抽佣表记录 // 更新下级用户项目明细抽佣表记录
BigDecimal projectSettlementPrice = projectDetail.getProjectSettlementPrice();
Map<Long, BigDecimal> userParentMap = null;
boolean flag = true;
Long tempUserId = null;
for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) {
// 记录上级用户的对下级用户的抽佣比例
BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate();
Long subUserId = subUserProjectCommission.getSubUserId();
Long userId = subUserProjectCommission.getUserId();
if (flag) {
tempUserId = userId;
flag = false;
}
userParentMap.put(subUserId, currentCommissionRate);
// if (userParentMap == null) userParentMap = new HashMap<>();
// userParentMap.put(subUserId, currentCommissionRate);
}
// 更新用户项目明细抽佣表记录 // 更新用户项目明细抽佣表记录
// // 3.用Map集合存储上级用户对下级用户的抽佣比例
// Map<String, BigDecimal> commissionRateMap = new HashMap<>();
// for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) {
// Long userId = subUserProjectCommission.getUserId();
// Long subUserId = subUserProjectCommission.getSubUserId();
// BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate();
// String key = userId + "-" + subUserId;
// commissionRateMap.put(key, currentCommissionRate);
// }
// 获取所有的小程序用户 // 获取所有的小程序用户
// List<UserInfo> userInfoList = commonService.findByFieldEqTargetField(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, userInfoService); // List<UserInfo> userInfoList = commonService.findByFieldEqTargetField(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, userInfoService);
// 用来存储每个用户的上级列表 // 用来存储每个用户的上级列表

View File

@ -43,12 +43,6 @@ public class PromoCodeAddRequest implements Serializable {
@Schema(description = "项目ID", example = "1") @Schema(description = "项目ID", example = "1")
private Long projectId; private Long projectId;
/**
* 推广码状态(true:占用false:空闲)
*/
@Schema(description = "推广码状态(true:占用false:空闲)", example = "false")
private Boolean promoCodeStatus;
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -41,7 +41,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo>
// 上传文件的服务器存储目录 // 上传文件的服务器存储目录
private static final String UPLOAD_DIR = "D:/qingcheng/image/"; private static final String UPLOAD_DIR = "/www/wwwroot/fileUpload_qc/";
// 优化设置一个合理的缓冲区大小 // 优化设置一个合理的缓冲区大小

View File

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: dev active: test