guoshilong
2024-02-02 36b7f863fda32d53b5cdadd6ee1514de4aea3905
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
<?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="org.springblade.modules.messageRecord.mapper.MessageUserMapper">
 
 
    <select id="getPage" resultType="org.springblade.modules.messageRecord.vo.MessageUserVO">
 
        SELECT
            bmu.*,
            bmr.title,bmr.content,bmr.create_time as sendTime,bmr.create_user as sendUserId,
            bu.real_name as sendUserName,
            bu1.real_name as receiveUserName
        FROM blade_message_user bmu
        LEFT JOIN blade_message_record bmr ON bmr.id = bmu.message_record_id
        LEFT JOIN blade_user bu ON bu.id = bmr.create_user
        LEFT JOIN blade_user bu1 ON bu1.id = bmu.user_id
        where 1=1
            <if test="vo.userId != null and vo.userId !=''">
                and bmu.user_id = #{vo.userId}
            </if>
            <if test="vo.type != null and vo.type !=''">
                AND bmu.type LIKE CONCAT('%',#{vo.type},'%')
            </if>
            <if test="vo.sendUserId != null and vo.sendUserId !=''">
                AND bmr.create_user = #{vo.sendUserId}
            </if>
        ORDER BY bmu.create_time DESC
    </select>
 
 
    <select id="getMySendMessage" resultType="org.springblade.modules.messageRecord.vo.MessageUserVO">
        SELECT
        bmu.*,
        bmr.title,bmr.content,bmr.create_time as time,
        bu.real_name as userName,
        bd.dept_name as deptName,
        bd.id as deptId
        FROM blade_message_user bmu
        LEFT JOIN blade_message_record bmr ON bmr.id = bmu.message_record_id
        LEFT JOIN blade_user bu ON bu.id = bmu.user_id
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        where 1=1
        <if test="vo.userId != null and vo.userId !=''">
            and bmr.create_user = #{vo.userId}
        </if>
        <if test="vo.type != null and vo.type !=''">
            AND bmu.type LIKE CONCAT('%',#{vo.type},'%')
        </if>
 
        <if test="vo.title != null and vo.title !='' ">
            and bmr.title LIKE CONCAT('%',#{vo.title},'%')
        </if>
        <if test="vo.startTime!=null and vo.startTime!=''">
            AND date_format(bmr.create_time,'%Y-%m-%d')&gt;= #{vo.startTime}
        </if>
        <if test="vo.endTime!=null and vo.endTime!=''">
            AND date_format(bmr.create_time,'%Y-%m-%d')&lt;= #{vo.endTime}
        </if>
 
        ORDER BY bmu.create_time DESC
    </select>
    <select id="getMyReceiveMessage" resultType="org.springblade.modules.messageRecord.vo.MessageUserVO">
        SELECT
        bmu.id,
        bmu.message_record_id,
        bmu.is_read,
        bmu.type,
        bmu.email,
        bmu.phone,
        bmu.create_time,
        bmu.update_time,
        bmr.title,
        bmr.content,
        bmr.create_time as time,
        bmr.create_user as userId,
        bu.real_name as userName,
        bd.dept_name as deptName,
        bd.id as deptId
        FROM blade_message_user bmu
        LEFT JOIN blade_message_record bmr ON bmr.id = bmu.message_record_id
        LEFT JOIN blade_user bu ON bu.id = bmr.create_user
        LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
        where 1=1
        <if test="vo.userId != null and vo.userId !=''">
            and bmu.user_id = #{vo.userId}
        </if>
        <if test="vo.type != null and vo.type !=''">
            AND bmu.type LIKE CONCAT('%',#{vo.type},'%')
        </if>
        <if test="vo.title != null and vo.title !='' ">
            and bmr.title LIKE CONCAT('%',#{vo.title},'%')
        </if>
 
        <if test="vo.startTime!=null and vo.startTime!=''">
            AND date_format(bmr.create_time,'%Y-%m-%d')&gt;= #{vo.startTime}
        </if>
        <if test="vo.endTime!=null and vo.endTime!=''">
            AND date_format(bmr.create_time,'%Y-%m-%d')&lt;= #{vo.endTime}
        </if>
        <if test="vo.isRead != null and vo.isRead !=''">
            AND is_read = #{vo.isRead}
        </if>
 
        ORDER BY bmu.create_time DESC
    </select>
</mapper>