@ -0,0 +1,75 @@
|
||||
package com.stdiet.custom.domain;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class SysServicesQuestion {
|
||||
/**
|
||||
* 问题状态id
|
||||
*/
|
||||
String id;
|
||||
|
||||
/**
|
||||
* 问题id(搜索用)
|
||||
*/
|
||||
String queId;
|
||||
|
||||
/**
|
||||
* 客户id
|
||||
*/
|
||||
Long cusId;
|
||||
|
||||
/**
|
||||
* 问题内容
|
||||
*/
|
||||
String content;
|
||||
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
JSONArray img;
|
||||
|
||||
/**
|
||||
* 问题类型
|
||||
*/
|
||||
Integer type;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
Date createTime;
|
||||
|
||||
/**
|
||||
* 0-未读 1-已读
|
||||
*/
|
||||
Integer read;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
Date updateTime;
|
||||
|
||||
/**
|
||||
* 角色
|
||||
*/
|
||||
String role;
|
||||
|
||||
// 非持久化字段
|
||||
/**
|
||||
* 角色名字
|
||||
*/
|
||||
String name;
|
||||
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
Long userId;
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.stdiet.custom.mapper;
|
||||
|
||||
import com.stdiet.custom.domain.SysServicesQuestion;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SysServicesQuestionMapper {
|
||||
List<SysServicesQuestion> selectSysServicesQuestionByUserIdAndRole(SysServicesQuestion servicesQuestion);
|
||||
|
||||
int insertSysServicesQuestion(SysServicesQuestion servicesQuestion);
|
||||
|
||||
int insertSysServicesQuestionStatus(List<SysServicesQuestion> sysServicesQuestion);
|
||||
|
||||
int updateSysServicesQuestionStatus(SysServicesQuestion sysServicesQuestion);
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.stdiet.custom.service;
|
||||
|
||||
import com.stdiet.custom.domain.SysServicesQuestion;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ISysServicesQuestionService {
|
||||
|
||||
List<SysServicesQuestion> selectSysServicesQuestionByUserIdAndRole(SysServicesQuestion servicesQuestion);
|
||||
|
||||
int insertSysServicesQuestion(SysServicesQuestion servicesQuestion);
|
||||
|
||||
int updateSysServicesQuestionStatus(SysServicesQuestion sysServicesQuestion);
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package com.stdiet.custom.service.impl;
|
||||
|
||||
import com.stdiet.custom.domain.SysCustomer;
|
||||
import com.stdiet.custom.domain.SysServicesQuestion;
|
||||
import com.stdiet.custom.mapper.SysCustomerMapper;
|
||||
import com.stdiet.custom.mapper.SysServicesQuestionMapper;
|
||||
import com.stdiet.custom.service.ISysServicesQuestionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SysServicesQuestionServiceImp implements ISysServicesQuestionService {
|
||||
@Autowired
|
||||
SysServicesQuestionMapper servicesQuestionMapper;
|
||||
|
||||
@Autowired
|
||||
SysCustomerMapper sysCustomerMapper;
|
||||
|
||||
@Override
|
||||
public List<SysServicesQuestion> selectSysServicesQuestionByUserIdAndRole(SysServicesQuestion servicesQuestion) {
|
||||
return servicesQuestionMapper.selectSysServicesQuestionByUserIdAndRole(servicesQuestion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertSysServicesQuestion(SysServicesQuestion servicesQuestion) {
|
||||
servicesQuestionMapper.insertSysServicesQuestion(servicesQuestion);
|
||||
|
||||
SysCustomer customer = sysCustomerMapper.selectSysCustomerById(servicesQuestion.getCusId());
|
||||
|
||||
List<SysServicesQuestion> statusList = new ArrayList<>();
|
||||
SysServicesQuestion customerStatus = new SysServicesQuestion();
|
||||
customerStatus.setUserId(customer.getId());
|
||||
customerStatus.setRole("customer");
|
||||
customerStatus.setQueId(servicesQuestion.getId());
|
||||
statusList.add(customerStatus);
|
||||
|
||||
SysServicesQuestion dieticianStatus = new SysServicesQuestion();
|
||||
dieticianStatus.setUserId(customer.getMainDietitian());
|
||||
dieticianStatus.setRole("dietician");
|
||||
dieticianStatus.setQueId(servicesQuestion.getId());
|
||||
statusList.add(dieticianStatus);
|
||||
|
||||
SysServicesQuestion afterSaleStatus = new SysServicesQuestion();
|
||||
afterSaleStatus.setUserId(customer.getAfterDietitian());
|
||||
afterSaleStatus.setRole("after_sale");
|
||||
afterSaleStatus.setQueId(servicesQuestion.getId());
|
||||
statusList.add(afterSaleStatus);
|
||||
|
||||
SysServicesQuestion dieticianAssistantStatus = new SysServicesQuestion();
|
||||
dieticianAssistantStatus.setUserId(customer.getAssistantDietitian());
|
||||
dieticianAssistantStatus.setRole("dietician_assistant");
|
||||
dieticianAssistantStatus.setQueId(servicesQuestion.getId());
|
||||
statusList.add(dieticianAssistantStatus);
|
||||
|
||||
return servicesQuestionMapper.insertSysServicesQuestionStatus(statusList);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int updateSysServicesQuestionStatus(SysServicesQuestion sysServicesQuestion) {
|
||||
return servicesQuestionMapper.updateSysServicesQuestionStatus(sysServicesQuestion);
|
||||
}
|
||||
}
|
@ -97,7 +97,7 @@ public class WeChartAppletServiceImp implements IWechatAppletService {
|
||||
dataParam.put("thing1", JSONObject.parse("{\"value\":\"" + name + "\"}"));
|
||||
dataParam.put("time2", JSONObject.parse("{\"value\":\"" + startDate + "\"}"));
|
||||
dataParam.put("time3", JSONObject.parse("{\"value\":\"" + endDate + "\"}"));
|
||||
String mRemark = StringUtils.isNull(remark) ? "" : remark;
|
||||
String mRemark = StringUtils.isNull(remark) ? "无" : remark;
|
||||
dataParam.put("thing4", JSONObject.parse("{\"value\":\"" + mRemark + "\"}"));
|
||||
|
||||
param.put("data", dataParam);
|
||||
|
@ -0,0 +1,83 @@
|
||||
<?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>
|
||||
|
||||
<!-- 根据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 type ASC, update_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 插入问题-->
|
||||
<insert id="insertSysServicesQuestion" parameterType="SysServicesQuestion" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into sys_services_question
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
id,
|
||||
<if test="cusId != null">cus_id,</if>
|
||||
<if test="content != null">content,</if>
|
||||
<if test="type != null">type,</if>
|
||||
<if test="cusId != null">create_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
replace(uuid(), '-', ''),
|
||||
<if test="cusId != null">#{cusId},</if>
|
||||
<if test="content != null">#{content},</if>
|
||||
<if test="type != null">#{type},</if>
|
||||
<if test="cusId != null">now(),</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<!-- 插入问题的四个角色:1,用户; 2,营养师; 3,售后; 4,助理-->
|
||||
<insert id="insertSysServicesQuestionStatus" parameterType="java.util.List">
|
||||
insert into sys_services_question (que_id, user_id, role, create_time, update_time) values
|
||||
<foreach collection="list" item="status" index="index" separator=",">
|
||||
(#{status.queId}, #{status.userId}, #{status.role}, now(), now())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 根据状态id更新-->
|
||||
<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 id = ${id}
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user