<?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
|
jut.article_id,
|
jut.delete_flag,
|
jut.signature_path,
|
jut.create_time,
|
jut.household_id,
|
bu.avatar,
|
jh.name,
|
jh.phone_number phone,
|
jda.address_name,
|
jda.aoi_name
|
<if test="userTopics.articleId != null ">,
|
group_concat(jt.option_content) optionContent </if>
|
FROM
|
jczz_user_topics as jut
|
LEFT JOIN jczz_household jh ON jh.id = jut.household_id and jh.is_deleted = 0
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
|
LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
|
<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.aoiCodeList != null and userTopics.aoiCodeList.size() > 0">
|
and jda.aoi_code in
|
<foreach collection="userTopics.aoiCodeList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</if>
|
|
<if test="userTopics.householdId != null ">and jut.household_id = #{userTopics.householdId}</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.household_id,jut.delete_flag,
|
bu.avatar,
|
jh.name,
|
jh.phone_number,
|
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>
|
|
|
<select id="exportUser" resultType="org.springblade.modules.discuss.excel.UserTopicsExcel">
|
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,
|
jt.option_content
|
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
|
LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
|
<where>
|
<if test="id != null ">and jut.id = #{id}</if>
|
<if test="name != null and name != ''">
|
and bu.name like concat('%',#{name},'%')
|
</if>
|
<if test="phone != null and phone != ''">
|
and bu.phone like concat('%',#{phone},'%')
|
</if>
|
|
<if test="aoiCodeList != null and aoiCodeList.size() > 0">
|
and jda.aoi_code in
|
<foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
|
#{code}
|
</foreach>
|
</if>
|
|
<if test="userId != null ">and jut.user_id = #{userId}</if>
|
<if test="topicsId != null ">and jut.topics_id = #{topicsId}</if>
|
<if test="createTime != null ">and jut.create_time = #{createTime}</if>
|
<if test="updateTime != null ">and jut.update_time = #{updateTime}</if>
|
<if test="deleteFlag != null ">and jut.delete_flag = #{deleteFlag}</if>
|
<if test="articleId != null ">and jut.article_id = #{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,
|
jt.option_content
|
</if>
|
</where>
|
|
</select>
|
|
|
</mapper>
|