liusuyi
2024-08-08 57c673aa3e83677bcf5d30b4b45d06bae6609db8
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
<?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.ruoyi.call.mapper.ArdCallHistoryMapper">
 
    <resultMap type="ArdCallHistory" id="ArdCallHistoryResult">
        <result property="id" column="id"/>
        <result property="type" column="type"/>
        <result property="content" column="content"/>
        <result property="sessionId" column="session_id"/>
        <result property="userId" column="user_id"/>
        <result property="nickName" column="nick_name"/>
        <result property="avatar" column="avatar"/>
        <result property="targetId" column="target_id"/>
        <result property="targetNickName" column="target_nick_name"/>
        <result property="targetAvatar" column="target_avatar"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
    </resultMap>
 
    <sql id="selectArdCallHistoryVo">
        select id,
               type,
               content,
               session_id,
               user_id,
               target_id,
               create_by,
               create_time,
               update_by,
               update_time
        from ard_call_history
    </sql>
    <sql id="selectArdCallHistoryVo1">
        SELECT
            ach.ID,
            ach.TYPE,
            ach.CONTENT,
            ach.session_id,
            ach.user_id,
            ach.target_id,
            ach.create_by,
            ach.create_time,
            ach.update_by,
            ach.update_time,
            u.nick_name,
            u.avatar,
            u1.nick_name AS target_nick_name,
            u1.avatar AS target_avatar
        FROM
            ard_call_history ach
                LEFT JOIN sys_user u ON u.user_id = ach.user_id
                LEFT JOIN sys_user u1 ON u1.user_id = ach.target_id
    </sql>
    <select id="selectArdCallHistoryList" parameterType="ArdCallHistory" resultMap="ArdCallHistoryResult">
        <include refid="selectArdCallHistoryVo1"/>
        <where>
            <if test="sessionId != null  and sessionId != ''">and session_id= #{sessionId}</if>
            <if test="userId != null  and userId != ''">and ach.user_id = #{userId}</if>
            <if test="targetId != null  and targetId != ''">and target_id = #{targetId}</if>
            <if test="type != null  and type != ''">and type = #{type}</if>
            <if test="content != null  and content != ''">and content = #{content}</if>
        </where>
        order by create_time desc
    </select>
 
    <select id="selectArdCallHistoryById" parameterType="String" resultMap="ArdCallHistoryResult">
        <include refid="selectArdCallHistoryVo1"/>
        where id = #{id}
    </select>
 
    <insert id="insertArdCallHistory" parameterType="ArdCallHistory">
        insert into ard_call_history
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="type != null">type,</if>
            <if test="content != null">content,</if>
            <if test="sessionId != null">session_id,</if>
            <if test="userId != null">user_id,</if>
            <if test="targetId != null">target_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="type != null">#{type},</if>
            <if test="content != null">#{content},</if>
            <if test="sessionId != null">#{sessionId},</if>
            <if test="userId != null">#{userId},</if>
            <if test="targetId != null">#{targetId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
        </trim>
    </insert>
 
    <update id="updateArdCallHistory" parameterType="ArdCallHistory">
        update ard_call_history
        <trim prefix="SET" suffixOverrides=",">
            <if test="type != null">type = #{type},</if>
            <if test="content != null">content = #{content},</if>
            <if test="sessionId != null">session_id = #{sessionId},</if>
            <if test="userId != null">user_id = #{userId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
        </trim>
        where id = #{id}
    </update>
 
    <delete id="deleteArdCallHistoryById" parameterType="String">
        delete
        from ard_call_history
        where id = #{id}
    </delete>
 
    <delete id="deleteArdCallHistoryByIds" parameterType="String">
        delete from ard_call_history where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
 
    <select id="selectLastArdCallHistory" parameterType="String" resultType="ArdCallHistory">
        select *
        from ard_call_history
        where session_id = #{sessionId}
        order by create_time desc limit 1
    </select>
 
</mapper>