From 7ca064b6b20f89b7e73244f99fe9848a48f4142a Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Fri, 03 Apr 2020 15:28:06 +0800 Subject: [PATCH] 业务日志 功能完成 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java | 4 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 6 + kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml | 1 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java | 2 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html | 223 ++++++++++++++++++++++++++++++++++++++++++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java | 4 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/BusinessRecordsMapper.xml | 8 + 7 files changed, 245 insertions(+), 3 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/BusinessRecordsMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/BusinessRecordsMapper.xml index e0c6d5a..0fce280 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/BusinessRecordsMapper.xml +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/BusinessRecordsMapper.xml @@ -16,7 +16,7 @@ and id = #{p.id} </if> <if test="p.recordTitle != null and p.recordTitle !=''"> - and record_title = #{p.recordTitle} + and record_title like '%${p.recordTitle}%' </if> <if test="p.userId != null and p.userId !=''"> and user_id = #{p.userId} @@ -57,6 +57,12 @@ <if test="p.createTime != null and p.createTime !=''"> and create_time = #{p.createTime} </if> + <if test="p.startTime!= null and p.startTime !=''"> + and create_time >= #{p.startTime} + </if> + <if test="p.endTime!= null and p.endTime !=''"> + and create_time <= #{p.endTime} + </if> <if test="p.updateTime != null and p.updateTime !=''"> and update_time = #{p.updateTime} </if> diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java index d8d407e..ab9105c 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/BusinessRecordsController.java @@ -43,12 +43,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(businessRecordsService.findList(params)); + return businessRecordsService.findList(params); } /** 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 f74a33a..0a3f8d2 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 @@ -60,6 +60,7 @@ - sys_user - sys_logger - data_need + - business_records ignoreSqls: - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java index 8d9b84b..8792cdd 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java @@ -105,4 +105,6 @@ * 删除用户 */ boolean delUser(Long id); + + ResultBody findAll(Map<String, Object> map); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java index d6614aa..bcb4b7c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java @@ -279,4 +279,10 @@ } return sysUserExcels; } + + @Override + public ResultBody findAll(Map<String, Object> map) { + List<SysUser> sysUsers = baseMapper.selectByMap(map); + return ResultBody.ok().data(sysUsers).msg("操作成功"); + } } \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java index 2076cbf..7e38efd 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java @@ -332,4 +332,8 @@ private boolean checkAdmin(long id) { return id == 1L; } + @PostMapping("/users/findAll") + public ResultBody findAll(@RequestParam Map<String,Object> map) { + return appUserService.findAll(map); + } } diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html new file mode 100644 index 0000000..b8ca7d6 --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/businessRecords.html @@ -0,0 +1,223 @@ +<div class="layui-card"> + <div class="layui-card-header"> + <h2 class="header-title">业务日志</h2> + <span class="layui-breadcrumb pull-right"> + <a href="#!home_console">首页</a> + <a><cite>业务日志</cite></a> + </span> + </div> + <div class="layui-card-body"> + <div class="layui-form toolbar"> + <input id="app-edit-search" class="layui-input search-input" type="text" placeholder="请输入标题" />  + <input type="text" class="layui-input search-input" id="test1"> 至 <input type="text" + class="layui-input search-input" id="test2">   + <select id="role_clients" placeholder="选择一个应用" lay-filter="role_clients"> + <option value="">-请选择-</option> + </select> + <button id="app-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> + </div> + + <!-- 数据表格 --> + <table class="layui-table" id="app-table" lay-filter="app-table"></table> + </div> +</div> + +<!-- 表格操作列 --> +<script type="text/html" id="businessRecords-table-bar"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a> +</script> + +<!-- 表单弹窗 --> +<script type="text/html" id="app-model"> + <form id="app-form" lay-filter="app-form" class="layui-form model-form"> + <input name="id" type="hidden"/> + <div class="layui-form-item"> + <label class="layui-form-label">记录标题</label> + <div class="layui-input-block"> + <input name="recordTitle" disabled="true" type="text" class="layui-input" maxlength="20" + lay-verify="required" required/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">操作人姓名</label> + <div class="layui-input-block"> + <input name="userName" disabled="true" placeholder="请输入应用名称" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">应用名称</label> + <div class="layui-input-block"> + <input name="appName" disabled="true" type="text" class="layui-input" maxlength="20" + lay-verify="required" required /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">ip</label> + <div class="layui-input-block"> + <input name="recordIp" disabled="true" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">业务操作记录</label> + <div class="layui-input-block"> + <input name="recordDetail" disabled="true" type="text" class="layui-input" maxlength="20"/> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">确定</button> + </div> + </form> +</script> + + +<script> + layui.use(['form', 'table', 'laydate', 'util', 'config', 'admin'], function () { + var form = layui.form; + var table = layui.table; + var config = layui.config; + var layer = layui.layer; + var util = layui.util; + var admin = layui.admin; + + // 获取应用列表 + // layer.load(2); + admin.req('api-user/users/findAll', {}, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + let selected = false; + clientsAll = data.data; + $.each(data.data, function (index, item) { + if (config.clientId === item.clientId) { + selected = true; + } else { + selected = false; + } + //往下拉菜单里添加元素 + $('#role_clients').append(new Option(item.username, item.id, false, selected)); + }) + form.render(); + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'Post'); + + //时间格式 + var laydate = layui.laydate; + //执行一个laydate实例 + laydate.render({ + elem: '#test1' //指定元素 + }); + laydate.render({ + elem: '#test2' //指定元素 + }); + + // 渲染表格 + table.render({ + elem: '#app-table', + url: config.base_server + 'api-opration/businessrecords', + method: 'GET', + headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, + page: true, + cols: [[ + { type: 'numbers' }, + { field: 'userName', width: 180, sort: true, title: '用户' }, + { field: 'appName', width: 200, sort: true, title: '应用名' }, + { field: 'recordIp', width: 180, sort: true, title: 'IP' }, + { field: 'recordTitle', width: 300, sort: true, title: '标题' }, + { field: 'id', width: 250, align: 'center', toolbar: '#businessRecords-table-bar', sort: true, title: '查看详情' },// 0就诊数据 1筛查 + { field: 'createTime', width: 250, sort: true, title: '时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy年MM月dd日 HH:mm:ss')}}</div>" } + ]] + }); + + // 工具条点击事件 + table.on('tool(app-table)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'detail') { // 查看详情 + showEditModel(data); + } + }); + + // 搜索按钮点击事件 + $('#app-btn-search').click(function () { + var userId = $('#role_clients').val(); + var key = $('#app-edit-search').val(); + var startTime = $('#test1').val(); + var endTime = $('#test2').val(); + if (startTime != null && endTime != null) { + var flag = compareDate(startTime, endTime); + if (!flag) { + layer.msg('结束时间不得小于开始时间'); + return; + } + } + + table.reload('app-table', { where: { recordTitle: key, startTime: startTime, endTime: endTime, userId: userId } }); + }); + //比较日期大小 + function compareDate(logintime, logouttime) { + var arys1 = new Array(); + var arys2 = new Array(); + if (logintime != null && logouttime != null) { + arys1 = logintime.split('-'); + var logindate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]); + arys2 = logouttime.split('-'); + var logoutdate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]); + if (logindate > logoutdate) { + return false; + } else { + return true; + } + } + } + // 导出 + $('#app-btn-export').click(function () { + var url = config.base_server + 'api-opration/dataneed/export'; + var xhr = new XMLHttpRequest(); + xhr.open('POST', url, true); + xhr.responseType = "blob"; + xhr.setRequestHeader("client_type", "DESKTOP_WEB"); + xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token); + xhr.onload = function () { + if (this.status == 200) { + var fileName = "user.xlsx"; + var blob = this.response; + var a = document.createElement('a'); + a.innerHTML = fileName; + // 指定生成的文件名 + a.download = fileName; + a.href = URL.createObjectURL(blob); + document.body.appendChild(a); + var evt = document.createEvent("MouseEvents"); + evt.initEvent("click", false, false); + a.dispatchEvent(evt); + document.body.removeChild(a); + } + } + xhr.send(); + }); + + // // 显示编辑弹窗 + var showEditModel = function (data) { + layer.open({ + type: 1, + title: '查看详情', + area: '450px', + offset: '120px', + content: $('#app-model').html(), + success: function () { + $('#app-form')[0].reset(); + $('#app-form').attr('method', 'POST'); + if (data) { + $("input[name='clientId']").attr('disabled', true); + $("input[name='clientId']").attr('class', "layui-input layui-disabled"); + $("input[name='webServerRedirectUri']").attr('disabled', true); + $("input[name='webServerRedirectUri']").attr('class', "layui-input layui-disabled"); + form.val('app-form', data); + // $('#app-form').attr('method', 'POST'); + } + } + }); + }; + }); +</script> \ No newline at end of file -- Gitblit v1.8.0