mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package com.panzhihua.service_community.dao;
 
import java.util.List;
import java.util.Map;
 
import com.panzhihua.common.model.dtos.PageBaseDTO;
import com.panzhihua.common.model.vos.community.ComActDiscussVO;
import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
import com.panzhihua.common.model.vos.community.StatisticsCommVO;
import com.panzhihua.common.model.vos.community.bigscreen.BigScreenPartyBuildIngStatisticsInfo;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.community.ComActDynVO;
import com.panzhihua.common.model.vos.screen.DateScreenVO;
import com.panzhihua.common.model.vos.screen.DynamicWorkVO;
import com.panzhihua.service_community.model.dos.ComActDynDO;
 
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 社区动态
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-07 14:06
 **/
@Mapper
public interface ComActDynDAO extends BaseMapper<ComActDynDO> {
//    @Select("<script> " + "SELECT  " + "d.id, " + "d.title, " + "IFNULL(u.readNum,0) readNum, " + "d.`status`, "
//        + "d.`content`, " + "d.`cover`, " + "d.`type`, " + "d.`cover_mode`, d.jump_url,d.jump_type, " + "d.is_topping, " + "d.publish_at, "
//        + "d.create_at, " + "cadt.`name` as typeName, " + "cadt.color as typeColor, " + "ca.name as communityName  "
//        + "FROM " + "com_act_dyn d " + "LEFT JOIN ( select dyn_id,count(id) as readNum from com_act_dyn_user GROUP BY dyn_id  )  u ON d.id = u.dyn_id  "
//        + "LEFT JOIN com_act_dyn_type as cadt ON cadt.id = d.type  "
//        + "LEFT JOIN com_act ca ON d.community_id = ca.community_id  " + "WHERE 1=1  "
//        + "<if test='comActDynVO.category != null '>" + "and d.category = #{comActDynVO.category} " + " </if> "
//        + "<if test='comActDynVO.choice == 0 '>" + "and d.community_id = ${comActDynVO.communityId} " + " </if> "
//        + "<if test='comActDynVO.areaCode !=null '>" + "and ca.area_code = ${comActDynVO.areaCode} " + " </if> "
//        + "<if test='comActDynVO.title != null and comActDynVO.title.trim() != &quot;&quot;'>"
//        + "AND d.title like concat(#{comActDynVO.title},'%')   " + " </if> "
//        + "<if test='comActDynVO.isTopping != null '>" + "AND d.is_topping = #{comActDynVO.isTopping}  " + " </if> "
//        + "<if test='comActDynVO.status != null '>" + "AND d.`status` = #{comActDynVO.status}  " + " </if> "
//        + "<if test='comActDynVO.publishAtBegin != null '>" + "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin}  "
//        + "AND #{comActDynVO.publishAtEnd}" + " </if> " + " group by d.id  "
//        + " order by d.is_topping desc, d.create_at desc " + "</script>")
    IPage<ComActDynVO> pageDynamic(Page page, @Param("comActDynVO") ComActDynVO comActDynVO);
 
    @Update("update com_act_dyn set `status`=1 WHERE `status`=0 and TIMESTAMPDIFF(MINUTE, SYSDATE(), publish_at)<=0 ")
    int timedTaskDynStatus();
 
//    @Select("<script> " + "SELECT  " + "d.id, " + "d.title, " + "COUNT(u.id)readNum, " + "d.`status`, "
//        + "d.`content`, " + "d.`cover`, " + "d.`type`, " + "d.`cover_mode`, " + "d.is_topping, " + "d.publish_at, "
//        + "d.create_at, " + "cadt.`name` as typeName, " + "ca.name as communityName  " + "FROM " + "com_act_dyn d "
//        + "LEFT JOIN com_act_dyn_user u ON d.id = u.dyn_id  "
//        + "LEFT JOIN com_act_dyn_type as cadt ON cadt.id = d.type  "
//        + "LEFT JOIN com_act ca ON d.community_id = ca.community_id  " + "WHERE  "
//        + "d.community_id = ${comActDynVO.communityId} "
//        + "<if test='comActDynVO.title != null and comActDynVO.title.trim() != &quot;&quot;'>"
//        + "AND d.title like concat(#{comActDynVO.title},'%')   " + " </if> "
//        + "<if test='comActDynVO.isTopping != null '>" + "AND d.is_topping = #{comActDynVO.isTopping}  " + " </if> "
//        + "<if test='comActDynVO.status != null '>" + "AND d.`status` = #{comActDynVO.status}  " + " </if> "
//        + "<if test='comActDynVO.type != null '>" + "AND d.type = #{comActDynVO.type}  " + " </if> "
//        + "<if test='comActDynVO.publishAtBegin != null '>" + "AND d.publish_at BETWEEN #{comActDynVO.publishAtBegin}  "
//        + "AND #{comActDynVO.publishAtEnd}" + " </if> " + " group by d.id  "
//        + " order by d.is_topping desc, d.create_at desc " + "</script>")
    IPage<ComActDynVO> pageDynamicByAdmin(Page page, @Param("comActDynVO") ComActDynVO comActDynVO);
 
 
    String getContent(@Param("id") String id);
 
    int getReadNum(@Param("dynId") String dynId);
 
 
    @Select("SELECT " + " count( cad.id ) AS dynTotal, "
        + " (select count(id) from com_act_dyn where community_id = ${communityId} and create_at LIKE CONCAT(#{nowDate},'%')) as currentNum "
        + "FROM " + " com_act_dyn AS cad  " + "WHERE " + " community_id = ${communityId}")
    Map<String, Long> countByCommunityId(@Param("communityId") Long communityId, @Param("nowDate") String nowDate);
 
    @Select("select create_at as startTime,(select create_at from com_act_dyn where community_id = ${communityId} order by create_at desc LIMIT 1 ) as endTime from com_act_dyn where community_id = ${communityId} order by create_at asc LIMIT 1")
    DateScreenVO countByAvgCommunityId(@Param("communityId") Long communityId);
 
    @Select("SELECT "
        + "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = ${communityId} AND create_at < #{end}) AS dynTotal, "
        + "(SELECT COUNT(id) FROM com_act_dyn WHERE community_id = ${communityId} AND #{start} < create_at AND create_at < #{end}) AS dynAdd "
        + " FROM DUAL")
    DynamicWorkVO countByTime(@Param("start") String start, @Param("end") String end,
        @Param("communityId") Long communityId);
 
    List<StatisticsCommVO> getIndexDynBaseData(@Param("communityId") Long communityId);
 
    List<StatisticsCommVO> getDynAddPolylineData(@Param("communityId") Long communityId);
 
    StatisticsCommVO getDynTotalPolylineDate(@Param("communityId") Long communityId, @Param("date") String date);
 
    IPage<ComActDynVO> indexDynList(@Param("page") Page page, @Param("pageBaseDTO") PageBaseDTO pageBaseDTO);
 
    /**
     * 获取党建引领基础数据
     * @param communityId
     * @return
     */
    BigScreenPartyBuildIngStatisticsInfo getPartyBuildIngBaseData(@Param("communityId") Long communityId);
 
    /**
     * 分页获取党员活动
     * @param pageBaseDTO
     * @return
     */
    IPage<PartyBuildingActivityVO> pagePartyBuildIngAct(@Param("page") Page page, @Param("pageBaseDTO") PageBaseDTO pageBaseDTO);
 
    /**
     * 分页获取议事投票数据
     * @param page
     * @param pageBaseDTO
     * @return
     */
    IPage<ComActDiscussVO> pagePartyBuildIngDiscuss(@Param("page") Page page, @Param("pageBaseDTO") PageBaseDTO pageBaseDTO);
 
    /**
     * 获取居民宣传记录
     * @param communityId
     * @param pageSize
     * @return
     */
    List<ComActDynVO> getPartyBuildIngDynRecord(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize);
 
    /**
     * 获取巡查记录
     * @param communityId
     * @param pageSize
     * @return
     */
    List<ComSwPatrolRecordVO> getPartyBuildIngPatrolRecord(@Param("communityId") Long communityId, @Param("pageSize") Integer pageSize);
 
 
 
    String getTypeId(@Param("communityId") String communityId, @Param("name") String name);
 
}