From 1775bb71f952106c58657cf02891cbe2a286c8f8 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期三, 22 九月 2021 11:30:47 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java |   81 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 12 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java
index b5bc7dc..6078cc6 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java
@@ -1,27 +1,47 @@
 package com.panzhihua.applets.api;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
 import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import com.panzhihua.applets.weixin.CheckService;
 import com.panzhihua.common.controller.BaseController;
-import com.panzhihua.common.model.dtos.community.*;
+import com.panzhihua.common.model.dtos.community.ComActDiscussCommentDTO;
+import com.panzhihua.common.model.dtos.community.ComActDiscussCommentUserDTO;
+import com.panzhihua.common.model.dtos.community.ComActDiscussDTO;
+import com.panzhihua.common.model.dtos.community.ComActDiscussOptionDTO;
+import com.panzhihua.common.model.dtos.community.ComActDiscussOptionUserDTO;
+import com.panzhihua.common.model.dtos.community.ComActDiscussUserDTO;
+import com.panzhihua.common.model.dtos.community.DiscussVoteOptionDTO;
+import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO;
+import com.panzhihua.common.model.dtos.community.PageComActDiscussDTO;
 import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.ComActDiscussCommentVO;
 import com.panzhihua.common.model.vos.community.ComActDiscussVO;
 import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.utlis.DateUtils;
 import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -58,6 +78,11 @@
             if (ObjectUtils.isEmpty(discussOptions)) {
                 return R.fail("选项不能为空");
             }
+            if (discussOptions.size() < 2) {
+                return R.fail("请至少设置两个投票选项");
+            }
+            //设置投票开始时间 nowDate
+            comActDiscussDTO.setStartTime(DateUtils.format(new Date(), DateUtils.ymdhms_format));
         }
         String address = comActDiscussDTO.getAddress();
         if (ObjectUtils.isEmpty(address)) {
@@ -70,12 +95,17 @@
         Long communityId = loginUserInfo.getCommunityId();
         comActDiscussDTO.setUserId(userId);
         comActDiscussDTO.setCommunityId(communityId);
+        comActDiscussDTO.setIsApplets(true);
+        comActDiscussDTO.setLoginUserInfo(loginUserInfo);
         return communityService.addDiscuss(comActDiscussDTO);
     }
 
     @ApiOperation(value = "一起议-分页查询", response = ComActDiscussVO.class)
     @PostMapping("pagediscuss")
     public R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) {
+        if (Objects.isNull(pageComActDiscussDTO.getType())) {
+            return R.fail("查询类型不能为空");
+        }
         LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
         if (loginUserInfo != null) {
             pageComActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId());
@@ -168,21 +198,48 @@
     }
 
     @ApiOperation(value = "一起议-投票")
-    @GetMapping("discussoptionuser")
-    @ApiImplicitParam(name = "id", value = "一起议选项主键", required = true)
-    public R addDiscussOptionUser(@RequestParam("id") Long id) {
-        if (null == id || 0 == id) {
+    @PostMapping("discussoptionuser")
+    public R addDiscussOptionUser(@RequestBody @Valid DiscussVoteOptionDTO discussVoteOptionDTO) {
+        List<Long> optionIds = discussVoteOptionDTO.getOptionIds();
+        if (optionIds.isEmpty()) {
             return R.fail("选项主键不能为空");
         }
         ComActDiscussOptionUserDTO comActDiscussOptionUserDTO = new ComActDiscussOptionUserDTO();
-        comActDiscussOptionUserDTO.setDiscussOptionId(id);
+        comActDiscussOptionUserDTO.setDiscussOptionIds(optionIds);
         comActDiscussOptionUserDTO.setUserId(this.getUserId());
-        // 议事投票计算积分
-        AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(id,
-            AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId());
-        integralUserDTO.setIsComment(2);
-        communityService.addIntegralTradeAdmin(integralUserDTO);
+        optionIds.forEach(optionId -> {
+            // 议事投票计算积分
+            AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(optionId,
+                    AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId());
+            integralUserDTO.setIsComment(2);
+            communityService.addIntegralTradeAdmin(integralUserDTO);
+        });
         return communityService.addDiscussOptionUser(comActDiscussOptionUserDTO);
     }
 
+    @ApiOperation(value = "一起议-增加浏览量")
+    @PostMapping("discuss/increase-view-num")
+    public void increaseViewNum(@RequestParam("discussId")
+                             @ApiParam(value = "一起议主键id", required = true)
+                             Long discussId) {
+        communityService.increaseViewNum(discussId);
+    }
+
+    @ApiOperation(value = "一起议-公布/编辑投票结果")
+    @PostMapping("discuss/edit-result")
+    public R editDiscussResult(@RequestBody @Validated(PutGroup.class) ComActDiscussDTO comActDiscussDTO) {
+        comActDiscussDTO.setUserId(this.getUserId());
+        return communityService.editDiscussResult(comActDiscussDTO);
+    }
+
+    @ApiOperation(value = "一起议-获取是否有发布权限", response = Boolean.class)
+    @GetMapping("discuss/permissions")
+    public R getDiscussPermissions() {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        ComActDiscussDTO comActDiscussDTO = new ComActDiscussDTO();
+        comActDiscussDTO.setLoginUserInfo(loginUserInfo);
+        comActDiscussDTO.setIsApplets(true);
+        comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.getDiscussPermissions(comActDiscussDTO);
+    }
 }

--
Gitblit v1.7.1