wl
2022-11-14 1349fda00a75a5cb6560c74ba9040ce138dd4883
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
<?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.ycl.mapper.message.MessageColumnSetMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.entity.message.MessageColumnSet">
        <id column="id" property="id"/>
        <result column="user_id" property="userId"/>
        <result column="message_column_id" property="messageColumnId"/>
        <result column="is_receive" property="isReceive"/>
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id
        , user_id, message_column_id, is_receive
    </sql>
    <select id="selectMessagePage" parameterType="com.ycl.dto.message.MessageParam"
            resultType="com.ycl.vo.message.MessageVO">
        SELECT
        t1.id,
        t2.username as targetFrom,
        t3.column_name as messageTypeName,
        t1.`status`,
        t1.body,
        t1.send_time,
        t1.create_time,
        t1.respond_result,
        t1.head,
        t4.username as createUser
        FROM
        `ums_message` t1
        LEFT JOIN ums_admin t2 ON t1.target_from = t2.id
        left join ums_admin t4 on t1.create_user = t4.id
        LEFT JOIN ums_message_column t3 ON t3.id = t1.message_type
        <where>
            <if test="messageParam.head !=null and messageParam.head !=''">
                t1.head like concat('%',#{messageParam.head},'%')
            </if>
            <if test="messageParam.channelCode !='' and messageParam.channelCode != null">
                and t1.channel_code=#{messageParam.channelCode}
            </if>
            <if test="messageParam.messageType != null">
                and t1.message_type=#{messageParam.messageType}
            </if>
            <if test="messageParam.startTime != null and messageParam.startTime != '' and messageParam.endTime != null and messageParam.endTime != '' ">
                and t1.create_time between #{messageParam.startTime} and #{messageParam.endTime}
            </if>
 
            <if test="messageParam.status != null">
                and t1.status=#{messageParam.status}
            </if>
            <if test="messageParam.respondResult !=null and messageParam.respondResult !='' ">
                and t1.respond_result={messageParam.respondResult}
            </if>
            <if test="messageParam.sort==1">
                ORDER BY t1.create_time desc
            </if>
            <if test="messageParam.sort==0">
                ORDER BY t1.create_time asc
            </if>
        </where>
    </select>
</mapper>