diff --git a/src/main/java/com/greenorange/promotion/controller/project/PromoCodeApplyController.java b/src/main/java/com/greenorange/promotion/controller/project/PromoCodeApplyController.java index 6c84515..f5d3677 100644 --- a/src/main/java/com/greenorange/promotion/controller/project/PromoCodeApplyController.java +++ b/src/main/java/com/greenorange/promotion/controller/project/PromoCodeApplyController.java @@ -100,8 +100,12 @@ public class PromoCodeApplyController { String promoCodeImage = promoCode.getPromoCodeImage(); // 获取项目的参数信息 Project project = projectService.getById(projectId); + // 更新项目的推广人数 - project.setCurrentPromotionCount(project.getCurrentPromotionCount() + 1); + Map, Object> projectConditions = Map.of(UserProject::getProjectId, projectId, UserProject::getUserId, userId); + List userProjectList = commonService.findByFieldEqTargetFields(projectConditions, userProjectService); + if (userProjectList.isEmpty()) project.setCurrentPromotionCount(project.getCurrentPromotionCount() + 1); + projectService.updateById(project); String projectName = project.getProjectName(); String projectImage = project.getProjectImage(); @@ -124,14 +128,16 @@ public class PromoCodeApplyController { promoCodeApplyService.save(promoCodeApply); // 添加用户项目记录 - UserProject userProject = UserProject.builder() - .projectId(projectId) - .projectName(projectName) - .projectImage(projectImage) - .projectSettlementCycle(projectSettlementCycle) - .userId(userId) - .build(); - userProjectService.save(userProject); + if (userProjectList.isEmpty()) { + UserProject userProject = UserProject.builder() + .projectId(projectId) + .projectName(projectName) + .projectImage(projectImage) + .projectSettlementCycle(projectSettlementCycle) + .userId(userId) + .build(); + userProjectService.save(userProject); + } return ResultUtils.success(true); }