| @@ -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