一、登录逻辑
二、数据库设计
1. sys_account_info 系统账号信息表
CREATE TABLE `sys_account_info` (
`account_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '账号信息主键',
`login_account` varchar(64) NOT NULL COMMENT '登录账号',
`login_pwd` varchar(150) NOT NULL COMMENT '登录密码',
`salt` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '盐',
`nick_name` varchar(64) DEFAULT NULL COMMENT '昵称',
`account_status` tinyint(1) NOT NULL DEFAULT '2' COMMENT '账号状态:1-在用,2-禁用,3-锁定',
`last_login_time` datetime DEFAULT NULL COMMENT '最后一次登录时间',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_user_id` bigint NOT NULL COMMENT '创建人主键',
`modified_time` datetime DEFAULT NULL COMMENT '更新时间',
`modified_user_id` bigint DEFAULT NULL COMMENT '更新人主键',
`version` bigint NOT NULL DEFAULT '1' COMMENT '数据版本',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0-否,1-是',
PRIMARY KEY (`account_info_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 COMMENT='系统账号信息表';
2. sys_role_info 系统角色信息表
CREATE TABLE `sys_role_info` (
`role_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色信息主键',
`role_code` varchar(64) NOT NULL DEFAULT '' COMMENT '角色编码',
`role_name` varchar(64) NOT NULL DEFAULT '' COMMENT '角色名称',
`is_use` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用:0-否,1-是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_user_id` bigint NOT NULL COMMENT '创建人主键',
`modified_time` datetime DEFAULT NULL COMMENT '更新时间',
`modified_user_id` bigint DEFAULT NULL COMMENT '更新人主键',
`version` bigint NOT NULL DEFAULT '1' COMMENT '数据版本',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0-否,1-是',
PRIMARY KEY (`role_info_id`)
) ENGINE=InnoDB COMMENT='系统角色信息表';
3. sys_menu_info 系统菜单信息表
CREATE TABLE `sys_menu_info` (
`menu_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单信息主键',
`menu_type` tinyint(1) NOT NULL COMMENT '菜单类型:1-模块,2-目录,3-菜单,4-按钮',
`menu_name` varchar(64) NOT NULL COMMENT '菜单名称',
`permission_code` varchar(100) NOT NULL COMMENT '权限编码',
`is_use` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用:0-否,1-是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_user_id` bigint NOT NULL COMMENT '创建人主键',
`modified_time` datetime DEFAULT NULL COMMENT '更新时间',
`modified_user_id` bigint DEFAULT NULL COMMENT '更新人主键',
`version` bigint NOT NULL DEFAULT '1' COMMENT '数据版本',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0-否,1-是',
PRIMARY KEY (`menu_info_id`)
) ENGINE=InnoDB COMMENT='系统菜单信息表';
4. sys_account_role 账号角色关联表
CREATE TABLE `sys_account_role` (
`account_info_id` bigint NOT NULL COMMENT '账号信息主键',
`role_info_id` bigint NOT NULL COMMENT '角色信息主键',
PRIMARY KEY (`account_info_id`,`role_info_id`)
) ENGINE=InnoDB COMMENT='账号角色关联表';
5. sys_role_menu 角色菜单关联表
CREATE TABLE `sys_role_menu` (
`role_info_id` bigint NOT NULL,
`menu_info_id` bigint NOT NULL,
PRIMARY KEY (`role_info_id`,`menu_info_id`)
) ENGINE=InnoDB COMMENT='角色菜单关联表';
三、代码生成
1. 创建admin-common子模块
2. 在admin-common子模块中,引入basic-common子模块
3. 代码生成
四、功能实现
1. Controller
2. InnerService
3. InnerServiceImpl
4. DataService
5. DataServiceImpl