1 日志管理设计
日志页面查询、日志删除、日志添加的实现。
1.1 数据库导入
用户行为日志表设计,针对增删改查数据核对。CREATE TABLE `sys_logs` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL COMMENT '登陆用户名',
`operation` varchar(50) DEFAULT NULL COMMENT '用户操作',
`method` varchar(200) DEFAULT NULL COMMENT '请求方法',
`params` varchar(5000) DEFAULT NULL COMMENT '请求参数',
`time` bigint(20) NOT NULL COMMENT '执行时长(毫秒)',
`ip` varchar(64) DEFAULT NULL COMMENT 'IP地址',
`createdTime` datetime DEFAULT NULL COMMENT '日志记录时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='系统日志';
1.2 页面设计
1.3 分页API设计
1.4 分页业务时序分析
2 日志管理列表页面呈现
2.1 PageController的实现
基于日志管理的请求业务,在PageController中添加doLogUI方法,doPageUI方法分别用于返回日志列表页面,日志分页页面。
第一步:在PageController中定义返回日志列表的方法。代码如下:@RequestMapping("log/log_list")
public String doLogUI() {
return "sys/log_list";
}
第二步:在PageController中定义用于返回分页页面的方法。代码如下:@RequestMapping("doPageUI")
public String doPageUI() {
return "common/page";
}
2.2 客户端实现
2.2.1 日志页面跳转
首先准备日志列表页面(/templates/pages/sys/log_list.html),然后在starter.html页面中点击日志管理菜单时异步加载日志列表页面。
找到项目中的starter.html 页面,页面加载完成以后,注册日志管理菜单项的点击事件,当点击日志管理时,执行事件处理函数。关键代码如下:$(function(){
doLoadUI("load-log-id","log/log_list")
})
function doLoadUI(id,url){
$("#"+id).click(function(){
$("#mainContentId").load(url);
});
}
其中,load函数为jquery中的ajax异步请求函数。
2.2.2 日志页面分页异步加载$(function(){
$("#pageId").load("doPageUI");
});
3 业务实现
3.1 日志管理实现
查询:
数据架构分析
日志分页架构分析
时序图分析:
删除:
日志删除架构分析:
日志删除时序图分析:
第一步:创建SysLog实体类package com.cy.pj.sys.pojo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
//实现此接口的对象可以进行序列化和反序列化
//1)序列化:将对象转化为字节的过程,转换以后便于通过网络进行传输或存储到相关介质中
//2)反序列化:将字节转换为对象的过程
//建议:在java中所有用于存储数据的对象都实现Serializable接口
@Data
public class SysLog implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
//用户名
private String username;
//用户操作
private String operation;
//请求方法
private String method;
//请求参数
private String params;