From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期二, 16 八月 2022 19:08:32 +0800 Subject: [PATCH] 服务范围优化 --- springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java | 159 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 124 insertions(+), 35 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 e6b1717..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,23 +1,48 @@ 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.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; -import org.springframework.util.ObjectUtils; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -32,44 +57,65 @@ public class DiscussApi extends BaseController { @Resource private CommunityService communityService; + @Resource + private CheckService checkService; @ApiOperation(value = "一起议-新增") @PostMapping("discuss") public R addDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) { + // 微信内容审核 + String discussSubject = comActDiscussDTO.getDiscussSubject(); + if (!checkService.checkMessage(discussSubject)) { + return R.fail("内容违规"); + } Integer type = comActDiscussDTO.getType(); String voteTitle = comActDiscussDTO.getVoteTitle(); - List<String> discussOptions = comActDiscussDTO.getDiscussOptions(); - if (type.intValue()==2 ) { - if(ObjectUtils.isEmpty(voteTitle)){ + List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions(); + if (type.equals(2)) { + if (ObjectUtils.isEmpty(voteTitle)) { return R.fail("投票标题不能为空"); } - if(ObjectUtils.isEmpty(discussOptions)){ + 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)) { return R.fail("地址不能为空"); + } else if (address.contains("null")) { + comActDiscussDTO.setAddress(null); } LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); 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) + @ApiOperation(value = "一起议-分页查询", response = ComActDiscussVO.class) @PostMapping("pagediscuss") public R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) { - LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); - pageComActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId()); - Integer isMy = pageComActDiscussDTO.getIsMy(); - if (null!=isMy&&isMy.intValue()==1) { - pageComActDiscussDTO.setUserId(loginUserInfo.getUserId()); + if (Objects.isNull(pageComActDiscussDTO.getType())) { + return R.fail("查询类型不能为空"); } - pageComActDiscussDTO.setLoginUserId(loginUserInfo.getUserId()); + LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); + if (loginUserInfo != null) { + pageComActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId()); + pageComActDiscussDTO.setLoginUserId(loginUserInfo.getUserId()); + + Integer isMy = pageComActDiscussDTO.getIsMy(); + if (null != isMy && isMy.intValue() == 1) { + pageComActDiscussDTO.setUserId(loginUserInfo.getUserId()); + } + } return communityService.pageDiscussApplets(pageComActDiscussDTO); } @@ -81,10 +127,15 @@ return R.fail("回复不能为空"); } Long discussId = comActDiscussCommentDTO.getDiscussId(); - if (null==discussId||0==discussId) { + if (null == discussId || 0 == discussId) { return R.fail("一起议主键不能为空"); } comActDiscussCommentDTO.setUserId(this.getUserId()); + // 议事投票计算积分 + AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(discussId, + AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId()); + integralUserDTO.setIsComment(1); + communityService.addIntegralTradeAdmin(integralUserDTO); return communityService.addDiscussComment(comActDiscussCommentDTO); } @@ -103,22 +154,31 @@ return communityService.putDiscussCommentUser(comActDiscussUserDTO); } - @ApiOperation(value = "一起议-详情",response = ComActDiscussVO.class) + @ApiOperation(value = "一起议-详情", response = ComActDiscussVO.class) @GetMapping("discuss") - @ApiImplicitParam(name = "id",value = "一起议主键",required = true) + @ApiImplicitParam(name = "id", value = "一起议主键", required = true) public R detailDiscuss(@RequestParam("id") Long id) { - Long userId = this.getUserId(); - return communityService.detailDiscussApplets(id,userId); + Long userId = 0L; + LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); + if (loginUserInfo != null) { + userId = loginUserInfo.getUserId(); + } + return communityService.detailDiscussApplets(id, userId); } - @ApiOperation(value = "一起议-评论-分页查询",response = ComActDiscussCommentVO.class) + @ApiOperation(value = "一起议-评论-分页查询", response = ComActDiscussCommentVO.class) @PostMapping("pagediscusscomment") public R pageDiscussComment(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { Long id = pageComActDiscussCommentDTO.getId(); - if (null==id||0==id) { + if (null == id || 0 == id) { return R.fail("一起议主键不能为空"); } - pageComActDiscussCommentDTO.setLoginUserId(this.getUserId()); + Long userId = 0L; + LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); + if (loginUserInfo != null) { + userId = loginUserInfo.getUserId(); + } + pageComActDiscussCommentDTO.setLoginUserId(userId); return communityService.pageDiscussCommentApplets(pageComActDiscussCommentDTO); } @@ -130,7 +190,7 @@ return R.fail("回复不能为空"); } Long id = comActDiscussCommentDTO.getId(); - if (null==id||0==id) { + if (null == id || 0 == id) { return R.fail("评论主键不能为空"); } comActDiscussCommentDTO.setUserId(this.getUserId()); @@ -138,19 +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 comActDiscussOptionUserDTO = new ComActDiscussOptionUserDTO(); + comActDiscussOptionUserDTO.setDiscussOptionIds(optionIds); comActDiscussOptionUserDTO.setUserId(this.getUserId()); + 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