puhanshu
2021-09-10 1aa70f3b0a1411d0de3f4ca78b639bf065168be2
Merge branch 'zzj' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into discuss

 Conflicts:
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussDTO.java
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussVO.java
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DiscussApi.java
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActDiscussService.java
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
16个文件已修改
3个文件已添加
1009 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/Constants.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussDTO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDiscussCommentDTO.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/discuss/ComActDiscussDetailDTO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/discuss/ComActDiscussPublishResultDTO.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussCommentVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DiscussApi.java 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DiscussApi.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussCommentDAO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussCommentDO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActDiscussService.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java 442 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentDOMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/timejob/src/main/java/com/panzhihua/timejob/jobhandler/DiscussJobHandler.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/Constants.java
@@ -183,4 +183,9 @@
     * 高德地图获取天气key
     */
    public static final String G_D_WEATHER_KEY = "02019a956b118ac7956c8539ab02b0f5";
    /**
     * 社区议事投票小程序身份验证参数默认key
     */
    public static final String DISCUSS_IDENTITY_KEY = "DISCUSS_IDENTITY_";
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussDTO.java
@@ -84,4 +84,12 @@
    @ApiModelProperty("投票结果")
    private String publishResult;
    /**
     * 类型 1 议事 2 投票
     */
    public interface type{
        int ys = 1;
        int tp = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDiscussCommentDTO.java
@@ -15,10 +15,10 @@
public class PageComActDiscussCommentDTO {
    @ApiModelProperty(value = "分页-当前页数", example = "1")
    private Long pageNum;
    private Long pageNum = 1L;
    @ApiModelProperty(value = "分页-每页记录数", example = "10")
    private Long pageSize;
    private Long pageSize = 10L;
    @ApiModelProperty(value = "账号")
    private String account;
@@ -34,4 +34,7 @@
    @ApiModelProperty(value = "登录用户", required = true)
    private Long loginUserId;
    @ApiModelProperty(value = "关键词")
    private String keyWord;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/discuss/ComActDiscussDetailDTO.java
New file
@@ -0,0 +1,24 @@
package com.panzhihua.common.model.dtos.community.discuss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author lyq
 * 议事投票公布结果请求参数
 */
@Data
@ApiModel("议事投票公布结果请求参数")
public class ComActDiscussDetailDTO {
    @ApiModelProperty("主键id")
    private Long id;
    @ApiModelProperty(value = "分页-当前页数", example = "1")
    private Long pageNum = 1L;
    @ApiModelProperty(value = "分页-每页记录数", example = "10")
    private Long pageSize = 10L;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/discuss/ComActDiscussPublishResultDTO.java
New file
@@ -0,0 +1,36 @@
package com.panzhihua.common.model.dtos.community.discuss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author lyq
 * 议事投票公布结果请求参数
 */
@Data
@ApiModel("议事投票公布结果请求参数")
public class ComActDiscussPublishResultDTO {
    @ApiModelProperty("议事投票id")
    private Long id;
    @ApiModelProperty("公布结果")
    private String result;
    @ApiModelProperty(value = "用户id",hidden = true)
    private Long userId;
    @ApiModelProperty("类型(1.新增公布结果  2.修改公布结果)")
    private Integer type;
    /**
     * 类型(1.新增公布结果  2.修改公布结果)
     */
    public interface type{
        int add = 1;
        int edit = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussCommentVO.java
@@ -80,4 +80,7 @@
    @ApiModelProperty("评论人用户类型(1.小程序用户(其他均为后台用户))")
    private Integer userType;
    @ApiModelProperty("回复量")
    private Integer replyNum;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussVO.java
@@ -117,6 +117,9 @@
    @ApiModelProperty("每人票数")
    private Integer count;
    @ApiModelProperty("议事投票评论列表")
    private List<ComActDiscussCommentVO> discussCommentList;
    @ApiModelProperty("剩余可投票数")
    private Integer remainingVotes;
@@ -125,4 +128,12 @@
    @ApiModelProperty("已参与投票人数")
    private Integer votedPersonNum;
    /**
     * 类型 1 议事 2 投票
     */
    public interface type{
        int ys = 1;
        int tp = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -3,6 +3,8 @@
import java.util.List;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO;
import com.panzhihua.common.model.dtos.neighbor.*;
import com.panzhihua.common.model.vos.community.*;
import io.swagger.annotations.ApiOperation;
@@ -1141,12 +1143,20 @@
    /**
     * 议事投票-详情
     *
     * @param id
     *            主键
     * @param discussDetailDTO
     *            请求参数
     * @return ComActDiscussVO
     */
    @PostMapping("detaildiscuss")
    R detailDiscuss(@RequestParam("id") Long id);
    R detailDiscuss(@RequestBody ComActDiscussDetailDTO discussDetailDTO);
    /**
     * 分页查询评论下回复列表
     * @param discussDetailDTO  请求参数
     * @return  回复列表
     */
    @PostMapping("discussCommentReplyAdmin")
    R discussCommentReplyAdmin(@RequestBody ComActDiscussDetailDTO discussDetailDTO);
    /**
     * 议事投票-删除
@@ -1199,6 +1209,14 @@
    R detailDiscussComment(@RequestParam("id") Long id);
    /**
     * 议事投票评论详情
     * @param pageComActDiscussCommentDTO   请求参数
     * @return  议事投票详情
     */
    @PostMapping("detaildiscusscommentAdmin")
    R detailDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-评论-置顶
     *
     * @param id
@@ -1227,6 +1245,16 @@
     */
    @PostMapping("pagediscusscomment")
    R pageDiscussComment(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-评论-后台分页查询
     *
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
     * @return ComActDiscussCommentVO
     */
    @PostMapping("pagediscusscommentAdmin")
    R pageDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-分页查询 小程序
@@ -5246,6 +5274,46 @@
    R editSysConfValue(@RequestParam("communityId") Long communityId,@RequestParam("status") Integer status);
    /**
     * 议事投票后台公布结果
     * @param publishResultDTO  请求参数
     * @return  公布结果
     */
    @PostMapping("publishResultAdmin")
    R publishResultAdmin(@RequestBody ComActDiscussPublishResultDTO publishResultDTO);
    /**
     * 议事投票-评论/回复删除
     * @param id    评论/回复id
     * @return  删除结果
     */
    @GetMapping("deleteDiscussCommentAdmin")
    R deleteDiscussCommentAdmin(@RequestParam("id") Long id);
    /**
     * 查询社区可发布议事投票权限配置
     * @param communityId   社区id
     * @return  社区可发布议事投票权限配置
     */
    @GetMapping("discussJurisdictionGet")
    R discussJurisdictionGet(@RequestParam("communityId") Long communityId,@RequestParam("userId") Long userId);
    /**
     * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)
     * @param communityId   社区id
     * @param value 需要设置的参数值
     * @return  设置结果
     */
    @GetMapping("discussJurisdictionSet")
    R discussJurisdictionSet(@RequestParam("communityId") Long communityId, @RequestParam("value") String value);
    /**
     * 议事投票检测状态定时任务
     * @return  执行结果
     */
    @GetMapping("timedTaskDiscussInspectStatus")
    R timedTaskDiscussInspectStatus();
    /**
     * 一起议增加浏览量
     * @param discussId 一起议主键id
     */
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DiscussApi.java
@@ -1,10 +1,11 @@
package com.panzhihua.community_backstage.api;
import java.util.List;
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -39,12 +40,12 @@
    @PostMapping("discuss")
    public R addDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
        if (loginUserInfo == null) {
            return R.fail("请先登录");
        }
        comActDiscussDTO.setUserId(loginUserInfo.getUserId());
        comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId());
        if (comActDiscussDTO.getType().equals(2)) {
        if (comActDiscussDTO.getType().equals(ComActDiscussDTO.type.tp)) {
            if (ObjectUtils.isEmpty(comActDiscussDTO.getVoteTitle())) {
                return R.fail("投票标题不能为空");
            }
@@ -59,12 +60,12 @@
    @PostMapping("editDiscuss")
    public R editDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
        if (loginUserInfo == null) {
            return R.fail("请先登录");
        }
        comActDiscussDTO.setUserId(loginUserInfo.getUserId());
        comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId());
        if (comActDiscussDTO.getType().equals(2)) {
        if (comActDiscussDTO.getType().equals(ComActDiscussDTO.type.tp)) {
            if (ObjectUtils.isEmpty(comActDiscussDTO.getVoteTitle())) {
                return R.fail("投票标题不能为空");
            }
@@ -76,9 +77,15 @@
    }
    @ApiOperation(value = "议事投票-详情-", response = ComActDiscussVO.class)
    @GetMapping("discuss")
    public R detailDiscuss(@RequestParam("id") Long id) {
        return communityService.detailDiscuss(id);
    @PostMapping("discussDetail")
    public R detailDiscuss(@RequestBody ComActDiscussDetailDTO discussDetailDTO) {
        return communityService.detailDiscuss(discussDetailDTO);
    }
    @ApiOperation(value = "议事投票-分页查询评论下回复列表-", response = ComActDiscussCommentVO.class)
    @PostMapping("discuss/commment/reply")
    public R discussCommentReplyAdmin(@RequestBody ComActDiscussDetailDTO discussDetailDTO) {
        return communityService.discussCommentReplyAdmin(discussDetailDTO);
    }
    @ApiOperation(value = "议事投票-删除-")
@@ -87,8 +94,8 @@
        return communityService.deleteDiscuss(id);
    }
    @ApiOperation(value = "议事投票-回复")
    @PostMapping("discusscomment")
    @ApiOperation(value = "议事投票-回复-")
    @PostMapping("addDiscussComment")
    public R addDiscussComment(@RequestBody ComActDiscussCommentDTO comActDiscussCommentDTO) {
        String comment = comActDiscussCommentDTO.getComment();
        if (ObjectUtils.isEmpty(comment)) {
@@ -110,19 +117,25 @@
        return communityService.pageDiscussAdmin(pageComActDiscussDTO);
    }
    @ApiOperation(value = "议事投票-评论-查看", response = ComActDiscussCommentVO.class)
    @ApiOperation(value = "议事投票-评论详情", response = ComActDiscussCommentVO.class)
    @GetMapping("discusscomment")
    public R detailDiscussComment(@RequestParam("id") Long id) {
        return communityService.detailDiscussComment(id);
    }
    @ApiOperation(value = "议事投票-评论-置顶")
    @ApiOperation(value = "议事投票-评论详情-改版后", response = ComActDiscussCommentVO.class)
    @PostMapping("discusscomment")
    public R detailDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        return communityService.detailDiscussCommentAdmin(pageComActDiscussCommentDTO);
    }
    @ApiOperation(value = "议事投票-评论-置顶-")
    @GetMapping("discusscommenttop")
    public R putDiscussCommentTop(@RequestParam("id") Long id) {
        return communityService.putDiscussCommentTop(id);
    }
    @ApiOperation(value = "议事投票-评论-回复")
    @ApiOperation(value = "议事投票-评论-回复-")
    @PostMapping("discusscommentback")
    public R addDiscussCommentBack(@RequestBody ComActDiscussCommentDTO comActDiscussCommentDTO) {
        String comment = comActDiscussCommentDTO.getComment();
@@ -137,13 +150,49 @@
        return communityService.addDiscussCommentBack(comActDiscussCommentDTO);
    }
    @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) {
            return R.fail("议事投票主键不能为空");
        }
        return communityService.pageDiscussComment(pageComActDiscussCommentDTO);
        return communityService.pageDiscussCommentAdmin(pageComActDiscussCommentDTO);
    }
    @ApiOperation(value = "议事投票-公布结果/修改公布结果-")
    @PostMapping("publishResult")
    public R publishResult(@RequestBody ComActDiscussPublishResultDTO publishResultDTO) {
        String result = publishResultDTO.getResult();
        if (ObjectUtils.isEmpty(result)) {
            return R.fail("公布的结果不能为空");
        }
        Long id = publishResultDTO.getId();
        if (null == id || 0 == id) {
            return R.fail("议事投票id不能为空");
        }
        publishResultDTO.setUserId(this.getUserId());
        return communityService.publishResultAdmin(publishResultDTO);
    }
    @ApiOperation(value = "议事投票-评论/回复删除-")
    @DeleteMapping("discuss/comment/del")
    public R deleteDiscussCommentAdmin(@RequestParam("id") Long id) {
        return communityService.deleteDiscussCommentAdmin(id);
    }
    @ApiOperation(value = "查询社区可发布议事投票权限配置")
    @GetMapping("discuss/jurisdiction/get")
    public R discussJurisdictionGet() {
        return communityService.discussJurisdictionGet(this.getCommunityId(),this.getUserId());
    }
    @PutMapping("/discuss/jurisdiction/set/{value}")
    @ApiOperation(value = "设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)")
    public R discussJurisdictionSet(@PathVariable("value") String value) {
        if (StringUtils.isEmpty(value)) {
            return R.fail("参数错误");
        }
        return communityService.discussJurisdictionSet(this.getCommunityId(), value);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DiscussApi.java
@@ -2,6 +2,8 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO;
import org.springframework.web.bind.annotation.*;
import com.panzhihua.common.model.dtos.community.*;
@@ -48,13 +50,23 @@
    /**
     * 议事投票-详情
     * 
     * @param id
     *            主键
     * @param discussDetailDTO
     *            请求参数
     * @return ComActDiscussVO
     */
    @PostMapping("detaildiscuss")
    public R detailDiscuss(@RequestParam("id") Long id) {
        return comActDiscussService.detailDiscuss(id);
    public R detailDiscuss(@RequestBody ComActDiscussDetailDTO discussDetailDTO) {
        return comActDiscussService.detailDiscuss(discussDetailDTO);
    }
    /**
     * 分页查询评论下回复列表
     * @param discussDetailDTO  请求参数
     * @return  回复列表
     */
    @PostMapping("discussCommentReplyAdmin")
    public R discussCommentReplyAdmin(@RequestBody ComActDiscussDetailDTO discussDetailDTO) {
        return comActDiscussService.discussCommentReplyAdmin(discussDetailDTO);
    }
    /**
@@ -118,6 +130,16 @@
    }
    /**
     * 议事投票评论详情
     * @param pageComActDiscussCommentDTO   请求参数
     * @return  议事投票详情
     */
    @PostMapping("detaildiscusscommentAdmin")
    public R detailDiscusscommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        return comActDiscussService.detailDiscussCommentAdmin(pageComActDiscussCommentDTO);
    }
    /**
     * 议事投票-评论-置顶
     * 
     * @param id
@@ -151,6 +173,18 @@
    @PostMapping("pagediscusscomment")
    public R pageDiscussComment(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        return comActDiscussService.pageDiscussComment(pageComActDiscussCommentDTO);
    }
    /**
     * 议事投票-评论-后台分页查询
     *
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
     * @return ComActDiscussCommentVO
     */
    @PostMapping("pagediscusscommentAdmin")
    public R pageDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        return comActDiscussService.pageDiscussCommentAdmin(pageComActDiscussCommentDTO);
    }
    /**
@@ -228,6 +262,57 @@
    }
    /**
     * 议事投票后台公布结果
     * @param publishResultDTO  请求参数
     * @return  公布结果
     */
    @PostMapping("publishResultAdmin")
    public R publishResultAdmin(@RequestBody ComActDiscussPublishResultDTO publishResultDTO) {
        return comActDiscussService.publishResultAdmin(publishResultDTO);
    }
    /**
     * 议事投票-评论/回复删除
     * @param id    评论/回复id
     * @return  删除结果
     */
    @GetMapping("deleteDiscussCommentAdmin")
    public R deleteDiscussCommentAdmin(@RequestParam("id") Long id) {
        return comActDiscussService.deleteDiscussCommentAdmin(id);
    }
    /**
     * 查询社区可发布议事投票权限配置
     * @param communityId   社区id
     * @return  社区可发布议事投票权限配置
     */
    @GetMapping("discussJurisdictionGet")
    public R discussJurisdictionGet(@RequestParam("communityId") Long communityId,@RequestParam("userId") Long userId) {
        return comActDiscussService.discussJurisdictionGet(communityId,userId);
    }
    /**
     * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)
     * @param communityId   社区id
     * @param value 需要设置的参数值
     * @return  设置结果
     */
    @GetMapping("discussJurisdictionSet")
    public R discussJurisdictionSet(@RequestParam("communityId") Long communityId,@RequestParam("value") String value) {
        return comActDiscussService.discussJurisdictionSet(communityId,value);
    }
    /**
     * 议事投票检测状态定时任务
     * @return  执行结果
     */
    @GetMapping("timedTaskDiscussInspectStatus")
    public R timedTaskDiscussInspectStatus() {
        return comActDiscussService.timedTaskDiscussInspectStatus();
    }
    /**
     * 一起议增加浏览量
     * @param discussId 一起议主键id
     */
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussCommentDAO.java
@@ -2,7 +2,11 @@
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -52,4 +56,12 @@
            "ORDER BY\n" +
            "create_at desc")
    List<ComActDiscussCommentVO> selectChilds(Long id);
    /**
     * 该评论下所有回复内容
     * @param page  分页参数
     * @param id    评论id
     * @return  回复列表
     */
    IPage<ComActDiscussCommentVO> getDiscussCommentList(Page page, @Param("id") Long id);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
@@ -75,6 +75,24 @@
    IPage<ComActDiscussCommentVO> pageDiscussComment(Page page,
        @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-评论-后台分页查询
     *
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
     * @return ComActDiscussCommentVO
     */
    IPage<ComActDiscussCommentVO> pageDiscussCommentAdmin(Page page,
                                                     @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 默认查询评论下两条回复信息
     * @param commentId 评论id
     * @return  回复列表
     */
    List<ComActDiscussCommentVO> getDiscussCommentReplyList(@Param("commentId") Long commentId);
//    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.vote_title, "
//        + "if(d.address is null or d.address='null',a.name,d.address )address, " + "d.photo_pah, "
//        + "d.`discuss_subject`, " + "d.type, " + "d.end_time, " + "d.status, " + "d.views_num, " + "d.join_num, "
@@ -168,6 +186,13 @@
    List<ComActDiscussOptionVO> getScreenDiscussOptionList(@Param("discussId") Long discussId);
    /**
     * 添加议事投票评论数
     * @param discussId 议事投票
     * @param num   添加数量
     */
    void addCommentCount(@Param("discussId") Long discussId,@Param("num") Integer num);
    /**
     * 更新一起议主题状态
     * @param discussId
     * @param status
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussCommentDO.java
@@ -64,4 +64,17 @@
     * 回复量
     */
    private Integer replyNum;
    /**
     * 是否删除(1.是  2.否)
     */
    private Integer isDel;
    /**
     * 是否删除枚举(1.是  2.否)
     */
    public interface isDelete{
        int yes = 1;
        int no = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussDO.java
@@ -152,6 +152,11 @@
    private Date updateAt;
    /**
     * 公布人id
     */
    private Long publishBy;
    /**
     * 类型 1 议事 2 投票
     */
    public interface type{
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActDiscussService.java
@@ -2,6 +2,8 @@
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenDiscussListDTO;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO;
import com.panzhihua.common.model.vos.R;
/**
@@ -30,11 +32,11 @@
    /**
     * 议事投票-详情
     * 
     * @param id
     *            主键
     * @param discussDetailDTO
     *            请求参数
     * @return ComActDiscussVO
     */
    R detailDiscuss(Long id);
    R detailDiscuss(ComActDiscussDetailDTO discussDetailDTO);
    /**
     * 议事投票-删除
@@ -80,6 +82,13 @@
    R detailDiscusscomment(Long id);
    /**
     * 议事投票评论详情
     * @param pageComActDiscussCommentDTO   请求参数
     * @return  议事投票详情
     */
    R detailDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-评论-置顶
     * 
     * @param id
@@ -105,6 +114,15 @@
     * @return ComActDiscussCommentVO
     */
    R pageDiscussComment(PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-评论-后台分页查询
     *
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
     * @return ComActDiscussCommentVO
     */
    R pageDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 议事投票-分页查询 小程序
@@ -172,6 +190,48 @@
    R getScreenDiscussList(ScreenDiscussListDTO discussListDTO);
    /**
     * 议事投票后台公布结果
     * @param publishResultDTO  请求参数
     * @return  公布结果
     */
    R publishResultAdmin(ComActDiscussPublishResultDTO publishResultDTO);
    /**
     * 议事投票-评论/回复删除
     * @param id    评论/回复id
     * @return  删除结果
     */
    R deleteDiscussCommentAdmin(Long id);
    /**
     * 分页查询评论下回复列表
     * @param discussDetailDTO  请求参数
     * @return  回复列表
     */
    R discussCommentReplyAdmin(ComActDiscussDetailDTO discussDetailDTO);
    /**
     * 查询社区可发布议事投票权限配置
     * @param communityId   社区id
     * @return  社区可发布议事投票权限配置
     */
    R discussJurisdictionGet(Long communityId,Long userId);
    /**
     * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)
     * @param communityId   社区id
     * @param value 需要设置的参数值
     * @return  设置结果
     */
    R discussJurisdictionSet(Long communityId,String value);
    /**
     * 议事投票检测状态定时任务
     * @return  执行结果
     */
    R timedTaskDiscussInspectStatus();
    /**
     * 一起议增加浏览量
     * @param discussId
     */
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -18,6 +18,13 @@
import javax.annotation.Resource;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO;
import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.utlis.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.connection.StringRedisConnection;
import org.springframework.data.redis.core.RedisCallback;
@@ -99,6 +106,8 @@
    @Resource
    private ComActDiscussOptionService comActDiscussOptionService;
    @Resource
    private SysConfMapper sysConfDao;
    @Resource
    private SysConfService sysConfService;
    @Resource
    private UserService userService;
@@ -108,8 +117,7 @@
    /**
     * 议事投票-新增
     *
     * @param comActDiscussDTO
     *            新增参数
     * @param comActDiscussDTO 新增参数
     * @return 新增结果
     */
    @Override
@@ -122,9 +130,9 @@
        BeanUtils.copyProperties(comActDiscussDTO, comActDiscussDO);
        Integer type = comActDiscussDTO.getType();
        Date nowDate = new Date();
        if(type.equals(ComActDiscussDO.type.tp)){//判断是投票,需要转义时间
            Date startTime = DateUtils.stringToDate(comActDiscussDTO.getStartTime(),DateUtils.ymdhms_format);
            Date endTime = DateUtils.stringToDate(comActDiscussDTO.getEndTime(),DateUtils.ymdhms_format);
        if (type.equals(ComActDiscussDO.type.tp)) {//判断是投票,需要转义时间
            Date startTime = DateUtils.stringToDate(comActDiscussDTO.getStartTime(), DateUtils.ymdhms_format);
            Date endTime = DateUtils.stringToDate(comActDiscussDTO.getEndTime(), DateUtils.ymdhms_format);
            comActDiscussDO.setStartTime(startTime);
            comActDiscussDO.setEndTime(endTime);
            comActDiscussDO.setStatus(ComActDiscussDO.status.wks);
@@ -133,7 +141,7 @@
                comActDiscussDO.setStatus(ComActDiscussDO.status.jxz);
                comActDiscussDO.setReleaseAt(nowDate);
            }
        }else{
        } else {
            comActDiscussDO.setStatus(ComActDiscussDO.status.yfb);
        }
        String address = comActDiscussDO.getAddress();
@@ -206,8 +214,9 @@
    /**
     * 议事投票-编辑
     * @param comActDiscussDTO  请求参数
     * @return  编辑结果
     *
     * @param comActDiscussDTO 请求参数
     * @return 编辑结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -217,18 +226,18 @@
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("议事投票不存在");
        }
        if(!comActDiscussDO.getStatus().equals(ComActDiscussDO.status.wks) && !comActDiscussDO.getStatus().equals(ComActDiscussDO.status.yfb)){
        if (!comActDiscussDO.getStatus().equals(ComActDiscussDO.status.wks) && !comActDiscussDO.getStatus().equals(ComActDiscussDO.status.yfb)) {
            return R.fail("该状态不可修改");
        }
        Integer type =  comActDiscussDO.getType();
        Integer type = comActDiscussDO.getType();
        Integer isRepeat = comActDiscussDO.getIsRepeat();
        BeanUtils.copyProperties(comActDiscussDTO, comActDiscussDO);
        comActDiscussDO.setType(type);
        comActDiscussDO.setIsRepeat(isRepeat);
        Date nowDate = new Date();
        if(type.equals(ComActDiscussDO.type.tp)){//判断是投票,需要转义时间
            Date startTime = DateUtils.stringToDate(comActDiscussDTO.getStartTime(),DateUtils.ymdhms_format);
            Date endTime = DateUtils.stringToDate(comActDiscussDTO.getEndTime(),DateUtils.ymdhms_format);
        if (type.equals(ComActDiscussDO.type.tp)) {//判断是投票,需要转义时间
            Date startTime = DateUtils.stringToDate(comActDiscussDTO.getStartTime(), DateUtils.ymdhms_format);
            Date endTime = DateUtils.stringToDate(comActDiscussDTO.getEndTime(), DateUtils.ymdhms_format);
            comActDiscussDO.setStartTime(startTime);
            comActDiscussDO.setEndTime(endTime);
            comActDiscussDO.setStatus(ComActDiscussDO.status.wks);
@@ -237,7 +246,7 @@
                comActDiscussDO.setStatus(ComActDiscussDO.status.jxz);
                comActDiscussDO.setReleaseAt(nowDate);
            }
        }else{
        } else {
            comActDiscussDO.setStatus(ComActDiscussDO.status.yfb);
        }
        comActDiscussDO.setUpdateAt(new Date());
@@ -246,7 +255,7 @@
            //如果是投票,需要把投票的选项存储
            if (type.equals(2)) {
                comActDiscussOptionService.remove(new QueryWrapper<ComActDiscussOptionDO>().lambda()
                        .eq(ComActDiscussOptionDO::getDiscussId,comActDiscussDO1Id));
                        .eq(ComActDiscussOptionDO::getDiscussId, comActDiscussDO1Id));
                List<ComActDiscussOptionDO> comActDiscussOptionDOS = new ArrayList<>();
                comActDiscussDTO.getDiscussOptions().forEach(s -> {
                    ComActDiscussOptionDO comActDiscussOptionDO = new ComActDiscussOptionDO();
@@ -265,12 +274,12 @@
    /**
     * 议事投票-详情
     *
     * @param id
     *            主键
     * @param discussDetailDTO 请求参数
     * @return ComActDiscussVO
     */
    @Override
    public R detailDiscuss(Long id) {
    public R detailDiscuss(ComActDiscussDetailDTO discussDetailDTO) {
        Long id = discussDetailDTO.getId();
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("议事投票不存在");
@@ -279,22 +288,36 @@
        BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
        comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum());
        Integer type = comActDiscussVO.getType();
        if (type.equals(2)) {
        if (type.equals(ComActDiscussVO.type.tp)) {
            //查询选项列表
            List<ComActDiscussOptionVO> comActDiscussOptionVOS = comActDiscussOptionDAO.getDiscussOptionList(id);
            comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
            List<ComActDiscussOptionVO> comActDiscussOptionList = comActDiscussOptionDAO.getDiscussOptionList(id);
            comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionList);
        }
        Long userId = comActDiscussDO.getUserId();
        LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId);
        comActDiscussVO.setUserName(loginUserInfoVO.getName());
        comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName());
        //分页查询评论列表
        PageComActDiscussCommentDTO pageComActDiscussCommentDTO = new PageComActDiscussCommentDTO();
        BeanUtils.copyProperties(discussDetailDTO, pageComActDiscussCommentDTO);
        IPage<ComActDiscussCommentVO> discussComments = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO);
        discussComments.getRecords().forEach(comment -> {
            if (comment.getReplyNum() > 0) {
                List<ComActDiscussCommentVO> childList = comActDiscussDAO.getDiscussCommentReplyList(comment.getId());
                if (!childList.isEmpty()) {
                    comment.setComActDiscussCommentVOList(childList);
                }
            }
        });
        comActDiscussVO.setDiscussCommentList(discussComments.getRecords());
        return R.ok(comActDiscussVO);
    }
    /**
     * 议事投票-删除
     *
     * @param id
     *            主键
     * @param id 主键
     * @return 删除结果
     */
    @Override
@@ -311,8 +334,7 @@
    /**
     * 议事投票-回复
     *
     * @param comActDiscussCommentDTO
     *            评论内容
     * @param comActDiscussCommentDTO 评论内容
     * @return 回复结果
     */
    @Override
@@ -335,6 +357,7 @@
        }
        int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO);
        if (insert > 0) {
//            comActDiscussDAO.addCommentCount(discussId, 1);
            //评论成功,评论总数+1
            //若首次参与评论,参与讨论人数+1
            if (currentUserCommentCount > 0) {
@@ -350,43 +373,31 @@
    /**
     * 议事投票-分页查询
     *
     * @param pageComActDiscussDTO
     *            查询参数
     * @param pageComActDiscussDTO 查询参数
     * @return ComActDiscussVO
     */
    @Override
    public R pageDiscuss(PageComActDiscussDTO pageComActDiscussDTO) {
        Page page = new Page<>();
        Long pageNum = pageComActDiscussDTO.getPageNum();
        Long pageSize = pageComActDiscussDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscuss(page, pageComActDiscussDTO);
        IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscuss(new Page<>(pageComActDiscussDTO.getPageNum(), pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO);
        return R.ok(iPage);
    }
    /**
     * 议事投票-后台分页查询
     * @param pageComActDiscussDTO  请求参数
     * @return  议事投票列表
     *
     * @param pageComActDiscussDTO 请求参数
     * @return 议事投票列表
     */
    @Override
    public R pageDiscussAdmin(PageComActDiscussDTO pageComActDiscussDTO) {
        return R.ok(comActDiscussDAO.pageDiscussAdmin(new Page<>(pageComActDiscussDTO.getPageNum(),pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO));
        return R.ok(comActDiscussDAO.pageDiscussAdmin(new Page<>(pageComActDiscussDTO.getPageNum(), pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO));
    }
    /**
     * 议事投票-评论-查看
     *
     * @param id
     *            主键
     * @param id 主键
     * @return 详情 ComActDiscussCommentVO
     */
    @Override
@@ -408,7 +419,7 @@
            comActDiscussCommentVO.setParentId(parentId);
        }
        Integer count = comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
            .eq(ComActDiscussCommentUserDO::getDisscussCommentId, id));
                .eq(ComActDiscussCommentUserDO::getDisscussCommentId, id));
        comActDiscussCommentVO.setNum(count);
        LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(comActDiscussCommentDO.getUserId());
        comActDiscussCommentVO.setUserName(loginUserInfoVO.getName());
@@ -417,10 +428,49 @@
    }
    /**
     * 议事投票评论详情
     *
     * @param pageComActDiscussCommentDTO 请求参数
     * @return 议事投票详情
     */
    @Override
    public R detailDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        Long id = pageComActDiscussCommentDTO.getId();
        ComActDiscussCommentDO comActDiscussCommentDO = comActDiscussCommentDAO.selectById(id);
        if (ObjectUtils.isEmpty(comActDiscussCommentDO)) {
            return R.fail("评论不存在");
        }
        ComActDiscussCommentVO comActDiscussCommentVO = new ComActDiscussCommentVO();
        Long parentId = comActDiscussCommentDO.getParentId();
        if (parentId.intValue() == 0) {
            // 一级评论
            BeanUtils.copyProperties(comActDiscussCommentDO, comActDiscussCommentVO);
        } else {
            ComActDiscussCommentDO comActDiscussCommentDO1 = comActDiscussCommentDAO.selectById(parentId);
            BeanUtils.copyProperties(comActDiscussCommentDO1, comActDiscussCommentVO);
            comActDiscussCommentVO.setCommentBack(comActDiscussCommentDO.getComment());
            comActDiscussCommentVO.setTimeBack(comActDiscussCommentDO.getCreateAt());
            comActDiscussCommentVO.setParentId(parentId);
        }
        Integer count = comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
                .eq(ComActDiscussCommentUserDO::getDisscussCommentId, id));
        comActDiscussCommentVO.setNum(count);
        LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(comActDiscussCommentDO.getUserId());
        comActDiscussCommentVO.setUserName(loginUserInfoVO.getName());
        comActDiscussCommentVO.setPhone(loginUserInfoVO.getPhone());
        //查询该评论下所有回复内容
        IPage<ComActDiscussCommentVO> discussCommentList = comActDiscussCommentDAO.getDiscussCommentList(new Page(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO.getId());
        if (!discussCommentList.getRecords().isEmpty()) {
            comActDiscussCommentVO.setComActDiscussCommentVOList(discussCommentList.getRecords());
        }
        return R.ok(comActDiscussCommentVO);
    }
    /**
     * 议事投票-评论-置顶
     *
     * @param id
     *            主键
     * @param id 主键
     * @return 置顶结果
     */
    @Override
@@ -437,7 +487,7 @@
        ComActDiscussCommentDO comActDiscussCommentDO1 = new ComActDiscussCommentDO();
        comActDiscussCommentDO1.setIsTopping(0);
        comActDiscussCommentDAO.update(comActDiscussCommentDO1,
            new UpdateWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, discussId));
                new UpdateWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, discussId));
        comActDiscussCommentDO1.setIsTopping(1);
        comActDiscussCommentDO1.setId(id);
        int update = comActDiscussCommentDAO.updateById(comActDiscussCommentDO1);
@@ -450,8 +500,7 @@
    /**
     * 议事投票-评论-回复
     *
     * @param comActDiscussCommentDTO
     *            回复内容
     * @param comActDiscussCommentDTO 回复内容
     * @return 回复结果
     */
    @Override
@@ -465,6 +514,10 @@
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("议事投票不存在");
        }
        Long parentId = comActDiscussCommentDO.getParentId();
        if (parentId.intValue() != 0) {
            return R.fail("二级评论不能回复");
        }
        Long currentUser = comActDiscussCommentDTO.getUserId();
        //判断当前用户是否参与过评论/回复
@@ -481,6 +534,7 @@
        }
        int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO1);
        if (insert > 0) {
//            comActDiscussDAO.addCommentCount(discussId, 1);
            //回复成功,评论总数+1
            //若首次参与评论,参与讨论人数+1
            if (currentUserCommentCount > 0) {
@@ -496,32 +550,31 @@
    /**
     * 议事投票-评论-分页查询
     *
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
     * @param pageComActDiscussCommentDTO 分页查询参数
     * @return ComActDiscussCommentVO
     */
    @Override
    public R pageDiscussComment(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        Page page = new Page<>();
        Long pageNum = pageComActDiscussCommentDTO.getPageNum();
        Long pageSize = pageComActDiscussCommentDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussComment(page, pageComActDiscussCommentDTO);
        IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussComment(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO);
        return R.ok(iPage);
    }
    /**
     * 议事投票-评论-后台分页查询
     *
     * @param pageComActDiscussCommentDTO 分页查询参数
     * @return ComActDiscussCommentVO
     */
    @Override
    public R pageDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
        IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO);
        return R.ok(iPage);
    }
    /**
     * 议事投票-分页查询 小程序
     *
     * @param pageComActDiscussDTO
     *            查询参数
     * @param pageComActDiscussDTO 查询参数
     * @return ComActDiscussVO 分页
     */
    @Override
@@ -546,13 +599,13 @@
                Long id = comActDiscussVO.getId();
                if (type.equals(2)) {
                    List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                        new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
                            new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
                    List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>();
                    comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> {
                        Long discussOptionDOId = comActDiscussOptionDO.getId();
                        Integer selectCount =
                            comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>()
                                .lambda().eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
                                comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>()
                                        .lambda().eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
                        ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO();
                        BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO);
                        comActDiscussOptionVO.setNum(selectCount);
@@ -560,7 +613,7 @@
                        if (loginUserId != null) {
                            // 判断选项是否已投票
                            int haveVote =
                                comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId);
                                    comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId);
                            comActDiscussOptionVO.setHaveVote(haveVote > 0 ? 1 : 0);
                        }
                        comActDiscussOptionVOS.add(comActDiscussOptionVO);
@@ -579,8 +632,8 @@
                if (loginUserId != null) {
                    Integer integer = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda()
                        .eq(ComActDiscussUserDO::getDiscussId, comActDiscussVO.getId())
                        .eq(ComActDiscussUserDO::getUserId, loginUserId));
                            .eq(ComActDiscussUserDO::getDiscussId, comActDiscussVO.getId())
                            .eq(ComActDiscussUserDO::getUserId, loginUserId));
                    if (integer > 0) {
                        comActDiscussVO.setHaveSign(1);
                    } else {
@@ -612,8 +665,7 @@
    /**
     * 议事投票-点赞、取消点赞
     *
     * @param comActDiscussUserDTO
     *            操作类型
     * @param comActDiscussUserDTO 操作类型
     * @return 操作结果
     */
    @Override
@@ -627,8 +679,8 @@
            num = comActDiscussUserDAO.insert(comActDiscussUserDO);
        } else {
            num = comActDiscussUserDAO.delete(new QueryWrapper<ComActDiscussUserDO>().lambda()
                .eq(ComActDiscussUserDO::getUserId, comActDiscussUserDTO.getUserId())
                .eq(ComActDiscussUserDO::getDiscussId, comActDiscussUserDTO.getDiscussId()));
                    .eq(ComActDiscussUserDO::getUserId, comActDiscussUserDTO.getUserId())
                    .eq(ComActDiscussUserDO::getDiscussId, comActDiscussUserDTO.getDiscussId()));
        }
        if (num > 0) {
            //点赞成功 总数+1 || 取消点赞成功 总数-1
@@ -641,8 +693,7 @@
    /**
     * 议事投票-评论-分页查询 小程序
     *
     * @param pageComActDiscussCommentDTO
     *            分页参数
     * @param pageComActDiscussCommentDTO 分页参数
     * @return ComActDiscussCommentVO
     */
    @Override
@@ -659,7 +710,7 @@
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComActDiscussCommentVO> iPage =
            comActDiscussDAO.pageDiscussCommentApplets(page, pageComActDiscussCommentDTO);
                comActDiscussDAO.pageDiscussCommentApplets(page, pageComActDiscussCommentDTO);
        List<ComActDiscussCommentVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActDiscussCommentVO -> {
@@ -671,8 +722,8 @@
                    comActDiscussCommentVOList.forEach(comActDiscussCommentVO1 -> {
                        Long parentId = comActDiscussCommentVO1.getParentId();
                        List<ComActDiscussCommentVO> collect = comActDiscussCommentVOS.stream()
                            .filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId))
                            .collect(Collectors.toList());
                                .filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId))
                                .collect(Collectors.toList());
                        if (!ObjectUtils.isEmpty(collect)) {
                            String userName = collect.get(0).getUserName();
                            String userNickName = collect.get(0).getUserNickName();
@@ -680,8 +731,8 @@
                            comActDiscussCommentVO1.setUserNickNameBack(userNickName);
                        }
                        List<ComActDiscussCommentVO> collect1 = records.stream()
                            .filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId))
                            .collect(Collectors.toList());
                                .filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId))
                                .collect(Collectors.toList());
                        if (!ObjectUtils.isEmpty(collect1)) {
                            ComActDiscussCommentVO comActDiscussCommentVOFirst = collect1.get(0);
                            String userName = comActDiscussCommentVOFirst.getUserName();
@@ -690,13 +741,13 @@
                            comActDiscussCommentVO1.setUserNickNameBack(userNickName);
                        }
                        if (pageComActDiscussCommentDTO.getLoginUserId() != null
                            && !pageComActDiscussCommentDTO.getLoginUserId().equals(0L)) {
                                && !pageComActDiscussCommentDTO.getLoginUserId().equals(0L)) {
                            Integer integer = comActDiscussCommentUserDAO
                                .selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
                                    .eq(ComActDiscussCommentUserDO::getDisscussCommentId,
                                        comActDiscussCommentVO1.getId())
                                    .eq(ComActDiscussCommentUserDO::getUserId,
                                        pageComActDiscussCommentDTO.getLoginUserId()));
                                    .selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
                                            .eq(ComActDiscussCommentUserDO::getDisscussCommentId,
                                                    comActDiscussCommentVO1.getId())
                                            .eq(ComActDiscussCommentUserDO::getUserId,
                                                    pageComActDiscussCommentDTO.getLoginUserId()));
                            if (integer > 0) {
                                comActDiscussCommentVO1.setHaveSign(1);
                            } else {
@@ -710,11 +761,11 @@
                    comActDiscussCommentVO.setComActDiscussCommentVOList(comActDiscussCommentVOList);
                }
                if (pageComActDiscussCommentDTO.getLoginUserId() != null
                    && !pageComActDiscussCommentDTO.getLoginUserId().equals(0L)) {
                        && !pageComActDiscussCommentDTO.getLoginUserId().equals(0L)) {
                    Integer integer =
                        comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
                            .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentVO.getId())
                            .eq(ComActDiscussCommentUserDO::getUserId, pageComActDiscussCommentDTO.getLoginUserId()));
                            comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
                                    .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentVO.getId())
                                    .eq(ComActDiscussCommentUserDO::getUserId, pageComActDiscussCommentDTO.getLoginUserId()));
                    if (integer > 0) {
                        comActDiscussCommentVO.setHaveSign(1);
                    } else {
@@ -734,10 +785,8 @@
    /**
     * 议事投票-详情 小程序
     *
     * @param id
     *            主键
     * @param loginUserId
     *            登录用户主键
     * @param id          主键
     * @param loginUserId 登录用户主键
     * @return ComActDiscussVO
     */
    @Override
@@ -752,21 +801,21 @@
        Integer type = comActDiscussVO.getType();
        if (type.equals(2)) {
            List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
                    new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
            List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>();
            ArrayList<Integer> votes = new ArrayList<>();
            comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> {
                Long discussOptionDOId = comActDiscussOptionDO.getId();
                Integer selectCount =
                    comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda()
                        .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
                        comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda()
                                .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
                ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO();
                BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO);
                comActDiscussOptionVO.setNum(selectCount);
                if (loginUserId != null && !loginUserId.equals(0L)) {
                    // 判断选项是否已投票
                    int haveVote =
                        comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId);
                            comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId);
                    votes.add(haveVote);
                    comActDiscussOptionVO.setHaveVote(haveVote > 0 ? 1 : 0);
                }
@@ -848,8 +897,7 @@
    /**
     * 议事投票-投票
     *
     * @param comActDiscussOptionUserDTO
     *            投票信息
     * @param comActDiscussOptionUserDTO 投票信息
     * @return 投票结果
     */
    @Override
@@ -901,14 +949,13 @@
    /**
     * 议事投票-评论-点赞、取消点赞
     *
     * @param comActDiscussCommentUserDTO
     *            评论点赞
     * @param comActDiscussCommentUserDTO 评论点赞
     * @return 点赞结果
     */
    @Override
    public R putDiscussCommentUser(ComActDiscussCommentUserDTO comActDiscussCommentUserDTO) {
        ComActDiscussCommentDO comActDiscussCommentDO =
            comActDiscussCommentDAO.selectById(comActDiscussCommentUserDTO.getId());
                comActDiscussCommentDAO.selectById(comActDiscussCommentUserDTO.getId());
        if (ObjectUtils.isEmpty(comActDiscussCommentDO)) {
            return R.fail("评论不存在");
        }
@@ -921,8 +968,8 @@
            num = comActDiscussCommentUserDAO.insert(comActDiscussCommentUserDO);
        } else {
            num = comActDiscussCommentUserDAO.delete(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
                .eq(ComActDiscussCommentUserDO::getUserId, comActDiscussCommentUserDTO.getUserId())
                .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentUserDTO.getId()));
                    .eq(ComActDiscussCommentUserDO::getUserId, comActDiscussCommentUserDTO.getUserId())
                    .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentUserDTO.getId()));
        }
        if (num > 0) {
            return R.ok();
@@ -933,27 +980,26 @@
    /**
     * 工作大屏-议事投票列表
     *
     * @param discussListDTO
     *            请求参数
     * @param discussListDTO 请求参数
     * @return 议事投票列表
     */
    @Override
    public R getScreenDiscussList(ScreenDiscussListDTO discussListDTO) {
        IPage<DiscussListVO> discussListVOIPage = comActDiscussDAO
            .getScreenDiscussList(new Page(discussListDTO.getPageNum(), discussListDTO.getPageSize()), discussListDTO);
                .getScreenDiscussList(new Page(discussListDTO.getPageNum(), discussListDTO.getPageSize()), discussListDTO);
        if (!discussListVOIPage.getRecords().isEmpty()) {
            discussListVOIPage.getRecords().forEach(discussListVO -> {
                // 查询评论数量和点赞数量
                Integer integer = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>()
                    .lambda().eq(ComActDiscussCommentDO::getDiscussId, discussListVO.getId()));
                        .lambda().eq(ComActDiscussCommentDO::getDiscussId, discussListVO.getId()));
                discussListVO.setCommentCount(integer);
                Integer integer1 = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda()
                    .eq(ComActDiscussUserDO::getDiscussId, discussListVO.getId()));
                        .eq(ComActDiscussUserDO::getDiscussId, discussListVO.getId()));
                discussListVO.setFabulousCount(integer1);
                if (discussListVO.getType().equals(ScreenDiscussListDTO.type.tp)) {// 投票
                    List<ComActDiscussOptionVO> discussOptionList =
                        comActDiscussDAO.getScreenDiscussOptionList(discussListVO.getId());
                            comActDiscussDAO.getScreenDiscussOptionList(discussListVO.getId());
                    if (!discussOptionList.isEmpty()) {
                        discussListVO.setDiscussOptionList(discussOptionList);
                    }
@@ -964,6 +1010,174 @@
    }
    /**
     * 议事投票后台公布结果
     *
     * @param publishResultDTO 请求参数
     * @return 公布结果
     */
    @Override
    public R publishResultAdmin(ComActDiscussPublishResultDTO publishResultDTO) {
        ComActDiscussDO discussDO = comActDiscussDAO.selectById(publishResultDTO.getId());
        if (discussDO == null) {
            return R.fail("议事投票记录不存在");
        }
        Date nowDate = new Date();
        if (publishResultDTO.getType().equals(ComActDiscussPublishResultDTO.type.add)) {
            if (!discussDO.getStatus().equals(ComActDiscussDO.status.dgb)) {
                return R.fail("该议事投票不是待公布状态,不可公布结果操作");
            }
            discussDO.setStatus(ComActDiscussDO.status.ygb);
        }
        discussDO.setPublishAt(nowDate);
        discussDO.setPublishResult(publishResultDTO.getResult());
        discussDO.setUpdateAt(nowDate);
        discussDO.setPublishBy(publishResultDTO.getUserId());
        if (comActDiscussDAO.updateById(discussDO) > 0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 议事投票-评论/回复删除
     *
     * @param id 评论/回复id
     * @return 删除结果
     */
    @Override
    public R deleteDiscussCommentAdmin(Long id) {
        ComActDiscussCommentDO discussCommentDO = comActDiscussCommentDAO.selectById(id);
        if (discussCommentDO == null) {
            return R.fail("未查询到该记录");
        }
        if (discussCommentDO.getIsDel().equals(ComActDiscussCommentDO.isDelete.yes)) {
            return R.fail("该记录已被删除");
        }
        discussCommentDO.setIsDel(ComActDiscussCommentDO.isDelete.yes);
        if (comActDiscussCommentDAO.updateById(discussCommentDO) > 0) {
            ComActDiscussDO discussDO = comActDiscussDAO.selectById(discussCommentDO.getDiscussId());
            if (discussDO != null) {
                if (discussDO.getCommentNum() > 0) {
                    if (discussCommentDO.getParentId().equals(0L)) {
                        Integer count = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>().lambda()
                                .eq(ComActDiscussCommentDO::getParentId, id).eq(ComActDiscussCommentDO::getIsDel, ComActDiscussCommentDO.isDelete.no));
                        if (count != null && count > 0 && discussDO.getCommentNum() > count) {
                            discussDO.setCommentNum(discussDO.getCommentNum() - count);
                        } else {
                            discussDO.setCommentNum(discussDO.getCommentNum() - 1);
                        }
                        comActDiscussDAO.updateById(discussDO);
                    } else {
                        discussDO.setCommentNum(discussDO.getCommentNum() - 1);
                        comActDiscussDAO.updateById(discussDO);
                    }
                }
            }
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 分页查询评论下回复列表
     *
     * @param discussDetailDTO 请求参数
     * @return 回复列表
     */
    @Override
    public R discussCommentReplyAdmin(ComActDiscussDetailDTO discussDetailDTO) {
        return R.ok(comActDiscussCommentDAO.getDiscussCommentList(new Page(discussDetailDTO.getPageNum(), discussDetailDTO.getPageSize()), discussDetailDTO.getId()));
    }
    /**
     * 查询社区可发布议事投票权限配置
     *
     * @param communityId 社区id
     * @return 社区可发布议事投票权限配置
     */
    @Override
    public R discussJurisdictionGet(Long communityId, Long userId) {
        List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
                .eq(SysConfDO::getCommunityId, communityId).orderByDesc(SysConfDO::getCreateAt));
        if (confDOList == null || confDOList.size() == 0) {
            SysConfDO sysConfDO = new SysConfDO();
            sysConfDO.setCode(Constants.DISCUSS_IDENTITY_KEY + communityId);
            sysConfDO.setName("社区议事投票小程序身份验证参数");
            sysConfDO.setValue("");// 社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)
            sysConfDO.setDescription("社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)");
            sysConfDO.setCommunityId(communityId);
            sysConfDO.setCreateBy(userId);
            int inserted = sysConfDao.insert(sysConfDO);
            if (inserted != 1) {
                throw new ServiceException("添加社区议事投票小程序身份验证参数失败");
            }
            confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
                    .eq(SysConfDO::getCommunityId, communityId)
                    .orderByDesc(SysConfDO::getCreateAt));
        }
        if (confDOList != null && confDOList.size() > 0) {
            SysConfDO latest = confDOList.get(0);
            SysConfVO sysConfVO = new SysConfVO();
            BeanUtils.copyProperties(latest, sysConfVO);
            return R.ok(sysConfVO.getValue());
        }
        return R.ok();
    }
    /**
     * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)
     *
     * @param communityId 社区id
     * @param value       需要设置的参数值
     * @return 设置结果
     */
    @Override
    public R discussJurisdictionSet(Long communityId, String value) {
        List<SysConfDO> authConf =
                sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId)
                        .eq(SysConfDO::getCode, Constants.DISCUSS_IDENTITY_KEY + communityId).orderByDesc(SysConfDO::getCreateAt));
        if (authConf != null && authConf.size() > 0) {
            SysConfDO first = authConf.get(0);
            first.setValue(value);
            int updated = sysConfDao.updateById(first);
            if (updated == 1) {
                return R.ok();
            }
        }
        return R.fail();
    }
    /**
     * 议事投票检测状态定时任务
     * @return  执行结果
     */
    @Override
    public R timedTaskDiscussInspectStatus() {
        Date nowDate = new Date();
        //查询已过开始时间未开始投票列表
        List<ComActDiscussDO> wksDiscussList = comActDiscussDAO.selectList(new QueryWrapper<ComActDiscussDO>().lambda()
                .eq(ComActDiscussDO::getType, ComActDiscussDO.type.tp).eq(ComActDiscussDO::getIsDel, ComActDiscussDO.isOk.no)
                .eq(ComActDiscussDO::getStatus,ComActDiscussDO.status.wks).le(ComActDiscussDO::getStartTime, nowDate));
        wksDiscussList.forEach(wksDiscuss -> {
            wksDiscuss.setStatus(ComActDiscussDO.status.jxz);
            wksDiscuss.setUpdateAt(nowDate);
            wksDiscuss.setReleaseAt(nowDate);
            comActDiscussDAO.updateById(wksDiscuss);
        });
        //查询已过结束时间未结束的投票列表
        List<ComActDiscussDO> jxzDiscussList = comActDiscussDAO.selectList(new QueryWrapper<ComActDiscussDO>().lambda()
                .eq(ComActDiscussDO::getType, ComActDiscussDO.type.tp).eq(ComActDiscussDO::getIsDel, ComActDiscussDO.isOk.no)
                .eq(ComActDiscussDO::getStatus,ComActDiscussDO.status.jxz).le(ComActDiscussDO::getEndTime, nowDate));
        jxzDiscussList.forEach(jxzDiscuss -> {
            jxzDiscuss.setStatus(ComActDiscussDO.status.dgb);
            jxzDiscuss.setUpdateAt(nowDate);
            comActDiscussDAO.updateById(jxzDiscuss);
        });
        return R.ok();
    }
    /**
     * 一起议增加浏览量
     * @param discussId 一起议主键id
     */
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentDOMapper.xml
@@ -20,4 +20,18 @@
        id, discuss_id, comment, is_topping, create_at, is_author, parent_id, user_id, reply_num
    </sql>
    <select id="getDiscussCommentList" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO"
            resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO">
        SELECT
            cadc.id,
            cadc.`comment`,
            cadc.`is_author`,
            IFNULL( su.`name`, su.nick_name ) AS userNameBack,
            cadc.create_at
        FROM
            com_act_discuss_comment AS cadc
            LEFT JOIN sys_user AS su ON su.user_id = cadc.user_id
            where cadc.parent_id = #{id} and cadc.is_del = 2
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml
@@ -30,11 +30,12 @@
        <result column="publish_at" property="publishAt"/>
        <result column="release_at" property="releaseAt"/>
        <result column="update_at" property="updateAt"/>
        <result column="publish_by" property="publishBy"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, discuss_subject, type, photo_pah, address, user_id, community_id, create_at, discuss_option, vote_title, is_repeat, count, img_width, img_height, start_time, end_time, comment_num, fabulous_num, views_num, join_num, status, is_del, publish_result, publish_at, release_at, update_at
        id, discuss_subject, type, photo_pah, address, user_id, community_id, create_at, discuss_option, vote_title, is_repeat, count, img_width, img_height, start_time, end_time, comment_num, fabulous_num, views_num, join_num, status, is_del, publish_result, publish_at, release_at, update_at, publish_by
    </sql>
    <update id="updateStatusById">
        UPDATE `com_act_discuss` SET status = #{status}, update_at = NOW() WHERE id = #{discussId}
@@ -196,4 +197,61 @@
        ) t ORDER BY t.create_at DESC
    </select>
    <update id="addCommentCount">
        update com_act_discuss set comment_num = comment_num + #{num} where id = #{discussId}
    </update>
    <select id="pageDiscussCommentAdmin" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO"
            resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO">
        SELECT
            *
        FROM
            (
            SELECT
                u.`name` userName,
                u.nick_name userNickName,
                u.phone,
                c.`comment`,
                c.`parent_id`,
                COUNT( DISTINCT cu.id ) num,
                COUNT( c1.id ) replyNum,
                c.create_at,
                c.id
            FROM
                com_act_discuss_comment c
                JOIN sys_user u ON c.user_id = u.user_id
                LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id
                LEFT JOIN com_act_discuss_comment c1 ON c1.parent_id = c.id and c1.is_del = 2
            WHERE
                c.discuss_id = #{pageComActDiscussCommentDTO.id} and c.parent_id = 0 and c.is_del = 2
            <if test = 'pageComActDiscussCommentDTO.keyWord != null and pageComActDiscussCommentDTO.keyWord.trim() != &quot;&quot;' >
                AND (c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.keyWord  }, '%' ) or
                u.`name` LIKE concat(#{pageComActDiscussCommentDTO.keyWord}, '%' ) or
                u.phone LIKE concat(#{pageComActDiscussCommentDTO.keyWord}, '%' ))
            </if>
            GROUP BY
                c.id
            ) t
        ORDER BY
            t.create_at DESC
    </select>
    <select id="getDiscussCommentReplyList" resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO">
        SELECT
            cadc.id,
            cadc.discuss_id,
            cadc.`comment`,
            cadc.create_at,
            cadc.is_author,
            cadc.user_id,
            IFNULL( su.`name`, su.nick_name ) AS userName
        FROM
            com_act_discuss_comment AS cadc
            LEFT JOIN sys_user AS su ON su.user_id = cadc.user_id
        WHERE
            cadc.is_del = 2
            AND cadc.parent_id = #{commentId}
            limit 2
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/timejob/src/main/java/com/panzhihua/timejob/jobhandler/DiscussJobHandler.java
New file
@@ -0,0 +1,30 @@
package com.panzhihua.timejob.jobhandler;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.service.community.CommunityService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
 * @author lyq
 * 议事投票定时任务
 */
@Slf4j
@Component
public class DiscussJobHandler {
    @Resource
    private CommunityService communityService;
    @XxlJob("timedTaskDiscussInspectStatusJobHandler")
    public ReturnT<String> timedTaskDiscussInspectStatusJobHandler(String param) throws Exception {
        log.info("定时任务扫描议事投票状态");
        R r = communityService.timedTaskDiscussInspectStatus();
        log.info("执行结果【{}】", r.toString());
        return ReturnT.SUCCESS;
    }
}