<?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.TopicsMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="topicsResultMap" type="org.springblade.modules.discuss.entity.TopicsEntity">
|
<result property="id" column="id" />
|
<result property="discussContent" column="discuss_content" />
|
<result property="optionRange" column="option_range" />
|
<result property="sort" column="sort" />
|
<result property="optionContent" column="option_content" />
|
<result property="optionDetail" column="option_detail" />
|
<result property="number" column="number" />
|
<result property="createTime" column="crete_time" />
|
<result property="updateTime" column="update_time" />
|
<result property="deleteFlag" column="delete_flag" />
|
<result property="publicDiscussId" column="public_discuss_id" />
|
<result property="parentId" column="parent_id" />
|
<result property="level" column="level" />
|
</resultMap>
|
|
|
<resultMap type="org.springblade.modules.discuss.dto.TopicsDTO" id="TopicsDTOResult">
|
<result property="id" column="id" />
|
<result property="discussContent" column="discuss_content" />
|
<result property="optionRange" column="option_range" />
|
<result property="sort" column="sort" />
|
<result property="optionContent" column="option_content" />
|
<result property="optionDetail" column="option_detail" />
|
<result property="number" column="number" />
|
<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="parentId" column="parent_id" />
|
<result property="level" column="level" />
|
<result property="selected" column="selected" />
|
<collection property="children" column="id" javaType="list" ofType="org.springblade.modules.discuss.dto.TopicsDTO" select="selectStlCount">
|
</collection>
|
|
|
</resultMap>
|
|
<select id="selectStlCount" parameterType="int" resultType="org.springblade.modules.discuss.dto.TopicsDTO">
|
<include refid="selectTopics"/>
|
<where>
|
<if test="id != null "> parent_id = #{id}</if>
|
</where>
|
</select>
|
|
|
<sql id="selectTopics">
|
select
|
id,
|
discuss_content,
|
option_range,
|
sort,
|
option_content,
|
option_detail,
|
number,
|
create_time,
|
update_time,
|
delete_flag,
|
public_discuss_id,
|
parent_id,
|
level,
|
selected
|
from
|
jczz_topics
|
</sql>
|
<select id="selectTopicsPage" resultMap="topicsResultMap">
|
select * from jczz_topics where deleted_flag = 0
|
</select>
|
|
<select id="selectTopicsList" parameterType="org.springblade.modules.discuss.dto.TopicsDTO" resultMap="TopicsDTOResult">
|
SELECT
|
jt.id,
|
jt.discuss_content,
|
jt.option_range,
|
jt.sort,
|
jt.option_content,
|
jt.option_detail,
|
jt.number,
|
jt.create_time,
|
jt.update_time,
|
jt.delete_flag,
|
jt.public_discuss_id,
|
jt.parent_id,
|
jt.article_id,
|
jt.LEVEL,
|
( SELECT jut.selected FROM jczz_user_topics jut WHERE jut.article_id = jt.article_id AND jut.user_id = #{userId}
|
limit 1
|
) selected
|
FROM
|
jczz_topics jt
|
<where>
|
<if test="id != null "> and jt.id = #{id}</if>
|
<if test="discussContent != null and discussContent != ''"> and jt.discuss_content = #{discussContent}</if>
|
<if test="optionRange != null "> and jt.option_range = #{optionRange}</if>
|
<if test="sort != null "> and jt.sort = #{sort}</if>
|
<if test="optionContent != null and optionContent != ''"> and jt.option_content = #{optionContent}</if>
|
<if test="optionDetail != null and optionDetail != ''"> and jt.option_detail = #{optionDetail}</if>
|
<if test="number != null "> and jt.number = #{number}</if>
|
<if test="createTime != null "> and jt.create_time = #{createTime}</if>
|
<if test="updateTime != null "> and jt.update_time = #{updateTime}</if>
|
<if test="deleteFlag != null "> and jt.delete_flag = #{deleteFlag}</if>
|
<if test="publicDiscussId != null "> and jt.public_discuss_id = #{publicDiscussId}</if>
|
<if test="parentId != null "> and jt.parent_id = #{parentId}</if>
|
<if test="level != null "> and jt.level = #{level}</if>
|
<if test="articleId != null ">and jt.article_id = #{articleId}</if>
|
and jt.delete_flag = 0
|
</where>
|
</select>
|
|
|
</mapper>
|