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
<?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.ComMngVolunteerOrgTeamMapper">
 
    <resultMap type="com.panzhihua.service_community.model.dos.ComMngVolunteerOrgTeam" id="ComMngVolunteerOrgTeamMap">
        <result property="id" column="id" jdbcType="INTEGER"/>
        <result property="communityId" column="community_id" jdbcType="INTEGER"/>
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="parentId" column="parent_id" jdbcType="INTEGER"/>
        <result property="serviceTypeId" column="service_type_id" jdbcType="INTEGER"/>
        <result property="createAt" column="create_at" jdbcType="TIMESTAMP"/>
        <result property="updateAt" column="update_at" jdbcType="TIMESTAMP"/>
    </resultMap>
 
    <!--查询单个-->
    <select id="queryById" resultType="com.panzhihua.common.model.vos.common.ComMngVolunteerOrgTeamVo">
        select
          id, community_id, name, parent_id, service_type_id, create_at, update_at
        from com_mng_volunteer_org_team
        where id = #{id}
    </select>
 
    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultType="com.panzhihua.common.model.vos.common.ComMngVolunteerOrgTeamVo">
        select
          id, community_id, name, parent_id, service_type_id, create_at, update_at
        from com_mng_volunteer_org_team
        <where>
            <if test="dto.id != null">
                and id = #{dto.id}
            </if>
            <if test="dto.communityId != null">
                and community_id = #{dto.communityId}
            </if>
            <if test="dto.name != null and dto.name != ''">
                and `name` = #{name}
            </if>
            <if test="dto.parentId != null">
                and parent_id = #{dto.parentId}
            </if>
            <if test="dto.serviceTypeId != null">
                and service_type_id = #{dto.serviceTypeId}
            </if>
            <if test="dto.createAt != null">
                and create_at = #{dto.createAt}
            </if>
            <if test="dto.updateAt != null">
                and update_at = #{dto.updateAt}
            </if>
        </where>
        order by create_at desc
    </select>
 
    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
        insert into com_mng_volunteer_org_team(community_id, name, parent_id, service_type_id, create_at, update_at)
        values
        <foreach collection="entities" item="entity" separator=",">
        (#{entity.communityId}, #{entity.name}, #{entity.parentId}, #{entity.serviceTypeId}, #{entity.createAt}, #{entity.updateAt})
        </foreach>
    </insert>
 
    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
        insert into com_mng_volunteer_org_team(community_id, name, parent_id, service_type_id, create_at, update_at)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.communityId}, #{entity.name}, #{entity.parentId}, #{entity.serviceTypeId}, #{entity.createAt}, #{entity.updateAt})
        </foreach>
        on duplicate key update
        community_id = values(community_id),
        name = values(name),
        parent_id = values(parent_id),
        service_type_id = values(service_type_id),
        create_at = values(create_at),
        update_at = values(update_at)
    </insert>
 
    <select id="queryAll" resultType="com.panzhihua.common.model.vos.common.ComMngVolunteerOrgTeamVo">
        select
        cmvot.id, cmvot.community_id, cmvot.name, cmvot.parent_id, cmvot.service_type_id, cmvot.create_at, cmvot.update_at, cmvst.`name` as serviceTypeName
        from com_mng_volunteer_org_team as cmvot
        left join com_mng_volunteer_service_type as cmvst on cmvst.id = cmvot.service_type_id
        <where>
            <if test="dto.id != null">
                and cmvot.id = #{dto.id}
            </if>
            <if test="dto.communityId != null">
                and cmvot.community_id = #{dto.communityId}
            </if>
            <if test="dto.name != null and dto.name != ''">
                and cmvot.`name` = #{name}
            </if>
            <if test="dto.parentId != null">
                and cmvot.parent_id = #{dto.parentId}
            </if>
            <if test="dto.serviceTypeId != null">
                and cmvot.service_type_id = #{dto.serviceTypeId}
            </if>
            <if test="dto.createAt != null">
                and cmvot.create_at = #{dto.createAt}
            </if>
            <if test="dto.updateAt != null">
                and cmvot.update_at = #{dto.updateAt}
            </if>
        </where>
        order by cmvot.create_at desc
    </select>
 
    <select id="statisticsVolunteerOrgAdmin" resultType="com.panzhihua.common.model.vos.common.ComMngVolunteerStatisticsVo">
        SELECT
            count( id ) AS orgTotal,(
            SELECT
                count( id )
            FROM
                com_mng_volunteer_org_team
            WHERE
                parent_id != 0
                AND community_id = #{communityId}
                ) AS teamTotal,(
            SELECT
                count( id )
            FROM
                com_mng_volunteer_mng
            WHERE
                state = 2
                AND community_id = #{communityId}
            ) AS volunteerTotal
        FROM
            com_mng_volunteer_org_team
        WHERE
            parent_id = 0
            AND community_id = #{communityId}
    </select>
 
</mapper>