fengjin
2022-10-17 b69d2017fecdad6a1c9a09c0006e70ecea9efed0
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
<?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.dg.core.db.gen.mapper.ClassifyAdministrationMapper">
 
    <resultMap type="com.dg.core.db.gen.entity.ClassifyAdministration" id="ClassifyAdministrationEntityResult">
        <id     property="id"      column="id"      />
        <id     property="classifyGrade"      column="classify_grade"      />
        <id     property="createTime"      column="create_time"      />
        <id     property="updateTime"      column="update_time"      />
        <id     property="classifyIcon"      column="classify_icon"      />
        <id     property="parentId"      column="parent_id"      />
        <id     property="classifyName"      column="classify_name"      />
 
    </resultMap>
 
    <sql id="selectClassifyAdministrationEntityVo">
        SELECT
            id,
            classify_grade,
            create_time,
            update_time,
            parent_id,
            (select ca.classify_name from automessage_classify_administration as ca where ca.id= automessage_classify_administration.parent_id) as parentName,
            classify_name,
            classify_icon,
            (IF(classify_grade = '2',(SELECT count(id) FROM automessage_transaction_event WHERE automessage_transaction_event.classify_id=automessage_classify_administration.id),
                (SELECT count(id) FROM automessage_transaction_event WHERE automessage_transaction_event.classify_id in (SELECT id FROM automessage_classify_administration
                WHERE automessage_classify_administration.parent_id=automessage_transaction_event.classify_id))))  as  transactNum
        FROM
            automessage_classify_administration
    </sql>
 
    <select id="selectConfigList"  resultMap="ClassifyAdministrationEntityResult">
        <include refid="selectClassifyAdministrationEntityVo"/>
        <where>
            <if test="classifyName != null and classifyName != ''">
                AND classify_name like concat('%', #{classifyName}, '%')
            </if>
            <if test="classifyGrade != null and classifyGrade != ''">
                AND classify_grade = #{classifyGrade}
            </if>
        </where>
        order by create_time desc
    </select>
 
    <select id="selectRootList"  resultMap="ClassifyAdministrationEntityResult">
        <include refid="selectClassifyAdministrationEntityVo"/>
        <where>
            parent_id=#{parentId}
            <if test="departmentId!=null">
                and id in (
                select classify_id from  automessage_transaction_event where department_id=#{departmentId} UNION
                select parent_id from  automessage_classify_administration   where id in (select classify_id FROM  automessage_transaction_event where department_id=#{departmentId})   )
            </if>
        </where>
    </select>
 
    <insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.ClassifyAdministration">
        insert into automessage_classify_administration (
        <if test="id != null">id,</if>
        <if test="classifyGrade != null and classifyGrade != '' ">classify_grade,</if>
        <if test="parentId != null">parent_id,</if>
        <if test="classifyName != null and classifyName != '' ">classify_name,</if>
        <if test="classifyIcon != null and classifyIcon != '' ">classify_icon,</if>
        update_time,
        create_time
        )values(
        <if test="id != null">#{id},</if>
        <if test="classifyGrade != null and classifyGrade != '' ">#{classifyGrade},</if>
        <if test="parentId != null">#{parentId},</if>
        <if test="classifyName != null and classifyName != '' ">#{classifyName},</if>
        <if test="classifyIcon != null and classifyIcon != '' ">#{classifyIcon},</if>
        sysdate(),
        sysdate()
        )
    </insert>
 
    <update id="updateConfig" parameterType="com.dg.core.db.gen.entity.ClassifyAdministration">
        update automessage_classify_administration
        <set>
            <if test="id != null">id=#{id},</if>
            <if test="classifyGrade != null and classifyGrade != '' ">classify_grade=#{classifyGrade},</if>
            <if test="parentId != null">parent_id=#{parentId},</if>
            <if test="classifyName != null and classifyName != '' ">classify_name=#{classifyName},</if>
            <if test="classifyIcon != null and classifyIcon != '' ">classify_icon=#{classifyIcon},</if>
            update_time=sysdate()
        </set>
        where  id= #{id}
    </update>
 
    <delete id="deleteConfigById" parameterType="String">
        delete from automessage_classify_administration where id= #{id}
    </delete>
 
    <select id="countNum" resultType="integer">
        select count(id) from automessage_classify_administration
        <where>
            <if test="classifyName != null and classifyName != ''">
                AND classify_name like concat('%', #{classifyName}, '%')
            </if>
            <if test="classifyGrade != null and classifyGrade != ''">
                AND classify_grade = #{classifyGrade}
            </if>
        </where>
    </select>
 
 
 
 
    <select id="selectParent" resultType="string">
        select id from automessage_classify_administration
        <where>
            <if test="parentId != null and parentId != ''">
                AND parent_id = #{parentId}
            </if>
        </where>
    </select>
 
    <select id="selectParentData" resultType="com.dg.core.db.gen.entity.ClassifyAdministration">
        <include refid="selectClassifyAdministrationEntityVo"/>
        <where>
            <if test="parentId != null and parentId != ''">
                AND parent_id = #{parentId}
            </if>
        </where>
    </select>
 
 
 
 
</mapper>