Commit 59602021 by fsn

升级操作记录日志和登录日志管理列表,增加排序

parent 1c26511c
package com.stylefeng.guns.common.constant.factory; package com.stylefeng.guns.common.constant.factory;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.common.constant.state.Order;
import com.stylefeng.guns.core.support.HttpKit; import com.stylefeng.guns.core.support.HttpKit;
import com.stylefeng.guns.core.util.ToolUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -17,6 +19,20 @@ public class PageFactory<T> { ...@@ -17,6 +19,20 @@ public class PageFactory<T> {
HttpServletRequest request = HttpKit.getRequest(); HttpServletRequest request = HttpKit.getRequest();
int limit = Integer.valueOf(request.getParameter("limit")); int limit = Integer.valueOf(request.getParameter("limit"));
int offset = Integer.valueOf(request.getParameter("offset")); int offset = Integer.valueOf(request.getParameter("offset"));
return new Page<>((offset/limit + 1), limit); String sort = request.getParameter("sort");
String order = request.getParameter("order");
if(ToolUtil.isEmpty(sort)){
Page<T> page = new Page<>((offset / limit + 1), limit);
page.setOpenSort(false);
return page;
}else{
Page<T> page = new Page<>((offset / limit + 1), limit, sort);
if(Order.ASC.getDes().equals(order)){
page.setAsc(true);
}else{
page.setAsc(false);
}
return page;
}
} }
} }
package com.stylefeng.guns.common.constant.state;
/**
* 数据库排序
*
* @author fengshuonan
* @Date 2017年5月31日20:48:41
*/
public enum Order {
ASC("asc"), DESC("desc");
private String des;
Order(String des) {
this.des = des;
}
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
}
...@@ -56,7 +56,7 @@ public class LogController extends BaseController { ...@@ -56,7 +56,7 @@ public class LogController extends BaseController {
@ResponseBody @ResponseBody
public Object list(@RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String logName, @RequestParam(required = false) Integer logType) { public Object list(@RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String logName, @RequestParam(required = false) Integer logType) {
Page<OperationLog> page = new PageFactory<OperationLog>().defaultPage(); Page<OperationLog> page = new PageFactory<OperationLog>().defaultPage();
List<Map<String, Object>> result = logDao.getOperationLogs(page, beginTime, endTime, logName, BizLogType.valueOf(logType)); List<Map<String, Object>> result = logDao.getOperationLogs(page, beginTime, endTime, logName, BizLogType.valueOf(logType), page.getOrderByField(), page.isAsc());
page.setRecords((List<OperationLog>) new LogWarpper(result).warp()); page.setRecords((List<OperationLog>) new LogWarpper(result).warp());
return super.packForBT(page); return super.packForBT(page);
} }
......
...@@ -47,7 +47,7 @@ public class LoginLogController extends BaseController { ...@@ -47,7 +47,7 @@ public class LoginLogController extends BaseController {
@ResponseBody @ResponseBody
public Object list(@RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String logName) { public Object list(@RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime, @RequestParam(required = false) String logName) {
Page<OperationLog> page = new PageFactory<OperationLog>().defaultPage(); Page<OperationLog> page = new PageFactory<OperationLog>().defaultPage();
List<Map<String, Object>> result = logDao.getLoginLogs(page, beginTime, endTime, logName); List<Map<String, Object>> result = logDao.getLoginLogs(page, beginTime, endTime, logName, page.getOrderByField(), page.isAsc());
page.setRecords((List<OperationLog>) new LogWarpper(result).warp()); page.setRecords((List<OperationLog>) new LogWarpper(result).warp());
return super.packForBT(page); return super.packForBT(page);
} }
......
...@@ -21,7 +21,7 @@ public interface LogDao { ...@@ -21,7 +21,7 @@ public interface LogDao {
* @author stylefeng * @author stylefeng
* @Date 2017/4/16 23:48 * @Date 2017/4/16 23:48
*/ */
List<Map<String, Object>> getOperationLogs(Page<OperationLog> page, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("logName") String logName, @Param("logType") String logType); List<Map<String, Object>> getOperationLogs(@Param("page") Page<OperationLog> page, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("logName") String logName, @Param("logType") String logType, @Param("orderByField") String orderByField, @Param("isAsc") boolean isAsc);
/** /**
* 获取登录日志 * 获取登录日志
...@@ -29,5 +29,5 @@ public interface LogDao { ...@@ -29,5 +29,5 @@ public interface LogDao {
* @author stylefeng * @author stylefeng
* @Date 2017/4/16 23:48 * @Date 2017/4/16 23:48
*/ */
List<Map<String, Object>> getLoginLogs(Page<OperationLog> page, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("logName") String logName); List<Map<String, Object>> getLoginLogs(@Param("page") Page<OperationLog> page, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("logName") String logName, @Param("orderByField") String orderByField, @Param("isAsc") boolean isAsc);
} }
...@@ -13,10 +13,24 @@ ...@@ -13,10 +13,24 @@
<if test="logType != null and logType !=''"> <if test="logType != null and logType !=''">
and logtype like CONCAT('%',#{logType},'%') and logtype like CONCAT('%',#{logType},'%')
</if> </if>
order by createTime DESC <choose>
<when test="orderByField != null and orderByField !=''">
<choose>
<when test="isAsc == true">
order by ${orderByField} ASC
</when>
<otherwise>
order by ${orderByField} DESC
</otherwise>
</choose>
</when>
<otherwise>
order by createtime DESC
</otherwise>
</choose>
</select> </select>
<select id="getLoginLogs" resultType="map"> <select id="getLoginLogs" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
select * from login_log where 1 = 1 select * from login_log where 1 = 1
<if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''">
and (createTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) and (createTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
...@@ -24,6 +38,20 @@ ...@@ -24,6 +38,20 @@
<if test="logName != null and logName !=''"> <if test="logName != null and logName !=''">
and logname like CONCAT('%',#{logName},'%') and logname like CONCAT('%',#{logName},'%')
</if> </if>
order by createTime DESC <choose>
<when test="orderByField != null and orderByField !=''">
<choose>
<when test="isAsc == true">
order by ${orderByField} ASC
</when>
<otherwise>
order by ${orderByField} DESC
</otherwise>
</choose>
</when>
<otherwise>
order by createtime DESC
</otherwise>
</choose>
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -44,6 +44,7 @@ mybatis-plus: ...@@ -44,6 +44,7 @@ mybatis-plus:
cache-enabled: true #配置的缓存的全局开关 cache-enabled: true #配置的缓存的全局开关
lazyLoadingEnabled: true #延时加载的开关 lazyLoadingEnabled: true #延时加载的开关
multipleResultSetsEnabled: true #开启的话,延时加载一个属性时会加载该对象全部属性,否则按需加载属性 multipleResultSetsEnabled: true #开启的话,延时加载一个属性时会加载该对象全部属性,否则按需加载属性
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
--- ---
......
...@@ -15,13 +15,13 @@ OptLog.initColumn = function () { ...@@ -15,13 +15,13 @@ OptLog.initColumn = function () {
return [ return [
{field: 'selectItem', radio: true}, {field: 'selectItem', radio: true},
{title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
{title: '日志类型', field: 'logtype', align: 'center', valign: 'middle'}, {title: '日志类型', field: 'logtype', align: 'center', valign: 'middle', sortable: true},
{title: '日志名称', field: 'logname', align: 'center', valign: 'middle'}, {title: '日志名称', field: 'logname', align: 'center', valign: 'middle', sortable: true},
{title: '用户名称', field: 'userName', align: 'center', valign: 'middle'}, {title: '用户名称', field: 'userName', align: 'center', valign: 'middle', sortable: true},
{title: '类名', field: 'classname', align: 'center', valign: 'middle'}, {title: '类名', field: 'classname', align: 'center', valign: 'middle', sortable: true},
{title: '方法名', field: 'method', align: 'center', valign: 'middle'}, {title: '方法名', field: 'method', align: 'center', valign: 'middle', sortable: true},
{title: '时间', field: 'createtime', align: 'center', valign: 'middle'}, {title: '时间', field: 'createtime', align: 'center', valign: 'middle', sortable: true},
{title: '具体消息', field: 'message', align: 'center', valign: 'middle'}]; {title: '具体消息', field: 'message', align: 'center', valign: 'middle', sortable: true}];
}; };
/** /**
......
...@@ -15,11 +15,11 @@ LoginLog.initColumn = function () { ...@@ -15,11 +15,11 @@ LoginLog.initColumn = function () {
return [ return [
{field: 'selectItem', radio: true}, {field: 'selectItem', radio: true},
{title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
{title: '日志名称', field: 'logname', align: 'center', valign: 'middle'}, {title: '日志名称', field: 'logname', align: 'center', valign: 'middle', sortable: true},
{title: '用户名称', field: 'userName', align: 'center', valign: 'middle'}, {title: '用户名称', field: 'userName', align: 'center', valign: 'middle', sortable: true},
{title: '时间', field: 'createtime', align: 'center', valign: 'middle'}, {title: '时间', field: 'createtime', align: 'center', valign: 'middle', sortable: true},
{title: '具体消息', field: 'message', align: 'center', valign: 'middle'}, {title: '具体消息', field: 'message', align: 'center', valign: 'middle', sortable: true},
{title: 'ip', field: 'ip', align: 'center', valign: 'middle'}]; {title: 'ip', field: 'ip', align: 'center', valign: 'middle', sortable: true}];
}; };
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment