From 0430cf26ba8646c65ffb1d1a0fbdb191a8c29d74 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期四, 17 十一月 2022 16:30:02 +0800
Subject: [PATCH] Merge branch 'huacheng_test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into huacheng_test
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java | 160 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 110 insertions(+), 50 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 4089818..d08efb4 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,8 +1,12 @@
package com.panzhihua.service_community.dao;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.panzhihua.common.model.dtos.PageBaseDTO;
+import com.panzhihua.common.model.vos.community.StatisticsCommVO;
+import com.panzhihua.common.model.vos.community.bigscreen.BigScreenCourtyardStatisticsInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -47,7 +51,7 @@
// + "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}"
+// + " 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.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} "
@@ -91,48 +95,56 @@
*/
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, " + "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);
- @Select("select name,address from com_act where community_id=#{communityId}")
+ @Select("select name,address from com_act where community_id = ${communityId}")
ComActVO selectCommunity(Long communityId);
@Select("SELECT " + "if(du.id is not null,1,0)haveSign, " + "if(ou.id is not null,1,0)haveVote " + "FROM "
@@ -143,26 +155,16 @@
+ "WHERE " + "d.id =#{id} " + "GROUP BY d.id")
ComActDiscussVO selectHaveSignAndHaveVote(@Param("id") Long id, @Param("loginUserId") Long loginUserId);
- @Select(" SELECT COUNT(id) AS totalNum,"
- + "(SELECT COUNT(id) FROM com_act_discuss WHERE community_id = #{communityId} AND create_at between date_sub(curdate() - day(curdate()) +1,interval 1 month) and now())AS currentNum,"
- + "(SELECT COUNT(id) FROM com_act_discuss WHERE community_id = #{communityId} AND TYPE = 1)AS imgNum," + "("
- + "SELECT " + " count(distinct cadc.user_id) " + "FROM " + " com_act_discuss_comment AS cadc "
- + " LEFT JOIN com_act_discuss AS cad ON cad.id = cadc.discuss_id "
- + " where cad.type = 1 and cad.community_id = #{communityId} " + ")AS imgPeopleNum," + "("
- + "select count(user_id) from ( " + "SELECT " + " distinct cadc.user_id " + "FROM "
- + " com_act_discuss_comment AS cadc " + " LEFT JOIN com_act_discuss AS cad ON cad.id = cadc.discuss_id "
- + " where cad.type = 2 and cad.community_id = #{communityId} " + " union all "
- + " SELECT DISTINCT cadou.user_id FROM com_act_discuss_option_user AS cadou LEFT JOIN com_act_discuss_option AS cado ON cado.id = cadou.discuss_option_id left join com_act_discuss as cad on cad.id = cado.discuss_id where cad.community_id = #{communityId}"
- + ") t" + ")AS votePeopleNum " + " FROM com_act_discuss")
+
Map<String, Long> countByCommunityId(@Param("communityId") Long communityId, @Param("date") String date);
- @Select(" SELECT id,discuss_subject AS content,IF(type = 1,'图文','投票') AS typeName FROM com_act_discuss WHERE community_id = #{communityId} ORDER BY create_at DESC LIMIT #{pageSize}")
+ @Select(" SELECT id,discuss_subject AS content,IF(type = 1,'图文','投票') AS typeName FROM com_act_discuss WHERE community_id = ${communityId} ORDER BY create_at DESC LIMIT #{pageSize}")
List<CarouselInfoVO> screenDiscuss(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize);
@Select("<script> " + "SELECT " + " cad.id, " + " su.nick_name AS userName, " + " su.image_url, "
+ " cad.create_at, " + " cad.type, " + " cad.discuss_subject, " + " cad.photo_pah " + "FROM "
+ " com_act_discuss AS cad " + " LEFT JOIN sys_user AS su ON su.user_id = cad.user_id " + " <where> "
- + "<if test='discussListDTO.communityId != null '>" + " and cad.community_id = #{discussListDTO.communityId} "
+ + "<if test='discussListDTO.communityId != null '>" + " and cad.community_id = ${discussListDTO.communityId} "
+ " </if> " + "<if test='discussListDTO.startTime!=null and discussListDTO.startTime != ""'>"
+ " AND DATE_FORMAT(cad.create_at,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{discussListDTO.startTime} "
+ " </if> " + "<if test='discussListDTO.endTime!=null and discussListDTO.endTime != ""'>"
@@ -182,4 +184,62 @@
* @param num 添加数量
*/
void addCommentCount(@Param("discussId") Long discussId,@Param("num") Integer num);
+
+ /**
+ * 更新一起议主题状态
+ * @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);
+
+ /**
+ * 居民自治-议事投票类型占比统计
+ * @param communityId
+ * @return
+ */
+ List<StatisticsCommVO> selectTypePercent(@Param("communityId") Long communityId);
+
+ /**
+ * 获取一起议标题
+ * @param type
+ * @param communityId
+ * @param pageSize
+ * @return
+ */
+ List<String> getTitles(@Param("type") int type, @Param("communityId") Long communityId, @Param("pageSize") Integer pageSize);
+
+ /**
+ * 金沙定制页面-四长四员院落议事展示列表
+ * @param pageBaseDTO
+ * @return
+ */
+ IPage<ComActDiscussVO> pageCourtyardDiscuss(@Param("page") Page page, @Param("pageBaseDTO") PageBaseDTO pageBaseDTO);
+
+ /**
+ * 金沙定制页面-院落议事基础统计数据
+ * @param communityId
+ * @return
+ */
+ BigScreenCourtyardStatisticsInfo getCourtyardBaseData(@Param("communityId") Long communityId);
}
--
Gitblit v1.7.1