From a7479a0802d2dddf1b280c3cff25de07ee80ec33 Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Mon, 12 May 2025 21:36:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/project/ProjectController.java | 25 ++++++++++--------- .../project/ProjectDetailController.java | 17 +++++++++++++ 2 files changed, 30 insertions(+), 12 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 63a8187..82fefd1 100644 --- a/src/main/java/com/greenorange/promotion/controller/project/ProjectController.java +++ b/src/main/java/com/greenorange/promotion/controller/project/ProjectController.java @@ -238,24 +238,25 @@ public class ProjectController { public BaseResponse<Boolean> delProject(@Valid @RequestBody CommonRequest commonRequest) { Long id = commonRequest.getId(); projectService.removeById(id); - LambdaQueryWrapper<ProjectDetail> projectDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); - projectDetailLambdaQueryWrapper.eq(ProjectDetail::getProjectId, id); + // 删除项目明细 + LambdaQueryWrapper<ProjectDetail> projectDetailLambdaQueryWrapper = commonService.buildQueryWrapperByField(ProjectDetail::getProjectId, id, projectDetailService); projectDetailService.remove(projectDetailLambdaQueryWrapper); - LambdaQueryWrapper<ProjectNotification> projectNotificationLambdaQueryWrapper = new LambdaQueryWrapper<>(); - projectNotificationLambdaQueryWrapper.eq(ProjectNotification::getProjectId, id); + // 删除项目通知 + LambdaQueryWrapper<ProjectNotification> projectNotificationLambdaQueryWrapper = commonService.buildQueryWrapperByField(ProjectNotification::getProjectId, id, projectNotificationService); projectNotificationService.remove(projectNotificationLambdaQueryWrapper); - LambdaQueryWrapper<PromoCode> promoCodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); - promoCodeLambdaQueryWrapper.eq(PromoCode::getProjectId, id); + // 删除项目推广码 + LambdaQueryWrapper<PromoCode> promoCodeLambdaQueryWrapper = commonService.buildQueryWrapperByField(PromoCode::getProjectId, id, promoCodeService); promoCodeService.remove(promoCodeLambdaQueryWrapper); - LambdaQueryWrapper<ProjectCommission> projectCommissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); - projectCommissionLambdaQueryWrapper.eq(ProjectCommission::getProjectId, id); + // 删除项目明细抽佣记录 + LambdaQueryWrapper<ProjectCommission> projectCommissionLambdaQueryWrapper = commonService.buildQueryWrapperByField(ProjectCommission::getProjectId, id, projectCommissionService); projectCommissionService.remove(projectCommissionLambdaQueryWrapper); - LambdaQueryWrapper<SubUserProjectCommission> subUserProjectCommissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); - subUserProjectCommissionLambdaQueryWrapper.eq(SubUserProjectCommission::getProjectId, id); + // 删除下级用户项目明细抽佣记录 + LambdaQueryWrapper<SubUserProjectCommission> subUserProjectCommissionLambdaQueryWrapper = commonService.buildQueryWrapperByField(SubUserProjectCommission::getProjectId, id, subUserProjectCommissionService); subUserProjectCommissionService.remove(subUserProjectCommissionLambdaQueryWrapper); - LambdaQueryWrapper<UserProject> userProjectLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userProjectLambdaQueryWrapper.eq(UserProject::getProjectId, id); + // 删除用户项目记录 + LambdaQueryWrapper<UserProject> userProjectLambdaQueryWrapper = commonService.buildQueryWrapperByField(UserProject::getUserId, id, userProjectService); userProjectService.remove(userProjectLambdaQueryWrapper); + return ResultUtils.success(true); } 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 ff3bff0..5f88101 100644 --- a/src/main/java/com/greenorange/promotion/controller/project/ProjectDetailController.java +++ b/src/main/java/com/greenorange/promotion/controller/project/ProjectDetailController.java @@ -136,7 +136,16 @@ public class ProjectDetailController { @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) @SysLog(title = "项目明细管理", content = "web端管理员根据id修改项目明细信息") public BaseResponse<Boolean> updateProjectDetail(@Valid @RequestBody ProjectDetailUpdateRequest projectDetailUpdateRequest) { + + // 更新项目明细的结算价格 + Long projectDetailId = projectDetailUpdateRequest.getId(); + ProjectDetail sourceProjectDetail = projectDetailService.getById(projectDetailId); ProjectDetail projectDetail = commonService.copyProperties(projectDetailUpdateRequest, ProjectDetail.class); + // 更新项目的价格 + Long projectId = projectDetail.getProjectId(); + Project project = projectService.getById(projectId); + project.setProjectPrice(project.getProjectPrice().subtract(sourceProjectDetail.getProjectSettlementPrice()).add(projectDetail.getProjectSettlementPrice())); + projectService.updateById(project); // 1.更新项目明细的结算价格 projectDetailService.updateById(projectDetail); // 2.更新抽佣比例(如果抽佣比例比原来小) @@ -200,6 +209,14 @@ public class ProjectDetailController { @SysLog(title = "项目明细管理", content = "web端管理员根据id删除项目明细") public BaseResponse<Boolean> delProjectDetail(@Valid @RequestBody CommonRequest commonRequest) { Long id = commonRequest.getId(); + // 更新项目价格 + ProjectDetail projectDetail = projectDetailService.getById(id); + Long projectId = projectDetail.getProjectId(); + Project project = projectService.getById(projectId); + project.setProjectPrice(project.getProjectPrice().subtract(projectDetail.getProjectSettlementPrice())); + projectService.updateById(project); + + // 删除对应的项目明细 projectDetailService.removeById(id); // 删除对应的项目明细抽佣记录 LambdaQueryWrapper<ProjectCommission> lambdaQueryWrapper = new LambdaQueryWrapper<>();