linwei
2024-01-18 413bbb8dbcb2a75ac28850b95aac2d16faf27b7d
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
<?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.discuss.mapper.UserTopicsMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="userTopicsResultMap" type="org.springblade.modules.discuss.vo.UserTopicsVO">
        <result property="id" column="id"/>
        <result property="userId" column="user_id"/>
        <result property="topicsId" column="topics_id"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
        <result property="deleteFlag" column="delete_flag"/>
        <result property="publicDiscussId" column="public_discuss_id"/>
        <result property="selected" column="selected"/>
    </resultMap>
 
    <sql id="selectUserTopics">
        select
            id,
            user_id,
            topics_id,
            create_time,
            update_time,
            delete_flag,
            selected,
            public_discuss_id
        from
            jczz_user_topics
    </sql>
 
 
    <select id="selectUserTopicsPage" resultMap="userTopicsResultMap">
        SELECT distinct
        jut.article_id,
        jut.delete_flag,
        jut.signature_path,
        jut.create_time,
        bu.avatar,
        bu.`name`,
        bu.phone,
        jda.address_name,
        jda.aoi_name
        FROM
        jczz_user_topics as jut
        LEFT JOIN blade_user bu ON jut.user_id = bu.id AND bu.is_deleted = 0
        LEFT JOIN jczz_household jh ON jh.associated_user_id = jut.user_id AND jh.is_deleted = 0
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
        <where>
            <if test="userTopics.id != null ">and jut.id = #{userTopics.id}</if>
            <if test="userTopics.name != null and userTopics.name != ''">
                and bu.name like concat('%',#{userTopics.name},'%')
            </if>
            <if test="userTopics.phone != null and userTopics.phone != ''">
                and bu.phone like concat('%',#{userTopics.phone},'%')
            </if>
            <if test="userTopics.userId != null ">and jut.user_id = #{userTopics.userId}</if>
            <if test="userTopics.topicsId != null ">and jut.topics_id = #{userTopics.topicsId}</if>
            <if test="userTopics.createTime != null ">and jut.create_time = #{userTopics.createTime}</if>
            <if test="userTopics.updateTime != null ">and jut.update_time = #{userTopics.updateTime}</if>
            <if test="userTopics.deleteFlag != null ">and jut.delete_flag = #{userTopics.deleteFlag}</if>
            <if test="userTopics.articleId != null ">and jut.article_id = #{userTopics.articleId}
                and jut.delete_flag = 0
                GROUP BY jut.article_id, jut.signature_path,jut.create_time,jut.delete_flag,
                bu.avatar,
                bu.`name`,
                bu.phone,
                jda.address_name,
                jda.aoi_name
            </if>
        </where>
    </select>
 
    <select id="selectUserTopicsList" parameterType="org.springblade.modules.discuss.dto.UserTopicsDTO"
            resultMap="userTopicsResultMap">
        <include refid="selectUserTopics"/>
        <where>
            <if test="id != null ">and id = #{id}</if>
            <if test="userId != null ">and user_id = #{userId}</if>
            <if test="topicsId != null ">and topics_id = #{topicsId}</if>
            <if test="createTime != null ">and create_time = #{createTime}</if>
            <if test="updateTime != null ">and update_time = #{updateTime}</if>
            <if test="deleteFlag != null ">and delete_flag = #{deleteFlag}</if>
            <if test="publicDiscussId != null ">and public_discuss_id = #{publicDiscussId}</if>
        </where>
    </select>
 
 
</mapper>