java⾓⾊管理代码_后台管理系统-⾓⾊管理模块1 ⾓⾊管理设计说明
1.1 业务设计说明
本模块主要实现的是企业内部⾓⾊(岗位)的管理,可以在添加⾓⾊时,为⾓⾊分配资源访问权限,最后将⾓⾊再分配给⽤户,图所⽰:
基于对表的设计,其数据逻辑关系的展⽰,如图所⽰:
⾓⾊表设计脚本如下:CREATE TABLE `sys_roles` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL COMMENT '⾓⾊名称',
`note` varchar(500) DEFAULT NULL COMMENT '备注',
`createdTime` datetime DEFAULT NULL COMMENT '创建时间',
`modifiedTime` datetime DEFAULT NULL COMMENT '修改时间',
`createdUser` varchar(20) DEFAULT NULL COMMENT '创建⽤户',
`modifiedUser` varchar(20) DEFAULT NULL COMMENT '修改⽤户',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8 COMMENT='⾓⾊';
菜单与⾓⾊的关系表脚本设计如下:CREATE TABLE `sys_role_menus` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`role_id` int(11) DEFAULT NULL COMMENT '⾓⾊ID',
`menu_id` int(11) DEFAULT NULL COMMENT 'ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='⾓⾊与菜单对应关系';
⽤户与⾓⾊关系表设计脚本如下:CREATE TABLE `sys_user_roles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT '⽤户ID',
`role_id` int(11) DEFAULT NULL COMMENT '⾓⾊ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='⽤户与⾓⾊对应关系';
1.2 原型设计说明
基于⽤户需求,通过静态页⾯为⽤户呈现⾓⾊模块的基本需求。当在主页点击⾓⾊管理时,呈现⾓⾊列表页⾯,如图所⽰。
java修改html文件在列表页⾯点击添加按钮时,呈现⾓⾊编辑页⾯,如图所⽰.
在列表页⾯点击编辑按钮时,呈现⾓⾊编辑页⾯,如图所⽰。
说明:假如客户对此原型进⾏了确认,后续则可以基于此原型进⾏研发。
1.3 API设计说明
⾓⾊管理业务后台API分层架构及调⽤关系如图所⽰:
说明:分层⽬的主要将复杂问题简单化,实现各司其职,各尽所能。
2 ⾓⾊管理列表页⾯呈现
2.1 业务时序分析
⾓⾊列表页⾯,其加载时序分析,如图所⽰:
2.2 服务端实现
2.2.1 Controller实现
▪ 业务描述与设计实现
基于⾓⾊管理的请求业务,在PageController中添加返回⾓⾊页⾯相关⽅法。
▪ 关键代码设计与实现
检查PageController中是否有返回UI页⾯的⽅法,有则⽆需添加。例如:@RequestMapping("{module}/{moduleUI}")
public String doModuleUI(@PathVariable String moduleUI) {
return "sys/"+moduleUI;
}
2.3 客户端实现
2.3.1 ⾸页菜单事件处理
▪ 业务描述与设计实现
⾸先准备⾓⾊列表页⾯(/templates/pages/sys/role_list.html),然后在starter.html页⾯中点击菜单管理时异步加载⾓⾊列表页⾯。▪ 关键代码设计与实现
到项⽬中的starter.html 页⾯,页⾯加载完成以后,注册菜单管理项的点击事件,当点击⾓⾊管理时,执⾏事件处理函数。关键代码如下:$(function(){
…
doLoadUI("load-role-id","role/role_list")
})
function doLoadUI(id,url){
$("#"+id).click(function(){
$("#mainContentId").load(url);
});
}
其中,load函数为jquery中的ajax异步请求函数。
2.3.2 ⾓⾊列表页⾯
▪ 业务描述与设计实现
本页⾯呈现⾓⾊信息时要以分页形式进⾏呈现。
▪ 关键代码设计与实现:
参考sys_role.html⽂件内容。
3 ⾓⾊管理列表数据呈现
3.1 数据架构分析
⾓⾊列表页⾯加载完成,启动⾓⾊数据异步加载操作,本次⾓⾊列表页⾯要以分页形式呈现⾓⾊信息,其数据查询时,数据的封装及传递过程,如图所⽰。
说明:本模块将从数据库查询到的⾓⾊数据封装到SysRole对象,⼀⾏记录⼀个SysRole对象。
⾓⾊数据分页查询时,其时序分析如图所⽰:
3.2 服务端关键业务及代码实现
3.2.1 Entity类实现
▪ 业务描述及设计实现
构建实体对象(POJO)封装从数据库查询到的记录,⼀⾏记录映射为内存中⼀个的这样的对象。对象属性定义时尽量与表中字段有⼀定的映射关系,并添加对应的set/get/toString等⽅法,便于对数据进⾏更好的操作。
▪ 关键代码分析及实现ity;
import java.io.Serializable;
import java.util.Date;
public class SysRole implements Serializable{
private static final long serialVersionUID = -356538509994150709L;
private Integer id;
private String name;
private String note;
private Date createdTime;
private Date modifiedTime;
private String createdUser;
private String modifiedUser;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNote() {
return note;
}
public void setNote(String note) {
< = note;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论