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