From b3d35ad3d261c12b254d5e02d551e45fa5bbcffc Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Wed, 14 May 2025 16:10:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/project/ProjectController.java | 3 +- .../project/ProjectDetailController.java | 34 ++++++++++++------- .../dto/promoCode/PromoCodeAddRequest.java | 6 ---- .../file/impl/FileInfoServiceImpl.java | 2 +- src/main/resources/application.yml | 2 +- 5 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/greenorange/promotion/controller/project/ProjectController.java b/src/main/java/com/greenorange/promotion/controller/project/ProjectController.java index d364740..cd93084 100644 --- a/src/main/java/com/greenorange/promotion/controller/project/ProjectController.java +++ b/src/main/java/com/greenorange/promotion/controller/project/ProjectController.java @@ -149,9 +149,8 @@ public class ProjectController { BigDecimal projectPrice = BigDecimal.ZERO; for (ProjectDetailVO projectDetailVO : projectDetailVOS) { BigDecimal projectSettlementPrice = projectCommissionMap.get(projectDetailVO.getId()); - ThrowUtils.throwIf(projectSettlementPrice == null, ErrorCode.PARAMS_ERROR, "项目明细不存在"); projectDetailVO.setProjectSettlementPrice(projectSettlementPrice); - projectPrice = projectPrice.add(projectSettlementPrice); + projectPrice = projectPrice.add(projectSettlementPrice == null ? BigDecimal.ZERO : projectSettlementPrice); } // 更新项目价格 projectAllDetailVO.setProjectPrice(projectPrice); diff --git a/src/main/java/com/greenorange/promotion/controller/project/ProjectDetailController.java b/src/main/java/com/greenorange/promotion/controller/project/ProjectDetailController.java index 509c7da..fe30aa9 100644 --- a/src/main/java/com/greenorange/promotion/controller/project/ProjectDetailController.java +++ b/src/main/java/com/greenorange/promotion/controller/project/ProjectDetailController.java @@ -147,27 +147,35 @@ public class ProjectDetailController { project.setProjectPrice(project.getProjectPrice().subtract(sourceProjectDetail.getProjectSettlementPrice()).add(projectDetail.getProjectSettlementPrice())); projectService.updateById(project); // 2.更新抽佣比例(如果抽佣比例比原来小) - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(SubUserProjectCommission::getProjectDetailId, projectDetail.getId()); - List subUserProjectCommissionList = subUserProjectCommissionService.list(lambdaQueryWrapper); + List subUserProjectCommissionList = commonService.findByFieldEqTargetField(SubUserProjectCommission::getProjectDetailId, projectDetail.getId(), subUserProjectCommissionService); for (SubUserProjectCommission subUserProjectCommission : subUserProjectCommissionList) { BigDecimal currentCommissionRate = subUserProjectCommission.getCurrentCommissionRate(); BigDecimal maxCommissionRate = projectDetail.getMaxCommissionRate(); if (currentCommissionRate.compareTo(maxCommissionRate) > 0) subUserProjectCommission.setCurrentCommissionRate(maxCommissionRate); } - + // 将下级用户项目明细抽佣列表根据父级用户id进行排序(升序) + subUserProjectCommissionList.sort(Comparator.comparing(SubUserProjectCommission::getUserId)); // 更新下级用户项目明细抽佣表记录 + BigDecimal projectSettlementPrice = projectDetail.getProjectSettlementPrice(); + Map 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 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 userInfoList = commonService.findByFieldEqTargetField(UserInfo::getUserRole, UserConstant.DEFAULT_ROLE, userInfoService); // 用来存储每个用户的上级列表 diff --git a/src/main/java/com/greenorange/promotion/model/dto/promoCode/PromoCodeAddRequest.java b/src/main/java/com/greenorange/promotion/model/dto/promoCode/PromoCodeAddRequest.java index e1fa29f..3622062 100644 --- a/src/main/java/com/greenorange/promotion/model/dto/promoCode/PromoCodeAddRequest.java +++ b/src/main/java/com/greenorange/promotion/model/dto/promoCode/PromoCodeAddRequest.java @@ -43,12 +43,6 @@ public class PromoCodeAddRequest implements Serializable { @Schema(description = "项目ID", example = "1") private Long projectId; - /** - * 推广码状态(true:占用,false:空闲) - */ - @Schema(description = "推广码状态(true:占用,false:空闲)", example = "false") - private Boolean promoCodeStatus; - @Serial private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/greenorange/promotion/service/file/impl/FileInfoServiceImpl.java b/src/main/java/com/greenorange/promotion/service/file/impl/FileInfoServiceImpl.java index 09d3326..d57e995 100644 --- a/src/main/java/com/greenorange/promotion/service/file/impl/FileInfoServiceImpl.java +++ b/src/main/java/com/greenorange/promotion/service/file/impl/FileInfoServiceImpl.java @@ -41,7 +41,7 @@ public class FileInfoServiceImpl extends ServiceImpl // 上传文件的服务器存储目录 - private static final String UPLOAD_DIR = "D:/qingcheng/image/"; + private static final String UPLOAD_DIR = "/www/wwwroot/fileUpload_qc/"; // 优化:设置一个合理的缓冲区大小 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ad9a171..a17ec4c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev + active: test