huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java
@@ -1,23 +1,28 @@
package com.panzhihua.applets.api;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
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.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.validated.AddGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
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,25 +37,32 @@
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("选项不能为空");
            }
        }
        String address = comActDiscussDTO.getAddress();
        if (ObjectUtils.isEmpty(address)) {
            return R.fail("地址不能为空");
        }else if(address.contains("null")){
        } else if (address.contains("null")) {
            comActDiscussDTO.setAddress(null);
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
@@ -61,17 +73,19 @@
        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());
        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());
            }
        }
        pageComActDiscussDTO.setLoginUserId(loginUserInfo.getUserId());
        return communityService.pageDiscussApplets(pageComActDiscussDTO);
    }
@@ -83,10 +97,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);
    }
@@ -105,22 +124,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);
    }
@@ -132,7 +160,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());
@@ -141,18 +169,20 @@
    @ApiOperation(value = "一起议-投票")
    @GetMapping("discussoptionuser")
    @ApiImplicitParam(name = "id",value = "一起议选项主键",required = true)
    @ApiImplicitParam(name = "id", value = "一起议选项主键", required = true)
    public R addDiscussOptionUser(@RequestParam("id") Long id) {
        if (null==id||0==id) {
        if (null == id || 0 == id) {
            return R.fail("选项主键不能为空");
        }
        ComActDiscussOptionUserDTO comActDiscussOptionUserDTO=new ComActDiscussOptionUserDTO();
        ComActDiscussOptionUserDTO comActDiscussOptionUserDTO = new ComActDiscussOptionUserDTO();
        comActDiscussOptionUserDTO.setDiscussOptionId(id);
        comActDiscussOptionUserDTO.setUserId(this.getUserId());
        // 议事投票计算积分
        AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(id,
            AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId());
        integralUserDTO.setIsComment(2);
        communityService.addIntegralTradeAdmin(integralUserDTO);
        return communityService.addDiscussOptionUser(comActDiscussOptionUserDTO);
    }
}