From 957bd52e5217bfd334862911f6e4392f179419cc Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 29 Dec 2023 14:02:00 +0800
Subject: [PATCH] bug修复

---
 src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java b/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java
index 8ca93b8..213540e 100644
--- a/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java
+++ b/src/main/java/org/springblade/modules/discuss/controller/UserPublicEnrollController.java
@@ -23,13 +23,17 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.constant.CommonConstant;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
 import org.springblade.modules.discuss.entity.UserPublicEnrollEntity;
+import org.springblade.modules.discuss.service.IPublicDiscussService;
 import org.springblade.modules.discuss.service.IUserPublicEnrollService;
 import org.springblade.modules.discuss.vo.UserPublicEnrollVO;
 import org.springblade.modules.discuss.wrapper.UserPublicEnrollWrapper;
@@ -104,11 +108,26 @@
 	@ApiOperation(value = "新增", notes = "传入userPublicEnroll")
 	public R save(@Valid @RequestBody UserPublicEnrollEntity userPublicEnroll) {
 		userPublicEnroll.setUserId(AuthUtil.getUserId());
-		long count = userPublicEnrollService.count(Wrappers.<UserPublicEnrollEntity>lambdaQuery()
-			.eq(UserPublicEnrollEntity::getPublicDiscussId, userPublicEnroll.getPublicDiscussId())
-			.eq(UserPublicEnrollEntity::getUserId, userPublicEnroll.getUserId()));
-		if (count > 0) {
-			return R.fail("您已报名!");
+		// 判断是否一户一票 还是一人一票
+		IPublicDiscussService bean = SpringUtil.getBean(IPublicDiscussService.class);
+		PublicDiscussEntity one = bean.getOne(Wrappers.<PublicDiscussEntity>lambdaQuery().eq(PublicDiscussEntity::getId, userPublicEnroll.getPublicDiscussId()));
+		// 一户一票
+		if (one.getVoteRestrictions().equals(CommonConstant.NUMBER_ONE)) {
+			long count = userPublicEnrollService.count(Wrappers.<UserPublicEnrollEntity>lambdaQuery()
+				.eq(UserPublicEnrollEntity::getPublicDiscussId, userPublicEnroll.getPublicDiscussId())
+				.eq(UserPublicEnrollEntity::getUserId, userPublicEnroll.getUserId())
+				.eq(UserPublicEnrollEntity::getHouseCode, userPublicEnroll.getHouseCode()));
+			if (count > 0) {
+				return R.fail("您房屋已经报名,不能重复报名!");
+			}
+			// 一人一票
+		} else {
+			long count = userPublicEnrollService.count(Wrappers.<UserPublicEnrollEntity>lambdaQuery()
+				.eq(UserPublicEnrollEntity::getPublicDiscussId, userPublicEnroll.getPublicDiscussId())
+				.eq(UserPublicEnrollEntity::getUserId, userPublicEnroll.getUserId()));
+			if (count > 0) {
+				return R.fail("您已报名,不能重复报名!");
+			}
 		}
 		return R.status(userPublicEnrollService.save(userPublicEnroll));
 	}

--
Gitblit v1.9.3