peng
2026-03-18 e59a0201057ba67cad425fed804c82ff4ba0c6f1
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
<?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.tievd.cube.modules.system.mapper.SysAnnouncementSendMapper">
 
    <resultMap id="AnnouncementSendModel" type="com.tievd.cube.modules.system.model.AnnouncementSendModel">
        <result column="id" property="id" jdbcType="VARCHAR"/>
        <result column="annt_id" property="anntId" jdbcType="VARCHAR"/>
        <result column="user_id" property="userId" jdbcType="VARCHAR"/>
        <result column="title" property="title" jdbcType="VARCHAR"/>
        <result column="msg_content" property="msgContent" jdbcType="VARCHAR"/>
        <result column="sender" property="sender" jdbcType="VARCHAR"/>
        <result column="priority" property="priority" jdbcType="VARCHAR"/>
        <result column="msg_category" property="msgCategory" jdbcType="VARCHAR"/>
        <result column="send_time" property="sendTime" jdbcType="TIMESTAMP"/>
        <result column="bus_id" property="busId" jdbcType="VARCHAR"/>
        <result column="open_type" property="openType" jdbcType="VARCHAR"/>
        <result column="open_page" property="openPage" jdbcType="VARCHAR"/>
    </resultMap>
 
    <select id="queryByUserId" parameterType="String" resultType="String">
        select annt_id from sys_announcement_send where user_id = #{userId}
    </select>
 
    <select id="getMyAnnouncementSendList" parameterType="Object" resultMap="AnnouncementSendModel">
        select
        sas.id,
        sas.annt_id,
        sas.user_id,
        sas.read_flag,
        sa.title,
        sa.msg_content as msg_content,
        sa.sender as sender,
        sa.priority as priority,
        sa.msg_category,
        sa.send_time as send_time,
        sa.bus_id as bus_id,
        sa.open_type as open_type,
        sa.open_page as open_page,
        sa.msg_abstract
        from sys_announcement_send sas
        left join sys_announcement sa ON sas.annt_id = sa.id
        where sa.send_status = '1'
        and sa.del_flag = '0'
        and sas.user_id = #{announcementSendModel.userId}
        <if test="announcementSendModel.title !=null and announcementSendModel.title != ''">
            and sa.title LIKE concat(concat('%',#{announcementSendModel.title}),'%')
        </if>
        <if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">
            and sa.sender LIKE concat(concat('%',#{announcementSendModel.sender}),'%')
        </if>
        <if test="announcementSendModel.readFlag !=null and announcementSendModel.readFlag != ''">
            and sas.read_flag = #{announcementSendModel.readFlag}
        </if>
        <if test="announcementSendModel.busType !=null and announcementSendModel.busType != ''">
            and sa.bus_type = #{announcementSendModel.busType}
        </if>
        <if test="announcementSendModel.bizSource !=null and announcementSendModel.bizSource =='isNoBpm'">
            and (sa.bus_type != 'bpm' or sa.bus_type is null)
        </if>
        <if test="announcementSendModel.msgCategory !=null and announcementSendModel.msgCategory != ''">
            and sa.msg_category = #{announcementSendModel.msgCategory}
        </if>
        order by sas.read_flag,sa.send_time desc
    </select>
</mapper>