linwei
2024-01-08 ad2ec97fe0c60eee4bb7c8cdacff7c876f280ea7
src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
@@ -17,20 +17,25 @@
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 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.modules.discuss.entity.TopicsEntity;
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.service.ITopicsService;
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.springframework.web.bind.annotation.*;
@@ -111,7 +116,29 @@
   @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::getUserId, userTopics.getUserId())
            .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));
   }
   /**
@@ -130,10 +157,8 @@
   @PostMapping("/updateBath")
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "批量更新", notes = "传入topics")
   public R updateBath(@Valid @RequestBody List<TopicsEntity> topics) {
   public R updateBath(@Valid @RequestBody List<TopicsVO> topics) throws Exception {
      Boolean result = userTopicsService.batchSave(topics);
      return R.status(result);
   }