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未处理 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); } 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("更新失败"); } } 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> 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); } } 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("信息提交失败"); } } } 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 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; kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/feedback.html
New file @@ -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>