huanghongfa
2021-09-06 3ce8a9b1b084bbbf69782f0e0c65f4d666251ca2
议事投票接口开发
6个文件已添加
14个文件已修改
803 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussDTO.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDiscussDTO.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussOptionVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussVO.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DiscussApi.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DiscussApi.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussOptionDAO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussCommentDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussDO.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussOptionUserDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActDiscussService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentDOMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentUserDOMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussOptionDOMapper.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussOptionUserDOMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussUserDOMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussDTO.java
@@ -1,5 +1,6 @@
package com.panzhihua.common.model.dtos.community;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -14,12 +15,12 @@
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 一起议新增编辑
 * @description: 议事投票新增编辑
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-22 15:34
 **/
@Data
@ApiModel("一起议新增编辑")
@ApiModel("议事投票新增编辑")
public class ComActDiscussDTO {
    @ApiModelProperty("主键")
    private Long id;
@@ -28,7 +29,7 @@
    @NotBlank(groups = {AddGroup.class}, message = "主题不能为空")
    private String discussSubject;
    @ApiModelProperty("类型 1 图文 2 投票")
    @ApiModelProperty("类型 1 议事 2 投票")
    @Min(value = 1, groups = {AddGroup.class}, message = "类型不能为空")
    private Integer type;
@@ -56,4 +57,22 @@
    @ApiModelProperty("选项集合")
    private List<ComActDiscussOptionDTO> discussOptions;
    @ApiModelProperty(value = "单张图片宽度")
    private BigDecimal imgWidth;
    @ApiModelProperty(value = "单张图片高度")
    private BigDecimal imgHeight;
    @ApiModelProperty(value = "投票开始时间(格式:yyyy-MM-dd HH:mm:ss)")
    private String startTime;
    @ApiModelProperty(value = "投票结束时间(格式:yyyy-MM-dd HH:mm:ss)")
    private String endTime;
    @ApiModelProperty(value = "是否可重复投票(1.是 2.否)")
    private Integer isRepeat;
    @ApiModelProperty(value = "每人可投票数")
    private Integer count;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDiscussDTO.java
@@ -18,10 +18,10 @@
@ApiModel("分页查询一起议")
public class PageComActDiscussDTO {
    @ApiModelProperty(value = "分页-当前页数", example = "1")
    private Long pageNum;
    private Long pageNum = 1L;
    @ApiModelProperty(value = "分页-每页记录数", example = "10")
    private Long pageSize;
    private Long pageSize = 10L;
    @ApiModelProperty("主题")
    private String subject;
@@ -45,4 +45,10 @@
    @ApiModelProperty("小程序使用 1 表示查询我的议题")
    private Integer isMy;
    @ApiModelProperty("状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布)")
    private Integer status;
    @ApiModelProperty("关键词")
    private String keyWord;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussOptionVO.java
@@ -36,6 +36,9 @@
    @ApiModelProperty("投票数量")
    private Integer num;
    @ApiModelProperty("投票总数量")
    private Integer allNum;
    @ApiModelProperty("是否已经投票 1 是 0 否")
    private Integer haveVote = 0;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussVO.java
@@ -1,5 +1,6 @@
package com.panzhihua.common.model.vos.community;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -24,7 +25,7 @@
    @ApiModelProperty("主题")
    private String discussSubject;
    @ApiModelProperty("类型 1 图文 2 投票")
    @ApiModelProperty("类型 1 议事 2 投票")
    private Integer type;
    @ApiModelProperty("图片地址 多个用逗号隔开")
@@ -58,6 +59,9 @@
    @ApiModelProperty("点赞数量")
    private Integer signNum;
    @ApiModelProperty("浏览量")
    private Integer viewsNum;
    @ApiModelProperty("发布人名字")
    private String userName;
@@ -76,4 +80,40 @@
    @ApiModelProperty("用户类型 1 小程序 2 运营平台 3 社区平台 5 商家后台 6 网格综治APP 7 网格综治后台")
    private Integer userType;
    @ApiModelProperty("状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布)")
    private Integer status;
    @ApiModelProperty("公布结果")
    private String publishResult;
    @ApiModelProperty("公布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date publishAt;
    @ApiModelProperty("发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date releaseAt;
    @ApiModelProperty("投票开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @ApiModelProperty("投票结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    @ApiModelProperty("参与人数")
    private Integer joinNum;
    @ApiModelProperty("单张图片宽度")
    private BigDecimal imgWidth;
    @ApiModelProperty("单张图片高度")
    private BigDecimal heightWidth;
    @ApiModelProperty("是否可重复投票(1.是 2.否)")
    private Integer isRepeat;
    @ApiModelProperty("每人票数")
    private Integer count;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1179,6 +1179,16 @@
    R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO);
    /**
     * 议事投票-后台分页查询
     *
     * @param pageComActDiscussDTO
     *            查询参数
     * @return ComActDiscussVO
     */
    @PostMapping("pagediscussAdmin")
    R pageDiscussAdmin(@RequestBody PageComActDiscussDTO pageComActDiscussDTO);
    /**
     * 议事投票-评论-查看
     *
     * @param id
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DiscussApi.java
@@ -23,53 +23,71 @@
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 一起议
 * @description: 议事投票
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-22 15:30
 **/
@Slf4j
@Api(tags = {"一起议"})
@Api(tags = {"议事投票"})
@RestController
@RequestMapping("/")
public class DiscussApi extends BaseController {
    @Resource
    private CommunityService communityService;
    @ApiOperation(value = "一起议-新增")
    @ApiOperation(value = "议事投票-新增-")
    @PostMapping("discuss")
    public R addDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) {
        Integer type = comActDiscussDTO.getType();
        String voteTitle = comActDiscussDTO.getVoteTitle();
        List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions();
        if (type.equals(2)) {
            if (ObjectUtils.isEmpty(voteTitle)) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        comActDiscussDTO.setUserId(loginUserInfo.getUserId());
        comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId());
        if (comActDiscussDTO.getType().equals(2)) {
            if (ObjectUtils.isEmpty(comActDiscussDTO.getVoteTitle())) {
                return R.fail("投票标题不能为空");
            }
            if (ObjectUtils.isEmpty(discussOptions)) {
            if (ObjectUtils.isEmpty(comActDiscussDTO.getDiscussOptions())) {
                return R.fail("选项不能为空");
            }
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long userId = loginUserInfo.getUserId();
        Long communityId = loginUserInfo.getCommunityId();
        comActDiscussDTO.setUserId(userId);
        comActDiscussDTO.setCommunityId(communityId);
        return communityService.addDiscuss(comActDiscussDTO);
    }
    @ApiOperation(value = "一起议-详情", response = ComActDiscussVO.class)
    @ApiOperation(value = "议事投票-编辑-")
    @PostMapping("editDiscuss")
    public R editDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        comActDiscussDTO.setUserId(loginUserInfo.getUserId());
        comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId());
        if (comActDiscussDTO.getType().equals(2)) {
            if (ObjectUtils.isEmpty(comActDiscussDTO.getVoteTitle())) {
                return R.fail("投票标题不能为空");
            }
            if (ObjectUtils.isEmpty(comActDiscussDTO.getDiscussOptions())) {
                return R.fail("选项不能为空");
            }
        }
        return communityService.editDiscuss(comActDiscussDTO);
    }
    @ApiOperation(value = "议事投票-详情-", response = ComActDiscussVO.class)
    @GetMapping("discuss")
    public R detailDiscuss(@RequestParam("id") Long id) {
        return communityService.detailDiscuss(id);
    }
    @ApiOperation(value = "一起议-删除")
    @ApiOperation(value = "议事投票-删除-")
    @DeleteMapping("discuss")
    public R deleteDiscuss(@RequestParam("id") Long id) {
        return communityService.deleteDiscuss(id);
    }
    @ApiOperation(value = "一起议-回复")
    @ApiOperation(value = "议事投票-回复")
    @PostMapping("discusscomment")
    public R addDiscussComment(@RequestBody ComActDiscussCommentDTO comActDiscussCommentDTO) {
        String comment = comActDiscussCommentDTO.getComment();
@@ -78,33 +96,33 @@
        }
        Long discussId = comActDiscussCommentDTO.getDiscussId();
        if (null == discussId || 0 == discussId) {
            return R.fail("一起议主键不能为空");
            return R.fail("议事投票主键不能为空");
        }
        comActDiscussCommentDTO.setUserId(this.getUserId());
        return communityService.addDiscussComment(comActDiscussCommentDTO);
    }
    @ApiOperation(value = "一起议-分页查询", response = ComActDiscussVO.class)
    @ApiOperation(value = "议事投票-分页查询-", response = ComActDiscussVO.class)
    @PostMapping("pagediscuss")
    public R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) {
        pageComActDiscussDTO.setCommunityId(this.getCommunityId());
        return communityService.pageDiscuss(pageComActDiscussDTO);
        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 = "议事投票-评论-置顶")
    @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();
@@ -119,12 +137,12 @@
        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 R.fail("议事投票主键不能为空");
        }
        return communityService.pageDiscussComment(pageComActDiscussCommentDTO);
    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DiscussApi.java
@@ -12,7 +12,7 @@
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 一起议
 * @description: 议事投票
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-22 14:52
 **/
@@ -24,7 +24,7 @@
    private ComActDiscussService comActDiscussService;
    /**
     * 一起议-新增
     * 议事投票-新增
     * 
     * @param comActDiscussDTO
     *            新增参数
@@ -36,7 +36,17 @@
    }
    /**
     * 一起议-详情
     * 议事投票-编辑
     * @param comActDiscussDTO  请求参数
     * @return  编辑结果
     */
    @PostMapping("editdiscuss")
    public R editDiscuss(@RequestBody ComActDiscussDTO comActDiscussDTO) {
        return comActDiscussService.editDiscuss(comActDiscussDTO);
    }
    /**
     * 议事投票-详情
     * 
     * @param id
     *            主键
@@ -48,7 +58,7 @@
    }
    /**
     * 一起议-删除
     * 议事投票-删除
     * 
     * @param id
     *            主键
@@ -60,7 +70,7 @@
    }
    /**
     * 一起议-回复
     * 议事投票-回复
     * 
     * @param comActDiscussCommentDTO
     *            评论内容
@@ -72,7 +82,7 @@
    }
    /**
     * 一起议-分页查询
     * 议事投票-分页查询
     * 
     * @param pageComActDiscussDTO
     *            查询参数
@@ -84,7 +94,19 @@
    }
    /**
     * 一起议-评论-查看
     * 议事投票-后台分页查询
     *
     * @param pageComActDiscussDTO
     *            查询参数
     * @return ComActDiscussVO
     */
    @PostMapping("pagediscussAdmin")
    public R pageDiscussAdmin(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) {
        return comActDiscussService.pageDiscussAdmin(pageComActDiscussDTO);
    }
    /**
     * 议事投票-评论-查看
     * 
     * @param id
     *            主键
@@ -96,7 +118,7 @@
    }
    /**
     * 一起议-评论-置顶
     * 议事投票-评论-置顶
     * 
     * @param id
     *            主键
@@ -108,7 +130,7 @@
    }
    /**
     * 一起议-评论-回复
     * 议事投票-评论-回复
     * 
     * @param comActDiscussCommentDTO
     *            回复内容
@@ -120,7 +142,7 @@
    }
    /**
     * 一起议-评论-分页查询
     * 议事投票-评论-分页查询
     * 
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
@@ -132,7 +154,7 @@
    }
    /**
     * 一起议-分页查询 小程序
     * 议事投票-分页查询 小程序
     * 
     * @param pageComActDiscussDTO
     *            查询参数
@@ -144,7 +166,7 @@
    }
    /**
     * 一起议-点赞、取消点赞
     * 议事投票-点赞、取消点赞
     * 
     * @param comActDiscussUserDTO
     *            操作类型
@@ -156,7 +178,7 @@
    }
    /**
     * 一起议-评论-分页查询 小程序
     * 议事投票-评论-分页查询 小程序
     * 
     * @param pageComActDiscussCommentDTO
     *            分页参数
@@ -168,7 +190,7 @@
    }
    /**
     * 一起议-详情 小程序
     * 议事投票-详情 小程序
     * 
     * @param id
     *            主键
@@ -182,7 +204,7 @@
    }
    /**
     * 一起议-投票
     * 议事投票-投票
     * 
     * @param comActDiscussOptionUserDTO
     *            投票信息
@@ -194,7 +216,7 @@
    }
    /**
     * 一起议-评论-点赞、取消点赞
     * 议事投票-评论-点赞、取消点赞
     * 
     * @param comActDiscussUserDTO
     *            评论点赞
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
@@ -43,19 +43,22 @@
    @Select("select type,name,phone,image_url,nick_name from sys_user where user_id=#{userId}")
    LoginUserInfoVO selectUserByUserId(Long userId);
    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.`discuss_subject`, " + "d.type, "
        + "COUNT( DISTINCT c.id ) commentNum, " + "u.name userName, " + "u.nick_name userNickName, " + "d.create_at  "
        + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id "
        + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id  "
        + " where d.community_id=#{pageComActDiscussDTO.communityId}"
        + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;'>"
        + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' )  " + " </if> "
        + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}  "
        + "AND #{pageComActDiscussDTO.end}  " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc "
        + "</script>")
//    @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.`discuss_subject`, " + "d.type, "
//        + "COUNT( DISTINCT c.id ) commentNum, " + "u.name userName, " + "u.nick_name userNickName, " + "d.create_at  "
//        + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id "
//        + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id  "
//        + " where d.community_id=#{pageComActDiscussDTO.communityId}"
//        + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;'>"
//        + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' )  " + " </if> "
//        + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}  "
//        + "AND #{pageComActDiscussDTO.end}  " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc "
//        + "</script>")
    IPage<ComActDiscussVO> pageDiscuss(Page page,
        @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO);
    IPage<ComActDiscussVO> pageDiscussAdmin(Page page,
                                       @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO);
    @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "u.nick_name userNickName, "
        + "u.phone, " + "c.`comment`, " + "c.`parent_id`, " + "COUNT(DISTINCT  cu.id ) num, " + "c.create_at, "
        + "c.id  " + "FROM " + "com_act_discuss_comment c " + "JOIN sys_user u ON c.user_id = u.user_id  "
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussOptionDAO.java
@@ -1,9 +1,13 @@
package com.panzhihua.service_community.dao;
import com.panzhihua.common.model.vos.community.ComActDiscussOptionVO;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_community.model.dos.ComActDiscussOptionDO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -23,4 +27,6 @@
    // " </if> " +
    // " </where>" +
    // "</script>")
    List<ComActDiscussOptionVO> getDiscussOptionList(@Param("discussId") Long discussId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussCommentDO.java
@@ -59,4 +59,9 @@
     * 用户主键
     */
    private Long userId;
    /**
     * 回复量
     */
    private Integer replyNum;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussDO.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.model.dos;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.*;
@@ -9,7 +10,7 @@
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 一起议
 * @description: 议事投票
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-22 14:48
 **/
@@ -30,7 +31,7 @@
    private String discussSubject;
    /**
     * 类型 1 图文 2 投票
     * 类型 1 议事 2 投票
     */
    private Integer type;
@@ -70,4 +71,111 @@
     */
    private String voteTitle;
    /**
     * 是否可重复投票(1.是 2.否)
     */
    private Integer isRepeat;
    /**
     * 每人票数
     */
    private Integer count;
    /**
     * 单张图片宽度
     */
    private BigDecimal imgWidth;
    /**
     * 单张图片高度
     */
    private Integer imgHeight;
    /**
     * 开始时间
     */
    private Date startTime;
    /**
     * 结束时间
     */
    private Date endTime;
    /**
     * 评论数
     */
    private Integer commentNum;
    /**
     * 点赞数
     */
    private Integer fabulousNum;
    /**
     * 浏览量
     */
    private Integer viewsNum;
    /**
     * 参与人数
     */
    private Integer joinNum;
    /**
     * 状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布)
     */
    private Integer status;
    /**
     * 是否已删除(1.是 2.否)
     */
    private Integer isDel;
    /**
     * 公布结果
     */
    private String publishResult;
    /**
     * 公布时间
     */
    private Date publishAt;
    /**
     * 发布时间
     */
    private Date releaseAt;
    /**
     * 修改时间
     */
    private Date updateAt;
    /**
     * 类型 1 议事 2 投票
     */
    public interface type{
        int ys = 1;
        int tp = 2;
    }
    /**
     * 是否枚举(1.是  2.否)
     */
    public interface isOk{
        int yes = 1;
        int no = 2;
    }
    /**
     * 状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布)
     */
    public interface status{
        int wks = 1;
        int jxz = 2;
        int dgb = 3;
        int ygb = 4;
        int yfb = 5;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussOptionUserDO.java
@@ -37,4 +37,9 @@
     * 投票时间
     */
    private Date createAt;
    /**
     * 一起议id
     */
    private Long discussId;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActDiscussService.java
@@ -6,13 +6,13 @@
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 一起议
 * @description: 议事投票
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-22 14:50
 **/
public interface ComActDiscussService {
    /**
     * 一起议-新增
     * 议事投票-新增
     * 
     * @param comActDiscussDTO
     *            新增参数
@@ -21,7 +21,14 @@
    R addDiscuss(ComActDiscussDTO comActDiscussDTO);
    /**
     * 一起议-详情
     * 议事投票-编辑
     * @param comActDiscussDTO  请求参数
     * @return  编辑结果
     */
    R editDiscuss(ComActDiscussDTO comActDiscussDTO);
    /**
     * 议事投票-详情
     * 
     * @param id
     *            主键
@@ -30,7 +37,7 @@
    R detailDiscuss(Long id);
    /**
     * 一起议-删除
     * 议事投票-删除
     * 
     * @param id
     *            主键
@@ -39,7 +46,7 @@
    R deleteDiscuss(Long id);
    /**
     * 一起议-回复
     * 议事投票-回复
     * 
     * @param comActDiscussCommentDTO
     *            评论内容
@@ -48,7 +55,7 @@
    R addDiscussComment(ComActDiscussCommentDTO comActDiscussCommentDTO);
    /**
     * 一起议-分页查询
     * 议事投票-分页查询
     * 
     * @param pageComActDiscussDTO
     *            查询参数
@@ -57,7 +64,14 @@
    R pageDiscuss(PageComActDiscussDTO pageComActDiscussDTO);
    /**
     * 一起议-评论-查看
     * 议事投票-后台分页查询
     * @param pageComActDiscussDTO  请求参数
     * @return  议事投票列表
     */
    R pageDiscussAdmin(PageComActDiscussDTO pageComActDiscussDTO);
    /**
     * 议事投票-评论-查看
     * 
     * @param id
     *            主键
@@ -66,7 +80,7 @@
    R detailDiscusscomment(Long id);
    /**
     * 一起议-评论-置顶
     * 议事投票-评论-置顶
     * 
     * @param id
     *            主键
@@ -75,7 +89,7 @@
    R putDiscussCommentTop(Long id);
    /**
     * 一起议-评论-回复
     * 议事投票-评论-回复
     * 
     * @param comActDiscussCommentDTO
     *            回复内容
@@ -84,7 +98,7 @@
    R addDiscussCommentBack(ComActDiscussCommentDTO comActDiscussCommentDTO);
    /**
     * 一起议-评论-分页查询
     * 议事投票-评论-分页查询
     * 
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
@@ -93,7 +107,7 @@
    R pageDiscussComment(PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 一起议-分页查询 小程序
     * 议事投票-分页查询 小程序
     * 
     * @param pageComActDiscussDTO
     *            查询参数
@@ -102,7 +116,7 @@
    R pageDiscussApplets(PageComActDiscussDTO pageComActDiscussDTO);
    /**
     * 一起议-点赞、取消点赞
     * 议事投票-点赞、取消点赞
     * 
     * @param comActDiscussUserDTO
     *            操作类型
@@ -111,7 +125,7 @@
    R putDiscussUser(ComActDiscussUserDTO comActDiscussUserDTO);
    /**
     * 一起议-评论-分页查询 小程序
     * 议事投票-评论-分页查询 小程序
     * 
     * @param pageComActDiscussCommentDTO
     *            分页参数
@@ -120,7 +134,7 @@
    R pageDiscussCommentApplets(PageComActDiscussCommentDTO pageComActDiscussCommentDTO);
    /**
     * 一起议-详情 小程序
     * 议事投票-详情 小程序
     * 
     * @param id
     *            主键
@@ -131,7 +145,7 @@
    R detailDiscussApplets(Long id, Long userId);
    /**
     * 一起议-投票
     * 议事投票-投票
     * 
     * @param comActDiscussOptionUserDTO
     *            投票信息
@@ -140,7 +154,7 @@
    R addDiscussOptionUser(ComActDiscussOptionUserDTO comActDiscussOptionUserDTO);
    /**
     * 一起议-评论-点赞、取消点赞
     * 议事投票-评论-点赞、取消点赞
     * 
     * @param comActDiscussUserDTO
     *            评论点赞
@@ -149,11 +163,11 @@
    R putDiscussCommentUser(ComActDiscussCommentUserDTO comActDiscussUserDTO);
    /**
     * 工作大屏-一起议列表
     * 工作大屏-议事投票列表
     * 
     * @param discussListDTO
     *            请求参数
     * @return 一起议列表
     * @return 议事投票列表
     */
    R getScreenDiscussList(ScreenDiscussListDTO discussListDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -2,11 +2,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.panzhihua.common.utlis.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -33,7 +35,7 @@
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 一起议
 * @description: 议事投票
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2021-01-22 14:51
 **/
@@ -55,7 +57,7 @@
    private ComActDiscussOptionService comActDiscussOptionService;
    /**
     * 一起议-新增
     * 议事投票-新增
     *
     * @param comActDiscussDTO
     *            新增参数
@@ -66,6 +68,23 @@
    public R addDiscuss(ComActDiscussDTO comActDiscussDTO) {
        ComActDiscussDO comActDiscussDO = new ComActDiscussDO();
        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);
            comActDiscussDO.setStartTime(startTime);
            comActDiscussDO.setEndTime(endTime);
            comActDiscussDO.setStatus(ComActDiscussDO.status.wks);
            //根据时间判断状态是否开始
            if (startTime != null && startTime.getTime() <= nowDate.getTime()) {
                comActDiscussDO.setStatus(ComActDiscussDO.status.jxz);
                comActDiscussDO.setReleaseAt(nowDate);
            }
        }else{
            comActDiscussDO.setStatus(ComActDiscussDO.status.yfb);
        }
        //查询社区地址
        ComActVO comActVO = comActDiscussDAO.selectCommunity(comActDiscussDTO.getCommunityId());
        String address = comActDiscussDO.getAddress();
        if (ObjectUtils.isEmpty(address)) {
@@ -73,13 +92,9 @@
        }
        int insert = comActDiscussDAO.insert(comActDiscussDO);
        if (insert > 0) {
            ComActDiscussDO comActDiscussDO1 = comActDiscussDAO.selectOne(new QueryWrapper<ComActDiscussDO>().lambda()
                .eq(ComActDiscussDO::getDiscussSubject, comActDiscussDTO.getDiscussSubject())
                .eq(ComActDiscussDO::getUserId, comActDiscussDTO.getUserId())
                .last(" order by create_at desc limit 1 "));
            Long comActDiscussDO1Id = comActDiscussDO1.getId();
            Integer type = comActDiscussDTO.getType();
            //如果是投票,需要把投票的选项存储
            if (type.equals(2)) {
                Long comActDiscussDO1Id = comActDiscussDO.getId();
                List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions();
                List<ComActDiscussOptionDO> comActDiscussOptionDOS = new ArrayList<>();
                discussOptions.forEach(s -> {
@@ -97,7 +112,65 @@
    }
    /**
     * 一起议-详情
     * 议事投票-编辑
     * @param comActDiscussDTO  请求参数
     * @return  编辑结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R editDiscuss(ComActDiscussDTO comActDiscussDTO) {
        Long comActDiscussDO1Id = comActDiscussDTO.getId();
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(comActDiscussDO1Id);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("议事投票不存在");
        }
        if(!comActDiscussDO.getStatus().equals(ComActDiscussDO.status.wks) && !comActDiscussDO.getStatus().equals(ComActDiscussDO.status.yfb)){
            return R.fail("该状态不可修改");
        }
        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);
            comActDiscussDO.setStartTime(startTime);
            comActDiscussDO.setEndTime(endTime);
            comActDiscussDO.setStatus(ComActDiscussDO.status.wks);
            //根据时间判断状态是否开始
            if (startTime != null && startTime.getTime() <= nowDate.getTime()) {
                comActDiscussDO.setStatus(ComActDiscussDO.status.jxz);
                comActDiscussDO.setReleaseAt(nowDate);
            }
        }else{
            comActDiscussDO.setStatus(ComActDiscussDO.status.yfb);
        }
        comActDiscussDO.setUpdateAt(new Date());
        int insert = comActDiscussDAO.updateById(comActDiscussDO);
        if (insert > 0) {
            //如果是投票,需要把投票的选项存储
            if (type.equals(2)) {
                comActDiscussOptionService.remove(new QueryWrapper<ComActDiscussOptionDO>().lambda()
                        .eq(ComActDiscussOptionDO::getDiscussId,comActDiscussDO1Id));
                List<ComActDiscussOptionDO> comActDiscussOptionDOS = new ArrayList<>();
                comActDiscussDTO.getDiscussOptions().forEach(s -> {
                    ComActDiscussOptionDO comActDiscussOptionDO = new ComActDiscussOptionDO();
                    comActDiscussOptionDO.setDiscussId(comActDiscussDO1Id);
                    comActDiscussOptionDO.setOptionContent(s.getOptionContent());
                    comActDiscussOptionDO.setOptionUrl(s.getOptionUrl());
                    comActDiscussOptionDOS.add(comActDiscussOptionDO);
                });
                comActDiscussOptionService.saveBatch(comActDiscussOptionDOS);
            }
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 议事投票-详情
     *
     * @param id
     *            主键
@@ -107,43 +180,25 @@
    public R detailDiscuss(Long id) {
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("一起议不存在");
            return R.fail("议事投票不存在");
        }
        ComActDiscussVO comActDiscussVO = new ComActDiscussVO();
        BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
        Integer integer = comActDiscussCommentDAO.selectCount(
            new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id));
        comActDiscussVO.setCommentNum(integer);
        Integer integer1 = comActDiscussUserDAO
            .selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
        comActDiscussVO.setSignNum(integer1);
        comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum());
        Integer type = comActDiscussVO.getType();
        if (type.equals(2)) {
            List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                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));
                ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO();
                BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO);
                comActDiscussOptionVO.setNum(selectCount);
                comActDiscussOptionVOS.add(comActDiscussOptionVO);
            });
            comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed());
            //查询选项列表
            List<ComActDiscussOptionVO> comActDiscussOptionVOS = comActDiscussOptionDAO.getDiscussOptionList(id);
            comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
        }
        Long userId = comActDiscussDO.getUserId();
        LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId);
        comActDiscussVO.setUserName(loginUserInfoVO.getName());
        return R.ok(comActDiscussVO);
    }
    /**
     * 一起议-删除
     * 议事投票-删除
     *
     * @param id
     *            主键
@@ -151,15 +206,17 @@
     */
    @Override
    public R deleteDiscuss(Long id) {
        int delete = comActDiscussDAO.deleteById(id);
        if (delete > 0) {
        ComActDiscussDO comActDiscussDO = new ComActDiscussDO();
        comActDiscussDO.setId(id);
        comActDiscussDO.setIsDel(ComActDiscussDO.isOk.yes);
        if (comActDiscussDAO.updateById(comActDiscussDO) > 0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 一起议-回复
     * 议事投票-回复
     *
     * @param comActDiscussCommentDTO
     *            评论内容
@@ -170,7 +227,7 @@
        Long discussId = comActDiscussCommentDTO.getDiscussId();
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("一起议不存在");
            return R.fail("议事投票不存在");
        }
        ComActDiscussCommentDO comActDiscussCommentDO = new ComActDiscussCommentDO();
        BeanUtils.copyProperties(comActDiscussCommentDTO, comActDiscussCommentDO);
@@ -187,7 +244,7 @@
    }
    /**
     * 一起议-分页查询
     * 议事投票-分页查询
     *
     * @param pageComActDiscussDTO
     *            查询参数
@@ -212,7 +269,17 @@
    }
    /**
     * 一起议-评论-查看
     * 议事投票-后台分页查询
     * @param pageComActDiscussDTO  请求参数
     * @return  议事投票列表
     */
    @Override
    public R pageDiscussAdmin(PageComActDiscussDTO pageComActDiscussDTO) {
        return R.ok(comActDiscussDAO.pageDiscussAdmin(new Page<>(pageComActDiscussDTO.getPageNum(),pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO));
    }
    /**
     * 议事投票-评论-查看
     *
     * @param id
     *            主键
@@ -246,7 +313,7 @@
    }
    /**
     * 一起议-评论-置顶
     * 议事投票-评论-置顶
     *
     * @param id
     *            主键
@@ -277,7 +344,7 @@
    }
    /**
     * 一起议-评论-回复
     * 议事投票-评论-回复
     *
     * @param comActDiscussCommentDTO
     *            回复内容
@@ -293,7 +360,7 @@
        Long discussId = comActDiscussCommentDO.getDiscussId();
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("一起议不存在");
            return R.fail("议事投票不存在");
        }
        Long userId = comActDiscussDO.getUserId();
        Long userId1 = comActDiscussCommentDTO.getUserId();
@@ -313,7 +380,7 @@
    }
    /**
     * 一起议-评论-分页查询
     * 议事投票-评论-分页查询
     *
     * @param pageComActDiscussCommentDTO
     *            分页查询参数
@@ -337,7 +404,7 @@
    }
    /**
     * 一起议-分页查询 小程序
     * 议事投票-分页查询 小程序
     *
     * @param pageComActDiscussDTO
     *            查询参数
@@ -407,7 +474,7 @@
    }
    /**
     * 一起议-点赞、取消点赞
     * 议事投票-点赞、取消点赞
     *
     * @param comActDiscussUserDTO
     *            操作类型
@@ -433,7 +500,7 @@
    }
    /**
     * 一起议-评论-分页查询 小程序
     * 议事投票-评论-分页查询 小程序
     *
     * @param pageComActDiscussCommentDTO
     *            分页参数
@@ -526,7 +593,7 @@
    }
    /**
     * 一起议-详情 小程序
     * 议事投票-详情 小程序
     *
     * @param id
     *            主键
@@ -538,7 +605,7 @@
    public R detailDiscussApplets(Long id, Long loginUserId) {
        ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id);
        if (ObjectUtils.isEmpty(comActDiscussDO)) {
            return R.fail("一起议不存在");
            return R.fail("议事投票不存在");
        }
        ComActDiscussVO comActDiscussVO = new ComActDiscussVO();
        BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
@@ -601,7 +668,7 @@
    }
    /**
     * 一起议-投票
     * 议事投票-投票
     *
     * @param comActDiscussOptionUserDTO
     *            投票信息
@@ -637,7 +704,7 @@
    }
    /**
     * 一起议-评论-点赞、取消点赞
     * 议事投票-评论-点赞、取消点赞
     *
     * @param comActDiscussCommentUserDTO
     *            评论点赞
@@ -669,11 +736,11 @@
    }
    /**
     * 工作大屏-一起议列表
     * 工作大屏-议事投票列表
     *
     * @param discussListDTO
     *            请求参数
     * @return 一起议列表
     * @return 议事投票列表
     */
    @Override
    public R getScreenDiscussList(ScreenDiscussListDTO discussListDTO) {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentDOMapper.xml
New file
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComActDiscussCommentDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussCommentDO">
        <id column="id" property="id"/>
        <result column="discuss_id" property="discussId"/>
        <result column="comment" property="comment"/>
        <result column="is_topping" property="isTopping"/>
        <result column="create_at" property="createAt"/>
        <result column="is_author" property="isAuthor"/>
        <result column="parent_id" property="parentId"/>
        <result column="user_id" property="userId"/>
        <result column="reply_num" property="replyNum"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, discuss_id, comment, is_topping, create_at, is_author, parent_id, user_id, reply_num
    </sql>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentUserDOMapper.xml
New file
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComActDiscussCommentUserDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussCommentUserDO">
        <id column="id" property="id"/>
        <result column="disscuss_comment_id" property="disscussCommentId"/>
        <result column="user_id" property="userId"/>
        <result column="create_at" property="createAt"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, disscuss_comment_id, user_id, create_at
    </sql>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml
New file
@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComActDiscussDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussDO">
        <id column="id" property="id"/>
        <result column="discuss_subject" property="discussSubject"/>
        <result column="type" property="type"/>
        <result column="photo_pah" property="photoPah"/>
        <result column="address" property="address"/>
        <result column="user_id" property="userId"/>
        <result column="community_id" property="communityId"/>
        <result column="create_at" property="createAt"/>
        <result column="discuss_option" property="discussOption"/>
        <result column="vote_title" property="voteTitle"/>
        <result column="is_repeat" property="isRepeat"/>
        <result column="count" property="count"/>
        <result column="img_width" property="imgWidth"/>
        <result column="img_height" property="imgHeight"/>
        <result column="start_time" property="startTime"/>
        <result column="end_time" property="endTime"/>
        <result column="comment_num" property="commentNum"/>
        <result column="fabulous_num" property="fabulousNum"/>
        <result column="views_num" property="viewsNum"/>
        <result column="join_num" property="joinNum"/>
        <result column="status" property="status"/>
        <result column="is_del" property="isDel"/>
        <result column="publish_result" property="publishResult"/>
        <result column="publish_at" property="publishAt"/>
        <result column="release_at" property="releaseAt"/>
        <result column="update_at" property="updateAt"/>
    </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
    </sql>
    <select id="pageDiscuss" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussDTO"
            resultType="com.panzhihua.common.model.vos.community.ComActDiscussVO">
        SELECT
        t.*
        FROM
        (
        SELECT
        d.id,
        d.`discuss_subject`,
        d.type,
        COUNT( DISTINCT c.id ) commentNum,
        u.NAME userName,
        u.nick_name userNickName,
        d.create_at
        FROM
        com_act_discuss d
        JOIN sys_user u ON d.user_id = u.user_id
        LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id
        WHERE
        d.community_id = #{pageComActDiscussDTO.communityId} and d.is_del = 2
        <if test = 'pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;' >
            AND d.`discuss_subject` LIKE concat(#{pageComActDiscussDTO.subject}, '%' )
        </if>
        <if test = 'pageComActDiscussDTO.begin != null ' >
            AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}
            AND #{pageComActDiscussDTO.end}
        </if>
        <if test="pageComActDiscussDTO.status != null">
            and d.status = #{pageComActDiscussDTO.status}
        </if>
        GROUP BY   d.id  )t
        order by t.create_at desc
    </select>
    <select id="pageDiscussAdmin" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussDTO"
            resultType="com.panzhihua.common.model.vos.community.ComActDiscussVO">
        SELECT
        d.id,
        d.`discuss_subject`,
        d.type,
        d.comment_num,
        d.fabulous_num as signNum,
        d.views_num,
        d.status,
        u.NAME userName,
        u.nick_name userNickName,
        d.create_at
        FROM
        com_act_discuss d
        JOIN sys_user u ON d.user_id = u.user_id
        WHERE
        d.community_id = #{pageComActDiscussDTO.communityId} and d.is_del = 2
        <if test = 'pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != &quot;&quot;' >
            AND d.`discuss_subject` LIKE concat(#{pageComActDiscussDTO.subject}, '%' )
        </if>
        <if test = 'pageComActDiscussDTO.begin != null ' >
            AND d.create_at BETWEEN #{pageComActDiscussDTO.begin}
            AND #{pageComActDiscussDTO.end}
        </if>
        <if test="pageComActDiscussDTO.status != null">
            and d.status = #{pageComActDiscussDTO.status}
        </if>
        <if test="pageComActDiscussDTO.keyWord != null and pageComActDiscussDTO.keyWord != &quot;&quot;">
            and (d.`discuss_subject` LIKE concat(#{pageComActDiscussDTO.keyWord}, '%' ) or
            u.`name` LIKE concat(#{pageComActDiscussDTO.keyWord}, '%' ))
        </if>
        order by d.create_at desc
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussOptionDOMapper.xml
New file
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComActDiscussOptionDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussOptionDO">
        <id column="id" property="id"/>
        <result column="discuss_id" property="discussId"/>
        <result column="option_content" property="optionContent"/>
        <result column="create_at" property="createAt"/>
        <result column="option_url" property="optionUrl"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, discuss_id, option_content, create_at, option_url
    </sql>
    <select id="getDiscussOptionList" resultType="com.panzhihua.common.model.vos.community.ComActDiscussOptionVO">
        SELECT
            cado.id,
            cado.option_content,
            cado.option_url,
            ( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_option_id = cado.id ) AS num,
            ( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_id = cado.discuss_id ) AS allNum
        FROM
            com_act_discuss_option AS cado
        WHERE
            discuss_id = #{discussId}
        ORDER BY
            num DESC
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussOptionUserDOMapper.xml
New file
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComActDiscussOptionUserDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussOptionUserDO">
        <id column="id" property="id"/>
        <result column="discuss_option_id" property="discussOptionId"/>
        <result column="user_id" property="userId"/>
        <result column="create_at" property="createAt"/>
        <result column="discuss_id" property="discussId"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, discuss_option_id, user_id, create_at, discuss_id
    </sql>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussUserDOMapper.xml
New file
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.ComActDiscussUserDAO">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussUserDO">
        <id column="id" property="id"/>
        <result column="discuss_id" property="discussId"/>
        <result column="user_id" property="userId"/>
        <result column="create_at" property="createAt"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, discuss_id, user_id, create_at
    </sql>
</mapper>