@ -1,159 +0,0 @@
|
||||
<?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.stdiet.custom.mapper.SysServicesQuestionMapper">
|
||||
|
||||
<resultMap type="SysServicesQuestion" id="SysServicesQuestionResult">
|
||||
<result column="id" property="id"/>
|
||||
<result column="que_id" property="queId"/>
|
||||
<result column="content" property="content"/>
|
||||
<result column="role" property="role"/>
|
||||
<result column="name" property="name"/>
|
||||
<result column="type" property="type"/>
|
||||
<result column="read" property="read"/>
|
||||
<result column="img" property="img" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="SysServicesQuestionSessionResult" type="SysServicesQuestion">
|
||||
<result column="id" property="id"/>
|
||||
<result column="type" property="type"/>
|
||||
<result column="content" property="content"/>
|
||||
<result column="img" property="img" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<association property="name" column="{userId=user_id,role=role}" select="selectUserInfo"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 根据userId和角色查询问题列表-->
|
||||
<select id="selectSysServicesQuestionByUserIdAndRole" parameterType="SysServicesQuestion"
|
||||
resultMap="SysServicesQuestionResult">
|
||||
SELECT * FROM (
|
||||
SELECT * FROM sys_services_question_status WHERE role = #{role} AND user_id = #{userId}
|
||||
) AS status
|
||||
LEFT JOIN sys_services_question USING(que_id)
|
||||
<choose>
|
||||
<when test="role == 'customer'">
|
||||
LEFT JOIN (
|
||||
SELECT name, id AS user_id FROM sys_customer WHERE id = #{userId}
|
||||
) AS customer USING(user_id)
|
||||
</when>
|
||||
<otherwise>
|
||||
LEFT JOIN (
|
||||
SELECT role_key, sys_role.role_id, sys_user_role.user_id, sys_user.nick_name AS name FROM sys_role
|
||||
INNER JOIN sys_user_role USING(role_id)
|
||||
INNER JOIN sys_user USING(user_id)
|
||||
WHERE role_key = #{role} AND user_id = #{userId}
|
||||
) AS user USING(user_id)
|
||||
</otherwise>
|
||||
</choose>
|
||||
ORDER BY `read` ASC, update_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectSysServicesQuestionSessionByQueId" resultMap="SysServicesQuestionSessionResult"
|
||||
parameterType="String">
|
||||
select que_id, cus_id as user_id, 'customer' as role, content, img, create_time from sys_services_question where que_id = #{queId}
|
||||
union select que_id, user_id, role, content, img, create_time from sys_services_question_session where que_id = #{queId}
|
||||
order by create_time asc
|
||||
</select>
|
||||
|
||||
<select id="selectUserInfo" parameterType="java.util.Map" resultType="String">
|
||||
<choose>
|
||||
<when test="_parameter.get('role') == 'customer'">
|
||||
select name from sys_customer where id = #{userId}
|
||||
</when>
|
||||
<otherwise>
|
||||
select nick_name from sys_user where user_id = #{userId}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<!-- 插入问题-->
|
||||
<insert id="insertSysServicesQuestion" parameterType="SysServicesQuestion" useGeneratedKeys="true"
|
||||
keyProperty="queId" keyColumn="que_id">
|
||||
insert into sys_services_question
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="queId != null">que_id,</if>
|
||||
<if test="cusId != null">cus_id,</if>
|
||||
<if test="content != null">content,</if>
|
||||
<if test="type != null">type,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="img != null">img,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="queId != null">#{queId},</if>
|
||||
<if test="cusId != null">#{cusId},</if>
|
||||
<if test="content != null">#{content},</if>
|
||||
<if test="type != null">#{type},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="img != null">
|
||||
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 插入问题的四个角色:1,用户; 2,营养师; 3,售后; 4,助理-->
|
||||
<insert id="insertSysServicesQuestionStatus" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"
|
||||
keyColumn="id">
|
||||
insert into sys_services_question_status (que_id, user_id, role, `read`, create_time, update_time) values
|
||||
<foreach collection="list" item="status" index="index" separator=",">
|
||||
(#{status.queId}, #{status.userId}, #{status.role}, #{status.read}, now(), now())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 根据状态id更新, role=customer 客户回复,这时更新另外三个角色未读;role != customer,更新客户未读-->
|
||||
<update id="updateSysServicesQuestionStatus" parameterType="SysServicesQuestion">
|
||||
update sys_services_question_status
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="read != null">`read` = #{read},</if>
|
||||
<if test="read != null">update_time = now(),</if>
|
||||
</trim>
|
||||
<where>
|
||||
<choose>
|
||||
<when test="id != null">
|
||||
id = ${id}
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="role == 'customer'">
|
||||
role != #{role} and
|
||||
</if>
|
||||
<if test="role != 'customer'">
|
||||
role = 'customer' and
|
||||
</if>
|
||||
que_id = #{queId}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<!-- 插入问题回复-->
|
||||
<insert id="inserSysServicesQuestionReply" parameterType="SysServicesQuestion">
|
||||
insert into sys_services_question_session
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="queId != null">que_id,</if>
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="content != null">content,</if>
|
||||
<if test="read != null">`read`,</if>
|
||||
<if test="role != null">role,</if>
|
||||
<if test="img != null">img,</if>
|
||||
<if test="queId != null">create_time,</if>
|
||||
<if test="queId != null">update_time,</if>
|
||||
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="queId != null">#{queId},</if>
|
||||
<if test="userId != null">#{userId},</if>
|
||||
<if test="content != null">#{content},</if>
|
||||
<if test="read != null">#{read},</if>
|
||||
<if test="role != null">#{role},</if>
|
||||
<if test="img != null">
|
||||
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
||||
</if>
|
||||
<if test="queId != null">now(),</if>
|
||||
<if test="queId != null">now(),</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
</mapper>
|
@ -40,7 +40,6 @@
|
||||
</select>
|
||||
|
||||
<!-- 查询主题-->
|
||||
|
||||
<resultMap id="SysServicesTopicSessionResult" type="SysServicesTopic">
|
||||
<result column="id" property="id"/>
|
||||
<result column="uid" property="uid"/>
|
||||
@ -50,7 +49,7 @@
|
||||
<result column="img" property="img" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<association property="name" column="{uid=uid,role=role}" select="selectUserInfo"/>
|
||||
<collection property="comments" column="topic_id" select="selectServicesTopicCommentByTopicId"/>
|
||||
<association property="comments" column="topic_id" select="selectServicesTopicCommentByTopicId"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="ServicesTopicCommentResult" type="SysServicesTopic">
|
||||
@ -65,25 +64,27 @@
|
||||
<result column="create_time" property="createTime"/>
|
||||
<association property="fromName" column="{uid=from_uid,role=from_role}" select="selectUserInfo"/>
|
||||
<association property="toName" column="{uid=to_uid,role=to_role}" select="selectUserInfo"/>
|
||||
<collection property="replys" column="id" ofType="ServicesTopicCommentReplyResult"
|
||||
select="selectServicesTopicCommentReplyByCommentId"/>
|
||||
<association property="replys" column="id"
|
||||
select="selectServicesTopicCommentReplyByCommentId"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="ServicesTopicCommentReplyResult" type="SysServicesTopic">
|
||||
<result column="id" property="id"/>
|
||||
<result column="topic_id" property="topicId"/>
|
||||
<result column="comment_id" property="commentId"/>
|
||||
<result column="content" property="content"/>
|
||||
<result column="from_uid" property="fromUid"/>
|
||||
<result column="from_role" property="fromRole"/>
|
||||
<result column="to_uid" property="toUid"/>
|
||||
<result column="to_role" property="toRole"/>
|
||||
<result column="reply_id" property="replyId"/>
|
||||
<result column="img" property="img" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<association property="fromName" column="{uid=from_uid,role=from_role}" select="selectUserInfo"/>
|
||||
<association property="toName" column="{uid=to_uid,role=to_role}" select="selectUserInfo"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectSysServicesTopicSessionByTopicId" resultMap="SysServicesTopicSessionResult"
|
||||
parameterType="String">
|
||||
select topic_id, uid, 'customer' as role, content, img, create_time from sys_services_topic where topic_id = #{topicId}
|
||||
@ -94,11 +95,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectServicesTopicCommentReplyByCommentId" resultMap="ServicesTopicCommentReplyResult">
|
||||
select * from sys_services_topic_reply where reply_type = 0 and reply_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectServicesTopicCommentReplyReplyByCommentId" resultMap="ServicesTopicCommentReplyResult">
|
||||
select * from sys_services_topic_reply where reply_type = 1 and reply_id = #{id}
|
||||
select * from sys_services_topic_reply where comment_id = #{id} order by create_time asc
|
||||
</select>
|
||||
|
||||
|
||||
@ -202,7 +199,7 @@
|
||||
</insert>
|
||||
|
||||
<!-- 插入问题回复-->
|
||||
<insert id="inserSysServicesTopicReply" parameterType="SysServicesQuestion" useGeneratedKeys="true" keyColumn="id"
|
||||
<insert id="inserSysServicesTopicReply" parameterType="SysServicesTopic" useGeneratedKeys="true" keyColumn="id"
|
||||
keyProperty="id">
|
||||
insert into sys_services_topic_reply
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
Reference in New Issue
Block a user