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 delProject(@Valid @RequestBody CommonRequest commonRequest) { Long id = commonRequest.getId(); projectService.removeById(id); - LambdaQueryWrapper projectDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); - projectDetailLambdaQueryWrapper.eq(ProjectDetail::getProjectId, id); + // 删除项目明细 + LambdaQueryWrapper projectDetailLambdaQueryWrapper = commonService.buildQueryWrapperByField(ProjectDetail::getProjectId, id, projectDetailService); projectDetailService.remove(projectDetailLambdaQueryWrapper); - LambdaQueryWrapper projectNotificationLambdaQueryWrapper = new LambdaQueryWrapper<>(); - projectNotificationLambdaQueryWrapper.eq(ProjectNotification::getProjectId, id); + // 删除项目通知 + LambdaQueryWrapper projectNotificationLambdaQueryWrapper = commonService.buildQueryWrapperByField(ProjectNotification::getProjectId, id, projectNotificationService); projectNotificationService.remove(projectNotificationLambdaQueryWrapper); - LambdaQueryWrapper promoCodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); - promoCodeLambdaQueryWrapper.eq(PromoCode::getProjectId, id); + // 删除项目推广码 + LambdaQueryWrapper promoCodeLambdaQueryWrapper = commonService.buildQueryWrapperByField(PromoCode::getProjectId, id, promoCodeService); promoCodeService.remove(promoCodeLambdaQueryWrapper); - LambdaQueryWrapper projectCommissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); - projectCommissionLambdaQueryWrapper.eq(ProjectCommission::getProjectId, id); + // 删除项目明细抽佣记录 + LambdaQueryWrapper projectCommissionLambdaQueryWrapper = commonService.buildQueryWrapperByField(ProjectCommission::getProjectId, id, projectCommissionService); projectCommissionService.remove(projectCommissionLambdaQueryWrapper); - LambdaQueryWrapper subUserProjectCommissionLambdaQueryWrapper = new LambdaQueryWrapper<>(); - subUserProjectCommissionLambdaQueryWrapper.eq(SubUserProjectCommission::getProjectId, id); + // 删除下级用户项目明细抽佣记录 + LambdaQueryWrapper subUserProjectCommissionLambdaQueryWrapper = commonService.buildQueryWrapperByField(SubUserProjectCommission::getProjectId, id, subUserProjectCommissionService); subUserProjectCommissionService.remove(subUserProjectCommissionLambdaQueryWrapper); - LambdaQueryWrapper userProjectLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userProjectLambdaQueryWrapper.eq(UserProject::getProjectId, id); + // 删除用户项目记录 + LambdaQueryWrapper 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 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 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 lambdaQueryWrapper = new LambdaQueryWrapper<>();