From 6a0497edf6c457c70c5e44d1e9be70c05ffd3f4f Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期五, 10 九月 2021 18:08:58 +0800 Subject: [PATCH] 议事投票小程序端改版功能开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java | 106 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 71 insertions(+), 35 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java index bea5d47..dfe30b7 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java @@ -1,5 +1,6 @@ package com.panzhihua.service_community.dao; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -74,44 +75,51 @@ IPage<ComActDiscussCommentVO> pageDiscussComment(Page page, @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO); - @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, " + "u.type as userType, " + "COUNT( DISTINCT c.id ) commentNum, " - + "COUNT( DISTINCT du.id ) signNum, " + "if(u.type=1,u.name,a.name) userName, " - + "if(u.type=1,u.nick_name,a.name) userNickName, " + "<if test='pageComActDiscussDTO.loginUserId != null '>" - + "if(du.id is not null,1,0) haveSign, " + "if(ou.id is not null,1,0) haveVote, " + " </if> " + "u.image_url, " - + "d.create_at " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id " - + "JOIN com_act a ON d.community_id = a.community_id " - + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id " - + "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id " - + "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id " - + "<if test='pageComActDiscussDTO.loginUserId != null '>" - + "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} " - + " </if> " + " where d.community_id=#{pageComActDiscussDTO.communityId}" - + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" - + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " + " </if> " - + "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>" - + " and d.`user_id` = #{pageComActDiscussDTO.userId} " + " </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.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, " +// + "d.fabulous_num as signNum, " + "d.comment_num as commentNum, " + "d.release_at, " + "u.type as userType, " +// + "if(u.type=1,u.name,a.name) userName, " +// + "if(u.type=1,u.nick_name,a.name) userNickName, " + "<if test='pageComActDiscussDTO.loginUserId != null '>" +// + "if(du.id is not null,1,0) haveSign, " + "if(ou.id is not null,1,0) haveVote, " + " </if> " + "u.image_url, " +// + "d.create_at " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id " +// + "JOIN com_act a ON d.community_id = a.community_id " +// + "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id " +// + "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id " +// + "<if test='pageComActDiscussDTO.loginUserId != null '>" +// + "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} " +// + " </if> " + " where d.community_id=#{pageComActDiscussDTO.communityId}" + " and d.is_del = 2" +// + "<if test='pageComActDiscussDTO.type != null '>" +// + " and d.`type` = #{pageComActDiscussDTO.type} " + " </if> " +// + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" +// + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " + " </if> " +// + "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>" +// + " and d.`user_id` = #{pageComActDiscussDTO.userId} " + " </if> " +// + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " +// + "AND #{pageComActDiscussDTO.end} " + " </if> " +// + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 1'>" +// + " and d.`end_time` > now() " + " </if> " +// + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 2'>" +// + " and d.`end_time` < now() " + " </if> " +// + "GROUP BY " + "d.id" + ")t order by t.create_at desc " +// + "</script>") IPage<ComActDiscussVO> pageDiscussApplets(Page page, @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO); - @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "IFNULL(u.`nick_name`,'社区管理员') as userNickName, " - + "u.`image_url`, " + "u.phone, " + "u.type as userType, " + "c.`comment`, " + "c.`parent_id`, " - + "c.`is_author`, " + "c.`is_topping`, " + "COUNT( 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 " - + "JOIN com_act_discuss d ON c.discuss_id = d.id " - + "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != ""'>" - + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " + " </if> " - + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" - + "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " + " </if> " - + "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id " - + " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 " - + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" - + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' ) " + " </if> " - + "GROUP BY " + "c.id " + ")t order by t.is_topping desc , t.create_at desc" + "</script>") +// @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "IFNULL(u.`nick_name`,'社区管理员') as userNickName, " +// + "u.`image_url`, " + "u.phone, " + "u.type as userType, " + "c.`comment`, " + "c.`parent_id`, " +// + "c.`is_author`, " + "c.`is_topping`, " + "COUNT( 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 " +// + "JOIN com_act_discuss d ON c.discuss_id = d.id " +// + "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != ""'>" +// + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " + " </if> " +// + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" +// + "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " + " </if> " +// + "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id " +// + " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 and c.is_del = 2" +// + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" +// + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' ) " + " </if> " +// + "GROUP BY " + "c.id " + ")t order by t.is_topping desc , t.create_at desc" + "</script>") IPage<ComActDiscussCommentVO> pageDiscussCommentApplets(Page page, @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO); @@ -158,4 +166,32 @@ + ",( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_option_id = c.id ) AS num " + " FROM " + " com_act_discuss_option AS c " + " WHERE c.discuss_id = #{discussId}" + " ORDER BY " + " num DESC") List<ComActDiscussOptionVO> getScreenDiscussOptionList(@Param("discussId") Long discussId); + + /** + * 更新一起议主题状态 + * @param discussId + * @param status + */ + void updateStatusById(@Param("discussId") Long discussId, @Param("status") int status); + + /** + * 增加评论总数和参与讨论总数 + * @param discussId 一起议主键id + * @param isFirstComment 是否首次参与 + */ + void incrCommentAndJoinNumById(@Param("discussId") Long discussId, @Param("isFirstComment") boolean isFirstComment); + + /** + * 一起议点赞/取消点赞 增加/减少点赞总数 + * @param discussId 一起议主键id + * @param isIncr 是否是新增 + */ + void incrOrDecrFabulousNumByType(@Param("discussId") Long discussId, @Param("isIncr") Boolean isIncr); + + /** + * 批量更新浏览量 + * @param needDealMap id-viewNum参数合集 + * @return + */ + int batchUpdateViewNum(@Param("needDealMap") HashMap<Long, Integer> needDealMap); } -- Gitblit v1.7.1