暂存
This commit is contained in:
parent
57dd7c3043
commit
e5def38565
@ -0,0 +1,54 @@
|
|||||||
|
package com.stdiet.web.controller.custom;
|
||||||
|
|
||||||
|
import com.stdiet.common.core.controller.BaseController;
|
||||||
|
import com.stdiet.common.core.domain.AjaxResult;
|
||||||
|
import com.stdiet.common.core.page.TableDataInfo;
|
||||||
|
import com.stdiet.common.utils.StringUtils;
|
||||||
|
import com.stdiet.custom.domain.SysServicesTopic;
|
||||||
|
import com.stdiet.custom.service.ISysServicesTopicService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/services/topic")
|
||||||
|
public class SysServiceTopicController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysServicesTopicService servicesTopicService;
|
||||||
|
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(SysServicesTopic topic) {
|
||||||
|
startPage();
|
||||||
|
return getDataTable(servicesTopicService.selectSysServicesTopicByUserIdAndRole(topic));
|
||||||
|
}
|
||||||
|
|
||||||
|
// @PutMapping("/update/status")
|
||||||
|
// public AjaxResult status(@RequestBody SysServicesQuestion sysServicesQuestion) {
|
||||||
|
// return toAjax(sysServicesQuestionService.updateSysServicesQuestionStatus(sysServicesQuestion));
|
||||||
|
// }
|
||||||
|
|
||||||
|
@PostMapping("/reply")
|
||||||
|
public AjaxResult reply(@RequestBody SysServicesTopic topic) {
|
||||||
|
return AjaxResult.success(servicesTopicService.inserSysServicesTopicReply(topic));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/comment")
|
||||||
|
public AjaxResult comment(@RequestBody SysServicesTopic topic) {
|
||||||
|
return AjaxResult.success(servicesTopicService.inserSysServicesTopicComment(topic));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/detail")
|
||||||
|
public AjaxResult detail(@RequestParam String topicId, @RequestParam String id) {
|
||||||
|
List<SysServicesTopic> questions = servicesTopicService.selectSysServicesTopicSessionByTopicId(topicId);
|
||||||
|
if (StringUtils.isNotNull(questions)) {
|
||||||
|
// 更新问题对应角色的状态
|
||||||
|
SysServicesTopic status = new SysServicesTopic();
|
||||||
|
status.setRead(1);
|
||||||
|
status.setId(id);
|
||||||
|
servicesTopicService.updateSysServicesTopicStatus(status);
|
||||||
|
}
|
||||||
|
return AjaxResult.success(questions);
|
||||||
|
}
|
||||||
|
}
|
@ -70,6 +70,8 @@ public class WechatAppletController extends BaseController {
|
|||||||
private IWechatAppletService iWechatAppletService;
|
private IWechatAppletService iWechatAppletService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysServicesQuestionService iSysServicesQuestionService;
|
private ISysServicesQuestionService iSysServicesQuestionService;
|
||||||
|
@Autowired
|
||||||
|
private ISysServicesTopicService iSysServicesTopicService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询微信小程序中展示的客户案例
|
* 查询微信小程序中展示的客户案例
|
||||||
@ -605,6 +607,24 @@ public class WechatAppletController extends BaseController {
|
|||||||
return getDataTable(iSysServicesQuestionService.selectSysServicesQuestionByUserIdAndRole(servicesQuestion));
|
return getDataTable(iSysServicesQuestionService.selectSysServicesQuestionByUserIdAndRole(servicesQuestion));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户添加问题
|
||||||
|
*
|
||||||
|
* @param topic
|
||||||
|
* @param customerId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/services/topic/post")
|
||||||
|
public AjaxResult postServiceTopic(@RequestBody SysServicesTopic topic, @RequestParam String customerId) {
|
||||||
|
Long cusId = StringUtils.isNotEmpty(customerId) ? Long.parseLong(AesUtils.decrypt(customerId)) : 0L;
|
||||||
|
if (cusId == 0L) {
|
||||||
|
return toAjax(0);
|
||||||
|
}
|
||||||
|
topic.setUid(cusId);
|
||||||
|
|
||||||
|
return AjaxResult.success(iSysServicesTopicService.insertSysServicesTopic(topic));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户添加问题
|
* 客户添加问题
|
||||||
*
|
*
|
||||||
|
@ -2,16 +2,19 @@ package com.stdiet.custom.domain;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
public class SysServicesTopic {
|
public class SysServicesTopic {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
Long id;
|
String id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问题id
|
* 问题id
|
||||||
@ -23,6 +26,12 @@ public class SysServicesTopic {
|
|||||||
*/
|
*/
|
||||||
Integer topicType;
|
Integer topicType;
|
||||||
|
|
||||||
|
String commentId;
|
||||||
|
|
||||||
|
String replyId;
|
||||||
|
|
||||||
|
Integer replyType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色
|
* 角色
|
||||||
*/
|
*/
|
||||||
@ -64,10 +73,20 @@ public class SysServicesTopic {
|
|||||||
*/
|
*/
|
||||||
String role;
|
String role;
|
||||||
|
|
||||||
|
String fromRole;
|
||||||
|
|
||||||
|
String toRole;
|
||||||
|
|
||||||
// 非持久化字段
|
// 非持久化字段
|
||||||
/**
|
/**
|
||||||
* 角色名字
|
* 角色名字
|
||||||
*/
|
*/
|
||||||
|
String fromName;
|
||||||
|
String toName;
|
||||||
String name;
|
String name;
|
||||||
|
|
||||||
|
List<SysServicesTopic> comments;
|
||||||
|
|
||||||
|
List<SysServicesTopic> replys;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
package com.stdiet.custom.mapper;
|
||||||
|
|
||||||
|
import com.stdiet.custom.domain.SysServicesQuestion;
|
||||||
|
import com.stdiet.custom.domain.SysServicesTopic;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface SysServicesTopicMapper {
|
||||||
|
List<SysServicesTopic> selectSysServicesTopicByUserIdAndRole(SysServicesTopic topic);
|
||||||
|
|
||||||
|
int insertSysServicesTopic(SysServicesTopic topic);
|
||||||
|
|
||||||
|
int insertSysServicesTopicStatus(List<SysServicesTopic> topics);
|
||||||
|
|
||||||
|
int updateSysServicesTopicStatus(SysServicesTopic topic);
|
||||||
|
|
||||||
|
int inserSysServicesTopicComment(SysServicesTopic topic);
|
||||||
|
|
||||||
|
int inserSysServicesTopicReply(SysServicesTopic topic);
|
||||||
|
|
||||||
|
List<SysServicesTopic> selectSysServicesTopicSessionByTopicId(String topicId);
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.stdiet.custom.service;
|
||||||
|
|
||||||
|
import com.stdiet.custom.domain.SysServicesQuestion;
|
||||||
|
import com.stdiet.custom.domain.SysServicesTopic;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ISysServicesTopicService {
|
||||||
|
|
||||||
|
List<SysServicesTopic> selectSysServicesTopicByUserIdAndRole(SysServicesTopic topic);
|
||||||
|
|
||||||
|
SysServicesTopic insertSysServicesTopic(SysServicesTopic topic);
|
||||||
|
|
||||||
|
int updateSysServicesTopicStatus(SysServicesTopic topic);
|
||||||
|
|
||||||
|
SysServicesTopic inserSysServicesTopicReply(SysServicesTopic topic);
|
||||||
|
|
||||||
|
SysServicesTopic inserSysServicesTopicComment(SysServicesTopic topic);
|
||||||
|
|
||||||
|
List<SysServicesTopic> selectSysServicesTopicSessionByTopicId(String topicId);
|
||||||
|
}
|
@ -0,0 +1,121 @@
|
|||||||
|
package com.stdiet.custom.service.impl;
|
||||||
|
|
||||||
|
import com.stdiet.common.utils.DateUtils;
|
||||||
|
import com.stdiet.common.utils.uuid.UUID;
|
||||||
|
import com.stdiet.custom.domain.SysCustomer;
|
||||||
|
import com.stdiet.custom.domain.SysServicesTopic;
|
||||||
|
import com.stdiet.custom.mapper.SysCustomerMapper;
|
||||||
|
import com.stdiet.custom.mapper.SysServicesTopicMapper;
|
||||||
|
import com.stdiet.custom.service.ISysServicesTopicService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class SysServicesTopicServiceImp implements ISysServicesTopicService {
|
||||||
|
@Autowired
|
||||||
|
SysServicesTopicMapper servicesTopicMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
SysCustomerMapper sysCustomerMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysServicesTopic> selectSysServicesTopicByUserIdAndRole(SysServicesTopic topic) {
|
||||||
|
return servicesTopicMapper.selectSysServicesTopicByUserIdAndRole(topic);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysServicesTopic insertSysServicesTopic(SysServicesTopic topic) {
|
||||||
|
// 生成uuid
|
||||||
|
topic.setTopicId(UUID.randomUUID().toString().replaceAll("-", ""));
|
||||||
|
topic.setRead(1);
|
||||||
|
topic.setCreateTime(DateUtils.getNowDate());
|
||||||
|
|
||||||
|
servicesTopicMapper.insertSysServicesTopic(topic);
|
||||||
|
|
||||||
|
SysCustomer customer = sysCustomerMapper.selectSysCustomerById(topic.getUid());
|
||||||
|
|
||||||
|
List<SysServicesTopic> statusList = new ArrayList<>();
|
||||||
|
|
||||||
|
SysServicesTopic customerStatus = new SysServicesTopic();
|
||||||
|
customerStatus.setUid(customer.getId());
|
||||||
|
customerStatus.setRole("customer");
|
||||||
|
customerStatus.setRead(1);
|
||||||
|
customerStatus.setTopicId(topic.getTopicId());
|
||||||
|
statusList.add(customerStatus);
|
||||||
|
|
||||||
|
SysServicesTopic dieticianStatus = new SysServicesTopic();
|
||||||
|
dieticianStatus.setUid(customer.getMainDietitian());
|
||||||
|
dieticianStatus.setRole("dietician");
|
||||||
|
dieticianStatus.setRead(0);
|
||||||
|
dieticianStatus.setTopicId(topic.getTopicId());
|
||||||
|
statusList.add(dieticianStatus);
|
||||||
|
|
||||||
|
SysServicesTopic afterSaleStatus = new SysServicesTopic();
|
||||||
|
afterSaleStatus.setUid(customer.getAfterDietitian());
|
||||||
|
afterSaleStatus.setRole("after_sale");
|
||||||
|
afterSaleStatus.setRead(0);
|
||||||
|
afterSaleStatus.setTopicId(topic.getTopicId());
|
||||||
|
statusList.add(afterSaleStatus);
|
||||||
|
|
||||||
|
SysServicesTopic dieticianAssistantStatus = new SysServicesTopic();
|
||||||
|
dieticianAssistantStatus.setUid(customer.getAssistantDietitian());
|
||||||
|
dieticianAssistantStatus.setRole("dietician_assistant");
|
||||||
|
dieticianAssistantStatus.setRead(0);
|
||||||
|
dieticianAssistantStatus.setTopicId(topic.getTopicId());
|
||||||
|
statusList.add(dieticianAssistantStatus);
|
||||||
|
|
||||||
|
servicesTopicMapper.insertSysServicesTopicStatus(statusList);
|
||||||
|
|
||||||
|
topic.setId(customerStatus.getId());
|
||||||
|
topic.setUid(null);
|
||||||
|
|
||||||
|
return topic;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int updateSysServicesTopicStatus(SysServicesTopic topic) {
|
||||||
|
return servicesTopicMapper.updateSysServicesTopicStatus(topic);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysServicesTopic inserSysServicesTopicReply(SysServicesTopic topic) {
|
||||||
|
String uuid = java.util.UUID.randomUUID().toString().replace("-", "");
|
||||||
|
topic.setId(uuid);
|
||||||
|
int row = servicesTopicMapper.inserSysServicesTopicReply(topic);
|
||||||
|
if (row > 0) {
|
||||||
|
// 设置未读
|
||||||
|
SysServicesTopic status = new SysServicesTopic();
|
||||||
|
status.setRead(0);
|
||||||
|
status.setTopicId(topic.getTopicId());
|
||||||
|
status.setRole(topic.getRole());
|
||||||
|
servicesTopicMapper.updateSysServicesTopicStatus(status);
|
||||||
|
}
|
||||||
|
return topic;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysServicesTopic inserSysServicesTopicComment(SysServicesTopic topic) {
|
||||||
|
String uuid = java.util.UUID.randomUUID().toString().replace("-", "");
|
||||||
|
topic.setId(uuid);
|
||||||
|
int row = servicesTopicMapper.inserSysServicesTopicComment(topic);
|
||||||
|
if (row > 0) {
|
||||||
|
// 设置未读
|
||||||
|
SysServicesTopic status = new SysServicesTopic();
|
||||||
|
status.setRead(0);
|
||||||
|
status.setTopicId(topic.getTopicId());
|
||||||
|
status.setRole(topic.getRole());
|
||||||
|
servicesTopicMapper.updateSysServicesTopicStatus(status);
|
||||||
|
}
|
||||||
|
return topic;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysServicesTopic> selectSysServicesTopicSessionByTopicId(String topicId) {
|
||||||
|
return servicesTopicMapper.selectSysServicesTopicSessionByTopicId(topicId);
|
||||||
|
}
|
||||||
|
}
|
@ -9,7 +9,6 @@
|
|||||||
<result column="topic_id" property="topicId"/>
|
<result column="topic_id" property="topicId"/>
|
||||||
<result column="topic_type" property="topicType"/>
|
<result column="topic_type" property="topicType"/>
|
||||||
<result column="content" property="content"/>
|
<result column="content" property="content"/>
|
||||||
<result column="role" property="role"/>
|
|
||||||
<result column="name" property="name"/>
|
<result column="name" property="name"/>
|
||||||
<result column="read" property="read"/>
|
<result column="read" property="read"/>
|
||||||
<result column="img" property="img" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler"/>
|
<result column="img" property="img" typeHandler="com.stdiet.custom.typehandler.ArrayJsonHandler"/>
|
||||||
@ -17,91 +16,140 @@
|
|||||||
<result column="update_time" property="updateTime"/>
|
<result column="update_time" property="updateTime"/>
|
||||||
</resultMap>
|
</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和角色查询问题列表-->
|
<!-- 根据userId和角色查询问题列表-->
|
||||||
<select id="selectSysServicesTopicByUserIdAndRole" parameterType="SysServicesTopic"
|
<select id="selectSysServicesTopicByUserIdAndRole" parameterType="SysServicesTopic"
|
||||||
resultMap="SysServicesQuestionResult">
|
resultMap="SysServicesTopicResult">
|
||||||
SELECT * FROM (
|
SELECT * FROM (
|
||||||
SELECT * FROM sys_services_topic_status WHERE role = #{role} AND uid = #{uid}
|
SELECT * FROM sys_services_topic_status WHERE role = #{role} AND uid = #{uid}
|
||||||
) AS status
|
) AS status
|
||||||
LEFT JOIN sys_services_question USING(topic_id)
|
LEFT JOIN sys_services_topic USING(topic_id)
|
||||||
<choose>
|
<choose>
|
||||||
<when test="role == 'customer'">
|
<when test="role == 'customer'">
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT name, id AS uid FROM sys_customer WHERE id = #{uid}
|
SELECT name, id AS uid FROM sys_customer WHERE id = #{uid}
|
||||||
) AS customer USING(uid)
|
) AS customer ON status.uid = customer.uid
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT name, user_id AS uid, nick_name AS name FROM sys_user WHERE user_id = #{uid}
|
SELECT user_id AS uid, nick_name AS name FROM sys_user WHERE user_id = #{uid}
|
||||||
) AS user USING(uid)
|
) AS user ON status.uid = user.uid
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
ORDER BY `read` ASC, update_time DESC
|
ORDER BY `read` ASC, update_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectSysServicesQuestionSessionByQueId" resultMap="SysServicesQuestionSessionResult"
|
<!-- 查询主题-->
|
||||||
|
|
||||||
|
<resultMap id="SysServicesTopicSessionResult" type="SysServicesTopic">
|
||||||
|
<result column="id" property="id"/>
|
||||||
|
<result column="uid" property="uid"/>
|
||||||
|
<result column="topic_id" property="topicId"/>
|
||||||
|
<result column="topic_type" property="topicType"/>
|
||||||
|
<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="{uid=uid,role=role}" select="selectUserInfo"/>
|
||||||
|
<collection property="comments" column="topic_id" select="selectServicesTopicCommentByTopicId"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="ServicesTopicCommentResult" type="SysServicesTopic">
|
||||||
|
<result column="id" property="id"/>
|
||||||
|
<result column="topic_id" property="topicId"/>
|
||||||
|
<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="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"/>
|
||||||
|
<collection property="replys" column="id" ofType="ServicesTopicCommentReplyResult"
|
||||||
|
select="selectServicesTopicCommentReplyByCommentId"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="ServicesTopicCommentReplyResult" type="SysServicesTopic">
|
||||||
|
<result column="id" property="id"/>
|
||||||
|
<result column="topic_id" property="topicId"/>
|
||||||
|
<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="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">
|
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}
|
select topic_id, uid, 'customer' as role, content, img, create_time from sys_services_topic where topic_id = #{topicId}
|
||||||
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>
|
||||||
|
|
||||||
|
<select id="selectServicesTopicCommentByTopicId" resultMap="ServicesTopicCommentResult">
|
||||||
|
select * from sys_services_topic_comment where topic_id = #{topic_id}
|
||||||
|
</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>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 查询人名-->
|
||||||
<select id="selectUserInfo" parameterType="java.util.Map" resultType="String">
|
<select id="selectUserInfo" parameterType="java.util.Map" resultType="String">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="_parameter.get('role') == 'customer'">
|
<when test="_parameter.get('role') == 'customer'">
|
||||||
select name from sys_customer where id = #{userId}
|
select name from sys_customer where id = #{uid}
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
select nick_name from sys_user where user_id = #{userId}
|
select nick_name from sys_user where user_id = #{uid}
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 插入问题-->
|
<!-- 插入问题-->
|
||||||
<insert id="insertSysServicesQuestion" parameterType="SysServicesQuestion" useGeneratedKeys="true"
|
<insert id="insertSysServicesTopic" parameterType="SysServicesTopic" useGeneratedKeys="true"
|
||||||
keyProperty="queId" keyColumn="que_id">
|
keyProperty="id" keyColumn="id">
|
||||||
insert into sys_services_question
|
insert into sys_services_topic
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="queId != null">que_id,</if>
|
<if test="topicId != null">topic_id,</if>
|
||||||
<if test="cusId != null">cus_id,</if>
|
<if test="uid != null">uid,</if>
|
||||||
<if test="content != null">content,</if>
|
<if test="content != null">content,</if>
|
||||||
<if test="type != null">type,</if>
|
<if test="topicType != null">topic_type,</if>
|
||||||
<if test="createTime != null">create_time,</if>
|
<if test="createTime != null">create_time,</if>
|
||||||
<if test="img != null">img,</if>
|
<if test="img != null">img,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="queId != null">#{queId},</if>
|
<if test="topicId != null">#{topicId},</if>
|
||||||
<if test="cusId != null">#{cusId},</if>
|
<if test="uid != null">#{uid},</if>
|
||||||
<if test="content != null">#{content},</if>
|
<if test="content != null">#{content},</if>
|
||||||
<if test="type != null">#{type},</if>
|
<if test="topicType != null">#{topicType},</if>
|
||||||
<if test="createTime != null">#{createTime},</if>
|
<if test="createTime != null">#{createTime},</if>
|
||||||
<if test="img != null">
|
<if test="img != null">
|
||||||
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!-- 插入问题的四个角色:1,用户; 2,营养师; 3,售后; 4,助理-->
|
<!-- 插入问题的四个角色:1,用户; 2,营养师; 3,售后; 4,助理-->
|
||||||
<insert id="insertSysServicesQuestionStatus" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"
|
<insert id="insertSysServicesTopicStatus" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"
|
||||||
keyColumn="id">
|
keyColumn="id">
|
||||||
insert into sys_services_question_status (que_id, user_id, role, `read`, create_time, update_time) values
|
insert into sys_services_topic_status (topic_id, uid, role, `read`, create_time, update_time) values
|
||||||
<foreach collection="list" item="status" index="index" separator=",">
|
<foreach collection="list" item="status" index="index" separator=",">
|
||||||
(#{status.queId}, #{status.userId}, #{status.role}, #{status.read}, now(), now())
|
(#{status.topicId}, #{status.uid}, #{status.role}, #{status.read}, now(), now())
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!-- 根据状态id更新, role=customer 客户回复,这时更新另外三个角色未读;role != customer,更新客户未读-->
|
<!-- 根据状态id更新, role=customer 客户回复,这时更新另外三个角色未读;role != customer,更新客户未读-->
|
||||||
<update id="updateSysServicesQuestionStatus" parameterType="SysServicesQuestion">
|
<update id="updateSysServicesTopicStatus" parameterType="SysServicesTopic">
|
||||||
update sys_services_question_status
|
update sys_services_topic_status
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="read != null">`read` = #{read},</if>
|
<if test="read != null">`read` = #{read},</if>
|
||||||
<if test="read != null">update_time = now(),</if>
|
<if test="read != null">update_time = now(),</if>
|
||||||
@ -118,37 +166,73 @@
|
|||||||
<if test="role != 'customer'">
|
<if test="role != 'customer'">
|
||||||
role = 'customer' and
|
role = 'customer' and
|
||||||
</if>
|
</if>
|
||||||
que_id = #{queId}
|
topic_id = #{topicId}
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</where>
|
</where>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 插入问题回复-->
|
<!-- 插入问题回复-->
|
||||||
<insert id="inserSysServicesQuestionReply" parameterType="SysServicesQuestion">
|
<insert id="inserSysServicesTopicComment" parameterType="SysServicesTopic">
|
||||||
insert into sys_services_question_session
|
insert into sys_services_topic_comment
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="queId != null">que_id,</if>
|
<if test="id != null">id,</if>
|
||||||
<if test="userId != null">user_id,</if>
|
<if test="topicId != null">topic_id,</if>
|
||||||
|
<if test="fromUid != null">from_uid,</if>
|
||||||
|
<if test="fromRole != null">from_role,</if>
|
||||||
|
<if test="toUid != null">to_uid,</if>
|
||||||
|
<if test="toRole != null">to_role,</if>
|
||||||
<if test="content != null">content,</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="img != null">img,</if>
|
||||||
<if test="queId != null">create_time,</if>
|
<if test="topicId != null">create_time,</if>
|
||||||
<if test="queId != null">update_time,</if>
|
|
||||||
|
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="queId != null">#{queId},</if>
|
<if test="id != null">#{id},</if>
|
||||||
<if test="userId != null">#{userId},</if>
|
<if test="topicId != null">#{topicId},</if>
|
||||||
|
<if test="fromUid != null">#{fromUid},</if>
|
||||||
|
<if test="fromRole != null">#{fromRole},</if>
|
||||||
|
<if test="toUid != null">#{toUid},</if>
|
||||||
|
<if test="toRole != null">#{toRole},</if>
|
||||||
<if test="content != null">#{content},</if>
|
<if test="content != null">#{content},</if>
|
||||||
<if test="read != null">#{read},</if>
|
|
||||||
<if test="role != null">#{role},</if>
|
|
||||||
<if test="img != null">
|
<if test="img != null">
|
||||||
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
||||||
</if>
|
</if>
|
||||||
<if test="queId != null">now(),</if>
|
<if test="topicId != null">now(),</if>
|
||||||
<if test="queId != null">now(),</if>
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!-- 插入问题回复-->
|
||||||
|
<insert id="inserSysServicesTopicReply" parameterType="SysServicesQuestion" useGeneratedKeys="true" keyColumn="id"
|
||||||
|
keyProperty="id">
|
||||||
|
insert into sys_services_topic_reply
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">id,</if>
|
||||||
|
<if test="commentId != null">comment_id,</if>
|
||||||
|
<if test="replyId != null">reply_id,</if>
|
||||||
|
<if test="replyType != null">reply_type,</if>
|
||||||
|
<if test="content != null">content,</if>
|
||||||
|
<if test="fromUid != null">from_uid,</if>
|
||||||
|
<if test="toUid != null">to_uid,</if>
|
||||||
|
<if test="img != null">img,</if>
|
||||||
|
<if test="fromRole != null">from_role,</if>
|
||||||
|
<if test="toRole != null">to_role,</if>
|
||||||
|
<if test="content != null">create_time,</if>
|
||||||
|
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">#{id},</if>
|
||||||
|
<if test="commentId != null">#{commentId},</if>
|
||||||
|
<if test="replyId != null">#{replyId},</if>
|
||||||
|
<if test="replyType != null">#{replyType},</if>
|
||||||
|
<if test="content != null">#{content},</if>
|
||||||
|
<if test="fromUid != null">#{fromUid},</if>
|
||||||
|
<if test="toUid != null">#{toUid},</if>
|
||||||
|
<if test="img != null">
|
||||||
|
#{img, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler},
|
||||||
|
</if>
|
||||||
|
<if test="fromRole != null">#{fromRole},</if>
|
||||||
|
<if test="toRole != null">#{toRole},</if>
|
||||||
|
<if test="content != null">now(),</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
@ -72,6 +72,9 @@ public class DruidProperties
|
|||||||
datasource.setTestOnBorrow(testOnBorrow);
|
datasource.setTestOnBorrow(testOnBorrow);
|
||||||
/** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
|
/** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */
|
||||||
datasource.setTestOnReturn(testOnReturn);
|
datasource.setTestOnReturn(testOnReturn);
|
||||||
|
|
||||||
|
datasource.setRemoveAbandoned(true);
|
||||||
|
datasource.setRemoveAbandonedTimeout(180);
|
||||||
return datasource;
|
return datasource;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user