101captain
2021-12-23 5a8a90c095280fbd2106869ecd2bad10e01a57a6
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
<?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.ComActDynDAO">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDynDO">
        <id column="id" property="id" />
        <result column="title" property="title" />
        <result column="status" property="status" />
        <result column="is_topping" property="isTopping" />
        <result column="publish_at" property="publishAt" />
        <result column="create_at" property="createAt" />
        <result column="update_at" property="updateAt" />
        <result column="community_id" property="communityId" />
        <result column="content" property="content" />
        <result column="cover" property="cover" />
        <result column="type" property="type" />
        <result column="cover_mode" property="coverMode" />
        <result column="jump_url" property="jumpUrl" />
        <result column="jump_type" property="jumpType" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id
    </sql>
    <select id="getIndexDynBaseData" resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
        SELECT filed, num, ROUND(num/total,2) AS percent FROM
        (SELECT t2.`name` AS filed, COUNT(1) AS num FROM com_act_dyn t1
        LEFT JOIN com_act_dyn_type t2 ON t1.type = t2.id
        WHERE t1.community_id = #{communityId} AND t1.`status` = 1 GROUP BY filed) temp1,
        (SELECT COUNT(t1.id) AS total FROM com_act_dyn t1
        LEFT JOIN com_act_dyn_type t2 ON t1.type = t2.id
        WHERE t1.community_id = #{communityId} AND t1.`status` = 1) temp2
    </select>
    <select id="getDynAddPolylineData" resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
        SELECT DATE_FORMAT( create_at, '%m' ) AS filed, COUNT(id) AS num
        FROM com_act_dyn
        WHERE community_id = #{communityId} AND `status` = 1
        AND DATE_FORMAT( create_at, '%Y' ) = DATE_FORMAT( CURDATE( ) , '%Y' ) GROUP BY filed
    </select>
    <select id="getDynTotalPolylineDate"
            resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
        SELECT COUNT(id) AS num FROM com_act_dyn
        WHERE community_id = #{communityId} AND `status` = 1 AND DATE_FORMAT( create_at, '%Y%m' ) &lt;= #{date}
    </select>
    <select id="indexDynList" resultType="com.panzhihua.common.model.vos.community.ComActDynVO">
        SELECT t1.id, t1.title, t1.cover, t2.`name` AS typeName
        FROM com_act_dyn t1
        LEFT JOIN com_act_dyn_type t2 ON t1.type = t2.id
        WHERE t1.community_id = #{pageBaseDTO.communityId} AND t1.`status` = 1 AND t2.is_del = 2
        <if test="pageBaseDTO.paramId != null">
            AND t1.type = #{pageBaseDTO.paramId}
        </if>
        ORDER BY t1.id DESC
    </select>
</mapper>