From 8d4ee2e7f05b09551c265265ebe3e41ad2fb400b Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 01 Mar 2024 15:50:37 +0800
Subject: [PATCH] bug 修復
---
src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java | 85 ++++++++++++++++++++++++++++++++++++------
1 files changed, 73 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java b/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
index 11162c2..39affc8 100644
--- a/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
+++ b/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
@@ -16,25 +16,36 @@
*/
package org.springblade.modules.discuss.controller;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
-import javax.validation.Valid;
-
-import org.springblade.core.secure.BladeUser;
+import org.springblade.common.constant.CommonConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
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.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.discuss.entity.PublicDiscussEntity;
import org.springblade.modules.discuss.entity.UserTopicsEntity;
+import org.springblade.modules.discuss.excel.UserTopicsExcel;
+import org.springblade.modules.discuss.service.IPublicDiscussService;
+import org.springblade.modules.discuss.service.IUserTopicsService;
+import org.springblade.modules.discuss.vo.TopicsVO;
import org.springblade.modules.discuss.vo.UserTopicsVO;
import org.springblade.modules.discuss.wrapper.UserTopicsWrapper;
-import org.springblade.modules.discuss.service.IUserTopicsService;
-import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.modules.house.excel.HouseExcel;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
/**
* 用户议题报表 控制器
@@ -60,6 +71,7 @@
UserTopicsEntity detail = userTopicsService.getOne(Condition.getQueryWrapper(userTopics));
return R.data(UserTopicsWrapper.build().entityVO(detail));
}
+
/**
* 用户议题报表 分页
*/
@@ -109,7 +121,28 @@
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入userTopics")
public R submit(@Valid @RequestBody UserTopicsEntity userTopics) {
- return R.status(userTopicsService.saveOrUpdate(userTopics));
+ userTopics.setUserId(AuthUtil.getUserId());
+ // 判断是否一户一票 还是一人一票
+ IPublicDiscussService bean = SpringUtil.getBean(IPublicDiscussService.class);
+ PublicDiscussEntity one = bean.getOne(Wrappers.<PublicDiscussEntity>lambdaQuery().eq(PublicDiscussEntity::getId, userTopics.getPublicDiscussId()));
+ // 一户一票
+ if (one.getVoteRestrictions().equals(CommonConstant.NUMBER_ONE)) {
+ long count = userTopicsService.count(Wrappers.<UserTopicsEntity>lambdaQuery()
+ .eq(UserTopicsEntity::getPublicDiscussId, userTopics.getPublicDiscussId())
+ .eq(UserTopicsEntity::getHouseCode, userTopics.getHouseCode()));
+ if (count > 0) {
+ return R.fail("您房屋已经投票,不能重复投票!");
+ }
+ // 一人一票
+ } else {
+ long count = userTopicsService.count(Wrappers.<UserTopicsEntity>lambdaQuery()
+ .eq(UserTopicsEntity::getPublicDiscussId, userTopics.getPublicDiscussId())
+ .eq(UserTopicsEntity::getUserId, userTopics.getUserId()));
+ if (count > 0) {
+ return R.fail("您已投票,不能重复投票!");
+ }
+ }
+ return R.status(userTopicsService.save(userTopics));
}
/**
@@ -118,8 +151,36 @@
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
- public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
- return R.status(userTopicsService.removeByIds(Func.toLongList(ids)));
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam Integer ids) {
+ UserTopicsEntity userTopicsEntity = new UserTopicsEntity();
+ userTopicsEntity.setDeleteFlag(1);
+ userTopicsEntity.setId(ids);
+ return R.status(userTopicsService.updateById(userTopicsEntity));
+ }
+
+ /**
+ * 议题表 修改
+ */
+ @PostMapping("/updateBath")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "批量更新", notes = "传入topics")
+ public R updateBath(@Valid @RequestBody List<TopicsVO> topics) throws Exception {
+ String result = userTopicsService.batchSave(topics);
+ if (result.equals("200")) {
+ return R.data("操作成功");
+ }
+ return R.fail(result);
+ }
+
+ /**
+ * 导出用户
+ */
+ @GetMapping("/exportUser")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "导出用户", notes = "传入userTopics")
+ public void exportUser(UserTopicsVO userTopics, HttpServletResponse response) {
+ List<UserTopicsExcel> list = userTopicsService.exportUser(userTopics);
+ ExcelUtil.export(response, "投票人员" + DateUtil.time(), "投票人员数据表", list, UserTopicsExcel.class);
}
--
Gitblit v1.9.3