From 8eb4af1f919e4411544e8a207a00686ca6d6cbd4 Mon Sep 17 00:00:00 2001
From: 侯瑞军 <411269194@kidgrow.com>
Date: Tue, 07 Apr 2020 17:36:45 +0800
Subject: [PATCH] 1.运营中心增加用户反馈功能 2.common.js中取消对插件库的重复引用 3.运营中心配置中,增加租户业务排除用户反馈表
---
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysFeedbackMapper.xml | 17 ++-
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysFeedbackService.java | 7 +
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml | 1
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysFeedbackServiceImpl.java | 39 ++++++-
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html | 156 +++++++++++++++++++++++++++++++
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysLoggerController.java | 24 ++--
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysFeedbackController.java | 43 +++++--
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SysFeedback.java | 2
kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js | 2
9 files changed, 246 insertions(+), 45 deletions(-)
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SysFeedback.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SysFeedback.java
index 639fef6..bc8236d 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SysFeedback.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SysFeedback.java
@@ -1,5 +1,6 @@
package com.kidgrow.oprationcenter.model;
+import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kidgrow.common.model.SuperModel;
import lombok.AllArgsConstructor;
@@ -66,6 +67,7 @@
/**
* 是否删除,1删除,0未删除
*/
+ @TableLogic
private Boolean isDel;
/**
* 状态,1已查收,0未处理
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysFeedbackService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysFeedbackService.java
index 3f9f798..f7b1772 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysFeedbackService.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysFeedbackService.java
@@ -1,5 +1,6 @@
package com.kidgrow.oprationcenter.service;
+import com.kidgrow.common.model.ResultBody;
import com.kidgrow.oprationcenter.model.SysFeedback;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.service.ISuperService;
@@ -29,5 +30,11 @@
* @return SysFeedback对象
*/
SysFeedback findByObject(SysFeedback sysFeedback);
+ /**
+ * 状态变更
+ * @param params
+ * @return
+ */
+ ResultBody updateEnabled(Map<String, Object> params);
}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysFeedbackServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysFeedbackServiceImpl.java
index a3ca564..8d15b25 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysFeedbackServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysFeedbackServiceImpl.java
@@ -1,18 +1,19 @@
package com.kidgrow.oprationcenter.service.impl;
-import org.springframework.stereotype.Service;
-import com.kidgrow.common.model.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.service.impl.SuperServiceImpl;
+import com.kidgrow.oprationcenter.mapper.SysFeedbackMapper;
+import com.kidgrow.oprationcenter.model.SysFeedback;
+import com.kidgrow.oprationcenter.service.ISysFeedbackService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.MapUtils;
+import org.springframework.stereotype.Service;
+import java.util.Date;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections4.MapUtils;
-import lombok.extern.slf4j.Slf4j;
-
-import com.kidgrow.oprationcenter.model.SysFeedback;
-import com.kidgrow.oprationcenter.mapper.SysFeedbackMapper;
-import com.kidgrow.oprationcenter.service.ISysFeedbackService;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -46,4 +47,26 @@
public SysFeedback findByObject(SysFeedback sysFeedback){
return baseMapper.findByObject(sysFeedback);
}
+
+ /**
+ * 根据id和启用禁用值更新数据
+ * @param params
+ * @return ResultBody
+ */
+ @Override
+ public ResultBody updateEnabled(Map<String, Object> params) {
+ Long id = MapUtils.getLong(params, "id");
+ Boolean enabled = MapUtils.getBoolean(params, "enabled");
+
+ SysFeedback feedback = baseMapper.selectById(id);
+ if (feedback == null) {
+ return ResultBody.failed("该反馈数据不存在!");
+ }
+ feedback.setEnabled(enabled);
+ feedback.setUpdateTime(new Date());
+// feedback.setUpdateUserId();
+// feedback.setUpdateUserName();
+ int i = baseMapper.updateById(feedback);
+ return i > 0 ? ResultBody.ok().data(feedback).msg("更新成功") : ResultBody.failed("更新失败");
+ }
}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysFeedbackMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysFeedbackMapper.xml
index de5684f..50c3397 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysFeedbackMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysFeedbackMapper.xml
@@ -4,7 +4,13 @@
<mapper namespace="com.kidgrow.oprationcenter.mapper.SysFeedbackMapper">
<!--定义查询列-->
<sql id="Column_List">
- *
+ id,
+ doctor_name,
+ doctor_tel,
+ department_name,
+ hospital_name,
+ enabled,
+ create_time
</sql>
<!--sql查询片段-->
@@ -19,7 +25,7 @@
and doctor_id = #{p.doctorId}
</if>
<if test="p.doctorName != null and p.doctorName !=''">
- and doctor_name = #{p.doctorName}
+ and doctor_name like concat('%', #{p.doctorName}, '%')
</if>
<if test="p.doctorTel != null and p.doctorTel !=''">
and doctor_tel = #{p.doctorTel}
@@ -57,11 +63,8 @@
<if test="p.updateUserName != null and p.updateUserName !=''">
and update_user_name = #{p.updateUserName}
</if>
- <if test="p.createTime != null and p.createTime !=''">
- and create_time = #{p.createTime}
- </if>
- <if test="p.updateTime != null and p.updateTime !=''">
- and update_time = #{p.updateTime}
+ <if test="p.createTime != null and p.createTime !='' and p.updateTime != null and p.updateTime !=''">
+ and (create_time between #{p.createTime} and #{p.updateTime})
</if>
</where>
</sql>
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysFeedbackController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysFeedbackController.java
index 5376e06..e95b416 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysFeedbackController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysFeedbackController.java
@@ -1,28 +1,24 @@
package com.kidgrow.oprationcenter.controller;
-import java.util.Map;
import com.kidgrow.common.controller.BaseController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.ObjectError;
-import org.springframework.web.bind.annotation.*;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.model.SysFeedback;
+import com.kidgrow.oprationcenter.service.ISysFeedbackService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
-
-import com.kidgrow.oprationcenter.model.SysFeedback;
-import com.kidgrow.oprationcenter.service.ISysFeedbackService;
-import com.kidgrow.common.model.*;
-
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.annotation.*;
+
import javax.validation.Valid;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
@@ -50,12 +46,12 @@
@ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
})
@GetMapping
- public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
+ public PageResult list(@RequestParam Map<String, Object> params) {
if(params.size()==0){
params.put("page",1);
params.put("limit",10);
}
- return ResultBody.ok().data(sysFeedbackService.findList(params));
+ return sysFeedbackService.findList(params);
}
/**
@@ -115,4 +111,23 @@
return ResultBody.failed().msg("删除失败");
}
}
+ /**
+ * 修改状态
+ *
+ * @param params
+ * @return
+ */
+ @ApiOperation(value = "修改反馈数据状态")
+ @GetMapping("/updateEnabled")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean")
+ })
+ public ResultBody updateEnabled(@RequestParam Map<String, Object> params) {
+ if (params.size()==0)
+ {
+ return ResultBody.failed().msg("参数异常!");
+ }
+ return sysFeedbackService.updateEnabled(params);
+ }
}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysLoggerController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysLoggerController.java
index ee6f3b1..35c2c14 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysLoggerController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysLoggerController.java
@@ -1,28 +1,24 @@
package com.kidgrow.oprationcenter.controller;
-import java.util.Map;
import com.kidgrow.common.controller.BaseController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.ObjectError;
-import org.springframework.web.bind.annotation.*;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.model.SysLogger;
+import com.kidgrow.oprationcenter.service.ISysLoggerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
-
-import com.kidgrow.oprationcenter.model.SysLogger;
-import com.kidgrow.oprationcenter.service.ISysLoggerService;
-import com.kidgrow.common.model.*;
-
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.annotation.*;
+
import javax.validation.Valid;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
@@ -93,10 +89,10 @@
} else {
boolean v= sysLoggerService.saveOrUpdate(sysLogger);
if(v) {
- return ResultBody.ok().data(sysLogger).msg("保存成功");
+ return ResultBody.ok().data(sysLogger).msg("反馈提交成功");
}
else {
- return ResultBody.failed().msg("保存失败");
+ return ResultBody.failed().msg("信息提交失败");
}
}
}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
index 0a3f8d2..dc1f9c9 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
@@ -61,6 +61,7 @@
- sys_logger
- data_need
- business_records
+ - sys_feedback
ignoreSqls:
- com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js
index 8d1b993..26ee5d1 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/assets/js/common.js
@@ -2,8 +2,6 @@
layui.config({
base: '/module/'
}).extend({
- formSelects: 'formSelects/formSelects-v4',
- treetable: 'treetable-lay/treetable',
step: 'step-lay/step'
}).use(['layer'], function () {
var $ = layui.jquery;
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html
new file mode 100644
index 0000000..e749314
--- /dev/null
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html
@@ -0,0 +1,156 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">用户反馈</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#!console">首页</a>
+ <a><cite>用户反馈</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-form toolbar"> 
+ <input id="user-search-value" class="layui-input search-input" type="text" placeholder="输入医生姓名"/> 
+ <input type="text" name="date" id="datebegin" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input search-input">
+ 至
+ <input type="text" name="date" id="dateend" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input search-input">  
+ <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button>
+ </div>
+
+ <table class="layui-table" id="feedback-table" lay-filter="feedback-table"></table>
+ </div>
+</div>
+
+<!-- 表格操作列 -->
+<script type="text/html" id="feeedback-table-bar">
+ <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
+</script>
+<!-- 表格状态列 -->
+<script type="text/html" id="user-tpl-state">
+ <input type="checkbox" lay-filter="feedback-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="未处理|已处理"
+ {{d.enabled==true?'checked':''}}/>
+</script>
+<!-- 弹窗内容 -->
+<script type="text/html" id="feedback-detail">
+ <div class="layui-card-body" id="feedback-detail-note">
+ </div>
+</script>
+<script>
+ layui.use(['form', 'table', 'util', 'config', 'admin', 'laydate'],function () {
+ let table = layui.table;
+ let config = layui.config;
+ let layer = layui.layer;
+ let util = layui.util;
+ let admin = layui.admin;
+ let form = layui.form;
+ let laydate = layui.laydate;
+
+ //日期
+ laydate.render({
+ elem: '#datebegin'
+ });
+ laydate.render({
+ elem: '#dateend'
+ });
+ // 渲染表格
+ table.render({
+ elem: '#feedback-table',
+ url: config.base_server + 'api-opration/sysfeedback',
+ method: 'GET',
+ headers:{'Authorization': 'Bearer ' + config.getToken().access_token},
+ //where: {tenantId: config.clientId},
+ page: true,
+ cols: [[
+ {field: 'doctorName',width:150, title: '医生姓名'},
+ {field: 'doctorTel',width:200, title: '联系电话'},
+ {field: 'hospitalName',width:300, title: '医院'},
+ {field: 'departmentName',width:180, title: '科室'},
+ {field: 'enabled', width: 150,templet: '#user-tpl-state',sort: true, title: '状态'},
+ {field: 'createTime', width: 200,sort: true,title: '创建时间'},
+ {align: 'center',width:200, toolbar: '#feeedback-table-bar', title: '操作'}
+ ]]
+ });
+
+ // 修改menu状态
+ form.on('switch(feedback-tpl-state)', function (obj) {
+ layer.load(2);
+ admin.req('api-opration/sysfeedback/updateEnabled', {
+ id: obj.elem.value,
+ enabled: obj.elem.checked ? true : false
+ }, function (data) {
+ layer.closeAll('loading');
+ if (data.code == 0) {
+ layer.msg(data.msg, {icon: 1, time: 500});
+ } else {
+ layer.msg(data.msg, {icon: 2, time: 500});
+ $(obj.elem).prop('checked', !obj.elem.checked);
+ form.render('checkbox');
+ }
+ }, 'GET');
+ });
+
+ // 工具条点击事件
+ table.on('tool(feedback-table)', function (obj) {
+ if (obj.event === 'del') { // 删除
+ layer.confirm('确定要删除吗?', function (i) {
+ layer.close(i);
+ layer.load(2);
+ admin.req('api-opration/sysfeedback/'+obj.data.id, {}, function (data) {
+ layer.closeAll('loading');
+ layer.msg('成功', {icon: 1, time: 500});
+ obj.del();
+ }, 'DELETE');
+ });
+ }
+ else if(obj.event=='detail')
+ {
+ $.ajax({
+ type: "GET",
+ url: config.base_server +"api-opration/sysfeedback/"+obj.data.id,
+ success: function(data) {
+ if(data!=null)
+ {
+ layer.open({
+ type: 1,
+ title: '详情',
+ area: ['500px','300px'],
+ offset: 'auto',
+ content: $("#feedback-detail").html(),
+ success:function(obj)
+ {
+ $("#feedback-detail-note").html(data.data.feedbackNote);
+ }
+ });
+ }
+ else
+ {
+ layer.msg('未找到相关数据', {icon: 1, time: 500});
+ }
+ },
+ beforeSend: function(xhr) {
+ xhr.setRequestHeader("Authorization", "Bearer "+config.getToken().access_token);
+ xhr.setRequestHeader("Content-Type", "application/json")
+ }
+ });
+ }
+ });
+
+ // 搜索按钮点击事件
+ $('#user-btn-search').click(function () {
+ var doctorName = $('#user-search-value').val();
+ var datebegin=$('#datebegin').val();
+ var dateend=$('#dateend').val();
+ if(strUtil.isEmpty(datebegin)&&!strUtil.isEmpty(dateend))
+ {
+ datebegin=dateUtil.getNowDate();
+ $('#datebegin').val(datebegin);
+ }
+ if(!strUtil.isEmpty(datebegin)&&strUtil.isEmpty(dateend))
+ {
+ dateend=dateUtil.getNowDate();
+ $('#dateend').val(dateend);
+ }
+ table.reload('feedback-table', {where: {doctorName: doctorName,createTime:datebegin,updateTime:dateend}});
+ });
+
+ });
+</script>
\ No newline at end of file
--
Gitblit v1.8.0