From 416189781f25558f1e16ec85836231c631be9038 Mon Sep 17 00:00:00 2001 From: huangdeliang <huangdeliang@skieer.com> Date: Mon, 24 May 2021 11:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A8=E9=80=81=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/MyApplicationRunner.java | 52 +-- .../custom/SysCustomerHealthyController.java | 2 +- .../SysNutritionQuestionController.java | 2 +- ...erNutritionistReplaceRecordController.java | 2 +- .../custom/SysServiceQuestionController.java | 26 ++ .../custom/WechatAppletController.java | 24 +- .../custom/domain/SysServicesQuestion.java | 75 +++++ .../mapper/SysServicesQuestionMapper.java | 15 + .../service/ISysServicesQuestionService.java | 14 + .../impl/SysServicesQuestionServiceImp.java | 66 ++++ .../service/impl/WeChartAppletServiceImp.java | 2 +- .../custom/SysServicesQuestionMapper.xml | 83 +++++ .../resources/mapper/system/SysUserMapper.xml | 311 +++++++++--------- 13 files changed, 479 insertions(+), 195 deletions(-) create mode 100644 stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysServiceQuestionController.java create mode 100644 stdiet-custom/src/main/java/com/stdiet/custom/domain/SysServicesQuestion.java create mode 100644 stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysServicesQuestionMapper.java create mode 100644 stdiet-custom/src/main/java/com/stdiet/custom/service/ISysServicesQuestionService.java create mode 100644 stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysServicesQuestionServiceImp.java create mode 100644 stdiet-custom/src/main/resources/mapper/custom/SysServicesQuestionMapper.xml diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java index e82f72c5a..c1fa43118 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java @@ -1,27 +1,13 @@ package com.stdiet.web.controller; -import com.stdiet.common.config.AliyunOSSConfig; -import com.stdiet.common.core.domain.AjaxResult; -import com.stdiet.common.core.domain.entity.SysUser; import com.stdiet.common.utils.StringUtils; -import com.stdiet.common.utils.oss.AliyunOSSUtils; import com.stdiet.common.utils.poi.ExcelUtil; import com.stdiet.custom.domain.SysNutritionQuestion; import com.stdiet.custom.domain.SysNutritionalVideo; -import com.stdiet.custom.domain.SysWxUserInfo; -import com.stdiet.custom.domain.SysWxUserLog; -import com.stdiet.custom.mapper.SysCustomerPhysicalSignsMapper; -import com.stdiet.custom.mapper.SysNutritionQuestionMapper; import com.stdiet.custom.mapper.SysWxUserInfoMapper; import com.stdiet.custom.mapper.SysWxUserLogMapper; import com.stdiet.custom.service.ISysNutritionQuestionService; import com.stdiet.custom.service.ISysNutritionalVideoService; -import com.stdiet.custom.service.ISysWxUserLogService; -import com.stdiet.custom.utils.LuceneIndexUtils; -import com.stdiet.framework.web.domain.server.Sys; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.document.TextField; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; @@ -37,11 +23,11 @@ import java.util.Map; @Order(value = 1) public class MyApplicationRunner implements ApplicationRunner { - @Autowired - private SysWxUserLogMapper sysWxUserLogMapper; +// @Autowired +// private SysWxUserLogMapper sysWxUserLogMapper; - @Autowired - private SysWxUserInfoMapper sysWxUserInfoMapper; +// @Autowired +// private SysWxUserInfoMapper sysWxUserInfoMapper; @Autowired private ISysNutritionQuestionService sysNutritionQuestionService; @@ -50,7 +36,6 @@ public class MyApplicationRunner implements ApplicationRunner { private ISysNutritionalVideoService sysNutritionalVideoService; - @Override public void run(ApplicationArguments args) throws Exception { System.out.println("--------------项目启动调用方法开始----------"); @@ -59,11 +44,10 @@ public class MyApplicationRunner implements ApplicationRunner { } - /** * 从微信用户表中查询openid更新到用户打卡日志表中 */ - public void dealWxUserLog(){ + public void dealWxUserLog() { /*List<String> phoneList = sysWxUserLogMapper.getAllSysWxUserLogPhone(); SysWxUserLog sysWxUserLog = new SysWxUserLog(); if(phoneList.size() > 0){ @@ -83,10 +67,11 @@ public class MyApplicationRunner implements ApplicationRunner { /** * 导入营养小知识方法 + * * @param path */ - public void importNutritionQuestion(String path){ - try{ + public void importNutritionQuestion(String path) { + try { int count = 0; ExcelUtil<SysNutritionQuestion> util = new ExcelUtil<SysNutritionQuestion>(SysNutritionQuestion.class); File file = new File(path); @@ -94,11 +79,11 @@ public class MyApplicationRunner implements ApplicationRunner { System.out.println(questionList.size()); for (SysNutritionQuestion sysNutritionQuestion : questionList) { //System.out.println(sysNutritionQuestion); - if(StringUtils.isNotEmpty(sysNutritionQuestion.getTitle()) - && StringUtils.isNotEmpty(sysNutritionQuestion.getContent())){ + if (StringUtils.isNotEmpty(sysNutritionQuestion.getTitle()) + && StringUtils.isNotEmpty(sysNutritionQuestion.getContent())) { //System.out.println(sysNutritionQuestion.getTitle() + "\n"); sysNutritionQuestion.setShowFlag(1); - if(sysNutritionQuestionService.insertSysNutritionQuestion(sysNutritionQuestion) > 0){ + if (sysNutritionQuestionService.insertSysNutritionQuestion(sysNutritionQuestion) > 0) { count++; Thread.sleep(100); System.out.println(count); @@ -106,18 +91,18 @@ public class MyApplicationRunner implements ApplicationRunner { } } - System.out.println("结束:"+count); - }catch (Exception e){ + System.out.println("结束:" + count); + } catch (Exception e) { e.printStackTrace(); } } - public void updateVideo(){ - Map<String, Object> map = sysNutritionalVideoService.searchVideo(null, null, 1,100, null); - if(map != null){ - List<SysNutritionalVideo> list = (List<SysNutritionalVideo>)map.get("nutritionalVideoList"); - if(list != null && list.size() > 0){ + public void updateVideo() { + Map<String, Object> map = sysNutritionalVideoService.searchVideo(null, null, 1, 100, null); + if (map != null) { + List<SysNutritionalVideo> list = (List<SysNutritionalVideo>) map.get("nutritionalVideoList"); + if (list != null && list.size() > 0) { for (SysNutritionalVideo video : list) { sysNutritionalVideoService.insertSysNutritionalVideo(video); } @@ -126,5 +111,4 @@ public class MyApplicationRunner implements ApplicationRunner { } - } diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerHealthyController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerHealthyController.java index 404dc8c54..ef71c7968 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerHealthyController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCustomerHealthyController.java @@ -1,4 +1,4 @@ -package com.stdiet.custom.controller; +package com.stdiet.web.controller.custom; import java.util.List; diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java index b34f3fbc9..69f1d1538 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionQuestionController.java @@ -1,4 +1,4 @@ -package com.stdiet.custom.controller; +package com.stdiet.web.controller.custom; import java.util.List; diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderNutritionistReplaceRecordController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderNutritionistReplaceRecordController.java index c552d29e2..51855fe2a 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderNutritionistReplaceRecordController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderNutritionistReplaceRecordController.java @@ -1,4 +1,4 @@ -package com.stdiet.custom.controller; +package com.stdiet.web.controller.custom; import java.time.temporal.ChronoUnit; import java.util.List; diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysServiceQuestionController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysServiceQuestionController.java new file mode 100644 index 000000000..17dec89bf --- /dev/null +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysServiceQuestionController.java @@ -0,0 +1,26 @@ +package com.stdiet.web.controller.custom; + +import com.stdiet.common.core.controller.BaseController; +import com.stdiet.common.core.domain.AjaxResult; +import com.stdiet.custom.domain.SysServicesQuestion; +import com.stdiet.custom.service.ISysServicesQuestionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/services/question") +public class SysServiceQuestionController extends BaseController { + + @Autowired + private ISysServicesQuestionService sysServicesQuestionService; + + @PostMapping(value = "/list") + public AjaxResult list(@RequestBody SysServicesQuestion sysServicesQuestion) { + return AjaxResult.success(sysServicesQuestionService.selectSysServicesQuestionByUserIdAndRole(sysServicesQuestion)); + } + + @PutMapping(value = "/updateStatus") + public AjaxResult reply(@RequestBody SysServicesQuestion sysServicesQuestion) { + return toAjax(sysServicesQuestionService.updateSysServicesQuestionStatus(sysServicesQuestion)); + } +} diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java index d30ca7002..690faedbc 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java @@ -68,6 +68,8 @@ public class WechatAppletController extends BaseController { private ISysDictTypeService iSysDictTypeService; @Autowired private IWechatAppletService iWechatAppletService; + @Autowired + private ISysServicesQuestionService iSysServicesQuestionService; /** * 查询微信小程序中展示的客户案例 @@ -571,9 +573,12 @@ public class WechatAppletController extends BaseController { // } @GetMapping("/trans") - public AjaxResult transId(@RequestParam String customerId) { - Long cusId = StringUtils.isNotEmpty(customerId) ? Long.parseLong(AesUtils.decrypt(customerId)) : 0L; - return AjaxResult.success(String.valueOf(cusId)); + public AjaxResult transId(@RequestParam String customerId, @RequestParam Long cusId) { + if (StringUtils.isNotEmpty(customerId)) { + return AjaxResult.success(AesUtils.decrypt(customerId)); + } + + return AjaxResult.success(AesUtils.encrypt(String.valueOf(cusId))); } @GetMapping("/subscribe") @@ -587,6 +592,19 @@ public class WechatAppletController extends BaseController { return AjaxResult.success(sysRecipesPlanService.updateSysRecipesPlan(info)); } + @GetMapping("/fetchServiceQuestion") + public AjaxResult fetchServiceQuestion(@RequestParam String customerId, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { + startPage(); + + Long cusId = StringUtils.isNotEmpty(customerId) ? Long.parseLong(AesUtils.decrypt(customerId)) : 0L; + + SysServicesQuestion servicesQuestion = new SysServicesQuestion(); + servicesQuestion.setRole("customer"); + servicesQuestion.setUserId(cusId); + + return AjaxResult.success(iSysServicesQuestionService.selectSysServicesQuestionByUserIdAndRole(servicesQuestion)); + } + } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysServicesQuestion.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysServicesQuestion.java new file mode 100644 index 000000000..0c711d4bc --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysServicesQuestion.java @@ -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; + +} diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysServicesQuestionMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysServicesQuestionMapper.java new file mode 100644 index 000000000..c68c4b63c --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysServicesQuestionMapper.java @@ -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); +} diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysServicesQuestionService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysServicesQuestionService.java new file mode 100644 index 000000000..344de4c0b --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysServicesQuestionService.java @@ -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); +} diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysServicesQuestionServiceImp.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysServicesQuestionServiceImp.java new file mode 100644 index 000000000..07b61add0 --- /dev/null +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysServicesQuestionServiceImp.java @@ -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); + } +} diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/WeChartAppletServiceImp.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/WeChartAppletServiceImp.java index 9cf84060a..73a40ee88 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/WeChartAppletServiceImp.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/WeChartAppletServiceImp.java @@ -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); diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysServicesQuestionMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysServicesQuestionMapper.xml new file mode 100644 index 000000000..dea35d763 --- /dev/null +++ b/stdiet-custom/src/main/resources/mapper/custom/SysServicesQuestionMapper.xml @@ -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> \ No newline at end of file diff --git a/stdiet-system/src/main/resources/mapper/system/SysUserMapper.xml b/stdiet-system/src/main/resources/mapper/system/SysUserMapper.xml index 27d26aa21..ce1f92365 100644 --- a/stdiet-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/stdiet-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -1,58 +1,58 @@ <?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"> + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.stdiet.system.mapper.SysUserMapper"> - <resultMap id="CusSalesmanResult" type="CusSalesman" > - <id property="userId" column="user_id"/> - <result property="userName" column="nick_name"/> - </resultMap> + <resultMap id="CusSalesmanResult" type="CusSalesman"> + <id property="userId" column="user_id"/> + <result property="userName" column="nick_name"/> + </resultMap> - <resultMap type="SysUser" id="SysUserResult"> - <id property="userId" column="user_id" /> - <result property="deptId" column="dept_id" /> - <result property="userName" column="user_name" /> - <result property="nickName" column="nick_name" /> - <result property="email" column="email" /> - <result property="phonenumber" column="phonenumber" /> - <result property="sex" column="sex" /> - <result property="avatar" column="avatar" /> - <result property="password" column="password" /> - <result property="status" column="status" /> - <result property="delFlag" column="del_flag" /> - <result property="loginIp" column="login_ip" /> - <result property="loginDate" column="login_date" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="remark" column="remark" /> - <!-- <result property="postId" column="post_id" />--> - <result property="postName" column="post_name" /> - <association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" /> - <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> - </resultMap> + <resultMap type="SysUser" id="SysUserResult"> + <id property="userId" column="user_id"/> + <result property="deptId" column="dept_id"/> + <result property="userName" column="user_name"/> + <result property="nickName" column="nick_name"/> + <result property="email" column="email"/> + <result property="phonenumber" column="phonenumber"/> + <result property="sex" column="sex"/> + <result property="avatar" column="avatar"/> + <result property="password" column="password"/> + <result property="status" column="status"/> + <result property="delFlag" column="del_flag"/> + <result property="loginIp" column="login_ip"/> + <result property="loginDate" column="login_date"/> + <result property="createBy" column="create_by"/> + <result property="createTime" column="create_time"/> + <result property="updateBy" column="update_by"/> + <result property="updateTime" column="update_time"/> + <result property="remark" column="remark"/> + <!-- <result property="postId" column="post_id" />--> + <result property="postName" column="post_name"/> + <association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/> + <collection property="roles" javaType="java.util.List" resultMap="RoleResult"/> + </resultMap> - <resultMap id="deptResult" type="SysDept"> - <id property="deptId" column="dept_id" /> - <result property="parentId" column="parent_id" /> - <result property="deptName" column="dept_name" /> - <result property="orderNum" column="order_num" /> - <result property="leader" column="leader" /> - <result property="status" column="dept_status" /> - </resultMap> + <resultMap id="deptResult" type="SysDept"> + <id property="deptId" column="dept_id"/> + <result property="parentId" column="parent_id"/> + <result property="deptName" column="dept_name"/> + <result property="orderNum" column="order_num"/> + <result property="leader" column="leader"/> + <result property="status" column="dept_status"/> + </resultMap> - <resultMap id="RoleResult" type="SysRole"> - <id property="roleId" column="role_id" /> - <result property="roleName" column="role_name" /> - <result property="roleKey" column="role_key" /> - <result property="roleSort" column="role_sort" /> - <result property="dataScope" column="data_scope" /> - <result property="status" column="role_status" /> - </resultMap> + <resultMap id="RoleResult" type="SysRole"> + <id property="roleId" column="role_id"/> + <result property="roleName" column="role_name"/> + <result property="roleKey" column="role_key"/> + <result property="roleSort" column="role_sort"/> + <result property="dataScope" column="data_scope"/> + <result property="status" column="role_status"/> + </resultMap> - <select id="selectAllUser" parameterType="SysUser" resultMap="SysUserResult"> + <select id="selectAllUser" parameterType="SysUser" resultMap="SysUserResult"> -- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u -- left join sys_dept d on u.dept_id = d.dept_id -- where u.del_flag = '0' @@ -61,11 +61,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE del_flag = '0' </select> - <select id="selectSalesman" parameterType="CusSalesman" resultMap="CusSalesmanResult"> + <select id="selectSalesman" parameterType="CusSalesman" resultMap="CusSalesmanResult"> select user_id, nick_name from sys_user where dept_id='103' </select> - <sql id="selectUserVo"> + <sql id="selectUserVo"> -- select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, -- d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status, -- r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status, p.post_id, p.post_name @@ -89,138 +89,141 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" </sql> <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult"> --- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, p.post_id, p.post_name from sys_user u --- left join sys_dept d on u.dept_id = d.dept_id --- left join sys_user_post up on up.user_id = u.user_id --- left join sys_post p on p.post_id = up.post_id --- where u.del_flag = '0' - SELECT * FROM sys_user - JOIN (SELECT dept_id, dept_name FROM sys_dept) AS d USING(dept_id) - JOIN ( - SELECT user_id, GROUP_CONCAT(post_name SEPARATOR ',') AS post_name, GROUP_CONCAT(post_id SEPARATOR ',') AS post_id - FROM ( - SELECT * FROM sys_user_post - JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id) + -- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, +-- u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, +-- p.post_id, p.post_name from sys_user u + -- left join sys_dept d on u.dept_id = d.dept_id + -- left join sys_user_post up on up.user_id = u.user_id + -- left join sys_post p on p.post_id = up.post_id + -- where u.del_flag = '0' + SELECT * FROM sys_user + JOIN (SELECT dept_id, dept_name FROM sys_dept) AS d USING(dept_id) + JOIN ( + SELECT user_id, GROUP_CONCAT(post_name SEPARATOR ',') AS post_name, GROUP_CONCAT(post_id SEPARATOR ',') AS post_id + FROM ( + SELECT * FROM sys_user_post + JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id) ) AS up GROUP BY user_id ) AS ups USING(user_id) - WHERE del_flag = '0' - <if test="userName != null and userName != ''"> - AND (user_name like concat('%', #{userName}, '%') OR nick_name like concat('%', #{userName}, '%')) - </if> - <if test="status != null and status != ''"> - AND status = #{status} - </if> - <if test="phonenumber != null and phonenumber != ''"> - AND phonenumber like concat('%', #{phonenumber}, '%') - </if> - <if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 --> - AND date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') - </if> - <if test="endTime != null and endTime != ''"><!-- 结束时间检索 --> - AND date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') - </if> - <if test="deptId != null and deptId != 0"> - AND (dept_id = #{deptId} OR dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )) - </if> - <!-- 数据范围过滤 --> - ${params.dataScope} - </select> + WHERE del_flag = '0' + <if test="userName != null and userName != ''"> + AND (user_name like concat('%', #{userName}, '%') OR nick_name like concat('%', #{userName}, '%')) + </if> + <if test="status != null and status != ''"> + AND status = #{status} + </if> + <if test="phonenumber != null and phonenumber != ''"> + AND phonenumber like concat('%', #{phonenumber}, '%') + </if> + <if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 --> + AND date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + </if> + <if test="endTime != null and endTime != ''"><!-- 结束时间检索 --> + AND date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + </if> + <if test="deptId != null and deptId != 0"> + AND (dept_id = #{deptId} OR dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, + ancestors) )) + </if> + <!-- 数据范围过滤 --> + ${params.dataScope} + </select> - <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where user_name = #{userName} - </select> + <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult"> + <include refid="selectUserVo"/> + where user_name = #{userName} + </select> - <select id="selectUserById" parameterType="Long" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where user_id = #{userId} - </select> + <select id="selectUserById" parameterType="Long" resultMap="SysUserResult"> + <include refid="selectUserVo"/> + where user_id = #{userId} + </select> - <select id="checkUserNameUnique" parameterType="String" resultType="int"> + <select id="checkUserNameUnique" parameterType="String" resultType="int"> select count(1) from sys_user where user_name = #{userName} limit 1 </select> - <select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult"> + <select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult"> select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} limit 1 </select> - <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult"> + <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult"> select user_id, email from sys_user where email = #{email} limit 1 </select> - <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId"> - insert into sys_user( - <if test="userId != null and userId != 0">user_id,</if> - <if test="deptId != null and deptId != 0">dept_id,</if> - <if test="userName != null and userName != ''">user_name,</if> - <if test="nickName != null and nickName != ''">nick_name,</if> - <if test="email != null and email != ''">email,</if> - <if test="avatar != null and avatar != ''">avatar,</if> - <if test="phonenumber != null and phonenumber != ''">phonenumber,</if> - <if test="sex != null and sex != ''">sex,</if> - <if test="password != null and password != ''">password,</if> - <if test="status != null and status != ''">status,</if> - <if test="createBy != null and createBy != ''">create_by,</if> - <if test="remark != null and remark != ''">remark,</if> - create_time - )values( - <if test="userId != null and userId != ''">#{userId},</if> - <if test="deptId != null and deptId != ''">#{deptId},</if> - <if test="userName != null and userName != ''">#{userName},</if> - <if test="nickName != null and nickName != ''">#{nickName},</if> - <if test="email != null and email != ''">#{email},</if> - <if test="avatar != null and avatar != ''">#{avatar},</if> - <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if> - <if test="sex != null and sex != ''">#{sex},</if> - <if test="password != null and password != ''">#{password},</if> - <if test="status != null and status != ''">#{status},</if> - <if test="createBy != null and createBy != ''">#{createBy},</if> - <if test="remark != null and remark != ''">#{remark},</if> - sysdate() - ) - </insert> + <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId"> + insert into sys_user( + <if test="userId != null and userId != 0">user_id,</if> + <if test="deptId != null and deptId != 0">dept_id,</if> + <if test="userName != null and userName != ''">user_name,</if> + <if test="nickName != null and nickName != ''">nick_name,</if> + <if test="email != null and email != ''">email,</if> + <if test="avatar != null and avatar != ''">avatar,</if> + <if test="phonenumber != null and phonenumber != ''">phonenumber,</if> + <if test="sex != null and sex != ''">sex,</if> + <if test="password != null and password != ''">password,</if> + <if test="status != null and status != ''">status,</if> + <if test="createBy != null and createBy != ''">create_by,</if> + <if test="remark != null and remark != ''">remark,</if> + create_time + )values( + <if test="userId != null and userId != ''">#{userId},</if> + <if test="deptId != null and deptId != ''">#{deptId},</if> + <if test="userName != null and userName != ''">#{userName},</if> + <if test="nickName != null and nickName != ''">#{nickName},</if> + <if test="email != null and email != ''">#{email},</if> + <if test="avatar != null and avatar != ''">#{avatar},</if> + <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if> + <if test="sex != null and sex != ''">#{sex},</if> + <if test="password != null and password != ''">#{password},</if> + <if test="status != null and status != ''">#{status},</if> + <if test="createBy != null and createBy != ''">#{createBy},</if> + <if test="remark != null and remark != ''">#{remark},</if> + sysdate() + ) + </insert> - <update id="updateUser" parameterType="SysUser"> - update sys_user - <set> - <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if> - <if test="userName != null and userName != ''">user_name = #{userName},</if> - <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if> - <if test="email != null and email != ''">email = #{email},</if> - <if test="phonenumber != null and phonenumber != ''">phonenumber = #{phonenumber},</if> - <if test="sex != null and sex != ''">sex = #{sex},</if> - <if test="avatar != null and avatar != ''">avatar = #{avatar},</if> - <if test="password != null and password != ''">password = #{password},</if> - <if test="status != null and status != ''">status = #{status},</if> - <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if> - <if test="loginDate != null">login_date = #{loginDate},</if> - <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - <if test="remark != null">remark = #{remark},</if> - update_time = sysdate() - </set> - where user_id = #{userId} - </update> + <update id="updateUser" parameterType="SysUser"> + update sys_user + <set> + <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if> + <if test="userName != null and userName != ''">user_name = #{userName},</if> + <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if> + <if test="email != null and email != ''">email = #{email},</if> + <if test="phonenumber != null and phonenumber != ''">phonenumber = #{phonenumber},</if> + <if test="sex != null and sex != ''">sex = #{sex},</if> + <if test="avatar != null and avatar != ''">avatar = #{avatar},</if> + <if test="password != null and password != ''">password = #{password},</if> + <if test="status != null and status != ''">status = #{status},</if> + <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if> + <if test="loginDate != null">login_date = #{loginDate},</if> + <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> + <if test="remark != null">remark = #{remark},</if> + update_time = sysdate() + </set> + where user_id = #{userId} + </update> - <update id="updateUserStatus" parameterType="SysUser"> + <update id="updateUserStatus" parameterType="SysUser"> update sys_user set status = #{status} where user_id = #{userId} </update> - <update id="updateUserAvatar" parameterType="SysUser"> + <update id="updateUserAvatar" parameterType="SysUser"> update sys_user set avatar = #{avatar} where user_name = #{userName} </update> - <update id="resetUserPwd" parameterType="SysUser"> + <update id="resetUserPwd" parameterType="SysUser"> update sys_user set password = #{password} where user_name = #{userName} </update> - <delete id="deleteUserById" parameterType="Long"> + <delete id="deleteUserById" parameterType="Long"> delete from sys_user where user_id = #{userId} </delete> - <delete id="deleteUserByIds" parameterType="Long"> - update sys_user set del_flag = '2' where user_id in - <foreach collection="array" item="userId" open="(" separator="," close=")"> - #{userId} + <delete id="deleteUserByIds" parameterType="Long"> + update sys_user set del_flag = '2' where user_id in + <foreach collection="array" item="userId" open="(" separator="," close=")"> + #{userId} </foreach> - </delete> + </delete> </mapper> \ No newline at end of file