Commit cdaa0d9195b23057edf5090b267050d0bf333801
1 parent
1bfaa2c9
初始化 User 模块的代码
Showing
18 changed files
with
1286 additions
and
463 deletions
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java deleted
| 1 | -package com.ruoyi.web.controller.system; | |
| 2 | - | |
| 3 | -import java.io.IOException; | |
| 4 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 5 | -import org.springframework.web.bind.annotation.GetMapping; | |
| 6 | -import org.springframework.web.bind.annotation.PostMapping; | |
| 7 | -import org.springframework.web.bind.annotation.PutMapping; | |
| 8 | -import org.springframework.web.bind.annotation.RequestBody; | |
| 9 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 10 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 11 | -import org.springframework.web.bind.annotation.RestController; | |
| 12 | -import org.springframework.web.multipart.MultipartFile; | |
| 13 | -import com.ruoyi.common.annotation.Log; | |
| 14 | -import com.ruoyi.common.config.RuoYiConfig; | |
| 15 | -import com.ruoyi.common.core.controller.BaseController; | |
| 16 | -import com.ruoyi.common.core.domain.AjaxResult; | |
| 17 | -import com.ruoyi.common.core.domain.entity.SysUser; | |
| 18 | -import com.ruoyi.common.core.domain.model.LoginUser; | |
| 19 | -import com.ruoyi.common.enums.BusinessType; | |
| 20 | -import com.ruoyi.common.utils.SecurityUtils; | |
| 21 | -import com.ruoyi.common.utils.ServletUtils; | |
| 22 | -import com.ruoyi.common.utils.file.FileUploadUtils; | |
| 23 | -import com.ruoyi.framework.web.service.TokenService; | |
| 24 | -import com.ruoyi.system.service.ISysUserService; | |
| 25 | - | |
| 26 | -/** | |
| 27 | - * 个人信息 业务处理 | |
| 28 | - * | |
| 29 | - * @author ruoyi | |
| 30 | - */ | |
| 31 | -@RestController | |
| 32 | -@RequestMapping("/system/user/profile") | |
| 33 | -public class SysProfileController extends BaseController | |
| 34 | -{ | |
| 35 | - @Autowired | |
| 36 | - private ISysUserService userService; | |
| 37 | - | |
| 38 | - @Autowired | |
| 39 | - private TokenService tokenService; | |
| 40 | - | |
| 41 | - /** | |
| 42 | - * 个人信息 | |
| 43 | - */ | |
| 44 | - @GetMapping | |
| 45 | - public AjaxResult profile() | |
| 46 | - { | |
| 47 | - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 48 | - SysUser user = loginUser.getUser(); | |
| 49 | - AjaxResult ajax = AjaxResult.success(user); | |
| 50 | - ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername())); | |
| 51 | - ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername())); | |
| 52 | - return ajax; | |
| 53 | - } | |
| 54 | - | |
| 55 | - /** | |
| 56 | - * 修改用户 | |
| 57 | - */ | |
| 58 | - @Log(title = "个人信息", businessType = BusinessType.UPDATE) | |
| 59 | - @PutMapping | |
| 60 | - public AjaxResult updateProfile(@RequestBody SysUser user) | |
| 61 | - { | |
| 62 | - if (userService.updateUserProfile(user) > 0) | |
| 63 | - { | |
| 64 | - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 65 | - // 更新缓存用户信息 | |
| 66 | - loginUser.getUser().setNickName(user.getNickName()); | |
| 67 | - loginUser.getUser().setPhonenumber(user.getPhonenumber()); | |
| 68 | - loginUser.getUser().setEmail(user.getEmail()); | |
| 69 | - loginUser.getUser().setSex(user.getSex()); | |
| 70 | - tokenService.setLoginUser(loginUser); | |
| 71 | - return AjaxResult.success(); | |
| 72 | - } | |
| 73 | - return AjaxResult.error("修改个人信息异常,请联系管理员"); | |
| 74 | - } | |
| 75 | - | |
| 76 | - /** | |
| 77 | - * 重置密码 | |
| 78 | - */ | |
| 79 | - @Log(title = "个人信息", businessType = BusinessType.UPDATE) | |
| 80 | - @PutMapping("/updatePwd") | |
| 81 | - public AjaxResult updatePwd(String oldPassword, String newPassword) | |
| 82 | - { | |
| 83 | - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 84 | - String userName = loginUser.getUsername(); | |
| 85 | - String password = loginUser.getPassword(); | |
| 86 | - if (!SecurityUtils.matchesPassword(oldPassword, password)) | |
| 87 | - { | |
| 88 | - return AjaxResult.error("修改密码失败,旧密码错误"); | |
| 89 | - } | |
| 90 | - if (SecurityUtils.matchesPassword(newPassword, password)) | |
| 91 | - { | |
| 92 | - return AjaxResult.error("新密码不能与旧密码相同"); | |
| 93 | - } | |
| 94 | - if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0) | |
| 95 | - { | |
| 96 | - // 更新缓存用户密码 | |
| 97 | - loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword)); | |
| 98 | - tokenService.setLoginUser(loginUser); | |
| 99 | - return AjaxResult.success(); | |
| 100 | - } | |
| 101 | - return AjaxResult.error("修改密码异常,请联系管理员"); | |
| 102 | - } | |
| 103 | - | |
| 104 | - /** | |
| 105 | - * 头像上传 | |
| 106 | - */ | |
| 107 | - @Log(title = "用户头像", businessType = BusinessType.UPDATE) | |
| 108 | - @PostMapping("/avatar") | |
| 109 | - public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws IOException | |
| 110 | - { | |
| 111 | - if (!file.isEmpty()) | |
| 112 | - { | |
| 113 | - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 114 | - String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file); | |
| 115 | - if (userService.updateUserAvatar(loginUser.getUsername(), avatar)) | |
| 116 | - { | |
| 117 | - AjaxResult ajax = AjaxResult.success(); | |
| 118 | - ajax.put("imgUrl", avatar); | |
| 119 | - // 更新缓存用户头像 | |
| 120 | - loginUser.getUser().setAvatar(avatar); | |
| 121 | - tokenService.setLoginUser(loginUser); | |
| 122 | - return ajax; | |
| 123 | - } | |
| 124 | - } | |
| 125 | - return AjaxResult.error("上传图片异常,请联系管理员"); | |
| 126 | - } | |
| 127 | -} |
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java deleted
| 1 | -package com.ruoyi.web.controller.system; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.stream.Collectors; | |
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | -import org.springframework.security.access.prepost.PreAuthorize; | |
| 7 | -import org.springframework.validation.annotation.Validated; | |
| 8 | -import org.springframework.web.bind.annotation.DeleteMapping; | |
| 9 | -import org.springframework.web.bind.annotation.GetMapping; | |
| 10 | -import org.springframework.web.bind.annotation.PathVariable; | |
| 11 | -import org.springframework.web.bind.annotation.PostMapping; | |
| 12 | -import org.springframework.web.bind.annotation.PutMapping; | |
| 13 | -import org.springframework.web.bind.annotation.RequestBody; | |
| 14 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 15 | -import org.springframework.web.bind.annotation.RestController; | |
| 16 | -import org.springframework.web.multipart.MultipartFile; | |
| 17 | -import com.ruoyi.common.annotation.Log; | |
| 18 | -import com.ruoyi.common.constant.UserConstants; | |
| 19 | -import com.ruoyi.common.core.controller.BaseController; | |
| 20 | -import com.ruoyi.common.core.domain.AjaxResult; | |
| 21 | -import com.ruoyi.common.core.domain.entity.SysRole; | |
| 22 | -import com.ruoyi.common.core.domain.entity.SysUser; | |
| 23 | -import com.ruoyi.common.core.domain.model.LoginUser; | |
| 24 | -import com.ruoyi.common.core.page.TableDataInfo; | |
| 25 | -import com.ruoyi.common.enums.BusinessType; | |
| 26 | -import com.ruoyi.common.utils.SecurityUtils; | |
| 27 | -import com.ruoyi.common.utils.ServletUtils; | |
| 28 | -import com.ruoyi.common.utils.StringUtils; | |
| 29 | -import com.ruoyi.common.utils.poi.ExcelUtil; | |
| 30 | -import com.ruoyi.framework.web.service.TokenService; | |
| 31 | -import com.ruoyi.system.service.ISysPostService; | |
| 32 | -import com.ruoyi.system.service.ISysRoleService; | |
| 33 | -import com.ruoyi.system.service.ISysUserService; | |
| 34 | - | |
| 35 | -/** | |
| 36 | - * 用户信息 | |
| 37 | - * | |
| 38 | - * @author ruoyi | |
| 39 | - */ | |
| 40 | -@RestController | |
| 41 | -@RequestMapping("/system/user") | |
| 42 | -public class SysUserController extends BaseController | |
| 43 | -{ | |
| 44 | - @Autowired | |
| 45 | - private ISysUserService userService; | |
| 46 | - | |
| 47 | - @Autowired | |
| 48 | - private ISysRoleService roleService; | |
| 49 | - | |
| 50 | - @Autowired | |
| 51 | - private ISysPostService postService; | |
| 52 | - | |
| 53 | - @Autowired | |
| 54 | - private TokenService tokenService; | |
| 55 | - | |
| 56 | - /** | |
| 57 | - * 获取用户列表 | |
| 58 | - */ | |
| 59 | - @PreAuthorize("@ss.hasPermi('system:user:list')") | |
| 60 | - @GetMapping("/list") | |
| 61 | - public TableDataInfo list(SysUser user) | |
| 62 | - { | |
| 63 | - startPage(); | |
| 64 | - List<SysUser> list = userService.selectUserList(user); | |
| 65 | - return getDataTable(list); | |
| 66 | - } | |
| 67 | - | |
| 68 | - @Log(title = "用户管理", businessType = BusinessType.EXPORT) | |
| 69 | - @PreAuthorize("@ss.hasPermi('system:user:export')") | |
| 70 | - @GetMapping("/export") | |
| 71 | - public AjaxResult export(SysUser user) | |
| 72 | - { | |
| 73 | - List<SysUser> list = userService.selectUserList(user); | |
| 74 | - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | |
| 75 | - return util.exportExcel(list, "用户数据"); | |
| 76 | - } | |
| 77 | - | |
| 78 | - @Log(title = "用户管理", businessType = BusinessType.IMPORT) | |
| 79 | - @PreAuthorize("@ss.hasPermi('system:user:import')") | |
| 80 | - @PostMapping("/importData") | |
| 81 | - public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception | |
| 82 | - { | |
| 83 | - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | |
| 84 | - List<SysUser> userList = util.importExcel(file.getInputStream()); | |
| 85 | - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 86 | - String operName = loginUser.getUsername(); | |
| 87 | - String message = userService.importUser(userList, updateSupport, operName); | |
| 88 | - return AjaxResult.success(message); | |
| 89 | - } | |
| 90 | - | |
| 91 | - @GetMapping("/importTemplate") | |
| 92 | - public AjaxResult importTemplate() | |
| 93 | - { | |
| 94 | - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | |
| 95 | - return util.importTemplateExcel("用户数据"); | |
| 96 | - } | |
| 97 | - | |
| 98 | - /** | |
| 99 | - * 根据用户编号获取详细信息 | |
| 100 | - */ | |
| 101 | - @PreAuthorize("@ss.hasPermi('system:user:query')") | |
| 102 | - @GetMapping(value = { "/", "/{userId}" }) | |
| 103 | - public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) | |
| 104 | - { | |
| 105 | - AjaxResult ajax = AjaxResult.success(); | |
| 106 | - List<SysRole> roles = roleService.selectRoleAll(); | |
| 107 | - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | |
| 108 | - ajax.put("posts", postService.selectPostAll()); | |
| 109 | - if (StringUtils.isNotNull(userId)) | |
| 110 | - { | |
| 111 | - ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); | |
| 112 | - ajax.put("postIds", postService.selectPostListByUserId(userId)); | |
| 113 | - ajax.put("roleIds", roleService.selectRoleListByUserId(userId)); | |
| 114 | - } | |
| 115 | - return ajax; | |
| 116 | - } | |
| 117 | - | |
| 118 | - /** | |
| 119 | - * 新增用户 | |
| 120 | - */ | |
| 121 | - @PreAuthorize("@ss.hasPermi('system:user:add')") | |
| 122 | - @Log(title = "用户管理", businessType = BusinessType.INSERT) | |
| 123 | - @PostMapping | |
| 124 | - public AjaxResult add(@Validated @RequestBody SysUser user) | |
| 125 | - { | |
| 126 | - if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) | |
| 127 | - { | |
| 128 | - return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); | |
| 129 | - } | |
| 130 | - else if (StringUtils.isNotEmpty(user.getPhonenumber()) | |
| 131 | - && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) | |
| 132 | - { | |
| 133 | - return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); | |
| 134 | - } | |
| 135 | - else if (StringUtils.isNotEmpty(user.getEmail()) | |
| 136 | - && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) | |
| 137 | - { | |
| 138 | - return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); | |
| 139 | - } | |
| 140 | - user.setCreateBy(SecurityUtils.getUsername()); | |
| 141 | - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | |
| 142 | - return toAjax(userService.insertUser(user)); | |
| 143 | - } | |
| 144 | - | |
| 145 | - /** | |
| 146 | - * 修改用户 | |
| 147 | - */ | |
| 148 | - @PreAuthorize("@ss.hasPermi('system:user:edit')") | |
| 149 | - @Log(title = "用户管理", businessType = BusinessType.UPDATE) | |
| 150 | - @PutMapping | |
| 151 | - public AjaxResult edit(@Validated @RequestBody SysUser user) | |
| 152 | - { | |
| 153 | - userService.checkUserAllowed(user); | |
| 154 | - if (StringUtils.isNotEmpty(user.getPhonenumber()) | |
| 155 | - && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) | |
| 156 | - { | |
| 157 | - return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); | |
| 158 | - } | |
| 159 | - else if (StringUtils.isNotEmpty(user.getEmail()) | |
| 160 | - && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) | |
| 161 | - { | |
| 162 | - return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); | |
| 163 | - } | |
| 164 | - user.setUpdateBy(SecurityUtils.getUsername()); | |
| 165 | - return toAjax(userService.updateUser(user)); | |
| 166 | - } | |
| 167 | - | |
| 168 | - /** | |
| 169 | - * 删除用户 | |
| 170 | - */ | |
| 171 | - @PreAuthorize("@ss.hasPermi('system:user:remove')") | |
| 172 | - @Log(title = "用户管理", businessType = BusinessType.DELETE) | |
| 173 | - @DeleteMapping("/{userIds}") | |
| 174 | - public AjaxResult remove(@PathVariable Long[] userIds) | |
| 175 | - { | |
| 176 | - return toAjax(userService.deleteUserByIds(userIds)); | |
| 177 | - } | |
| 178 | - | |
| 179 | - /** | |
| 180 | - * 重置密码 | |
| 181 | - */ | |
| 182 | - @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") | |
| 183 | - @Log(title = "用户管理", businessType = BusinessType.UPDATE) | |
| 184 | - @PutMapping("/resetPwd") | |
| 185 | - public AjaxResult resetPwd(@RequestBody SysUser user) | |
| 186 | - { | |
| 187 | - userService.checkUserAllowed(user); | |
| 188 | - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | |
| 189 | - user.setUpdateBy(SecurityUtils.getUsername()); | |
| 190 | - return toAjax(userService.resetPwd(user)); | |
| 191 | - } | |
| 192 | - | |
| 193 | - /** | |
| 194 | - * 状态修改 | |
| 195 | - */ | |
| 196 | - @PreAuthorize("@ss.hasPermi('system:user:edit')") | |
| 197 | - @Log(title = "用户管理", businessType = BusinessType.UPDATE) | |
| 198 | - @PutMapping("/changeStatus") | |
| 199 | - public AjaxResult changeStatus(@RequestBody SysUser user) | |
| 200 | - { | |
| 201 | - userService.checkUserAllowed(user); | |
| 202 | - user.setUpdateBy(SecurityUtils.getUsername()); | |
| 203 | - return toAjax(userService.updateUserStatus(user)); | |
| 204 | - } | |
| 205 | -} |
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java deleted
| 1 | -package com.ruoyi.system.domain; | |
| 2 | - | |
| 3 | -import org.apache.commons.lang3.builder.ToStringBuilder; | |
| 4 | -import org.apache.commons.lang3.builder.ToStringStyle; | |
| 5 | - | |
| 6 | -/** | |
| 7 | - * 用户和岗位关联 sys_user_post | |
| 8 | - * | |
| 9 | - * @author ruoyi | |
| 10 | - */ | |
| 11 | -public class SysUserPost | |
| 12 | -{ | |
| 13 | - /** 用户ID */ | |
| 14 | - private Long userId; | |
| 15 | - | |
| 16 | - /** 岗位ID */ | |
| 17 | - private Long postId; | |
| 18 | - | |
| 19 | -} |
sql/ruoyi-vue-pro.sql
0 → 100644
| 1 | +/* | |
| 2 | + Navicat Premium Data Transfer | |
| 3 | + | |
| 4 | + Source Server : local-mysql001 | |
| 5 | + Source Server Type : MySQL | |
| 6 | + Source Server Version : 50718 | |
| 7 | + Source Host : localhost:33061 | |
| 8 | + Source Schema : ruoyi-vue-pro | |
| 9 | + | |
| 10 | + Target Server Type : MySQL | |
| 11 | + Target Server Version : 50718 | |
| 12 | + File Encoding : 65001 | |
| 13 | + | |
| 14 | + Date: 10/01/2021 00:08:59 | |
| 15 | +*/ | |
| 16 | + | |
| 17 | +SET NAMES utf8mb4; | |
| 18 | +SET FOREIGN_KEY_CHECKS = 0; | |
| 19 | + | |
| 20 | +-- ---------------------------- | |
| 21 | +-- Table structure for gen_table | |
| 22 | +-- ---------------------------- | |
| 23 | +DROP TABLE IF EXISTS `gen_table`; | |
| 24 | +CREATE TABLE `gen_table` ( | |
| 25 | + `table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', | |
| 26 | + `table_name` varchar(200) DEFAULT '' COMMENT '表名称', | |
| 27 | + `table_comment` varchar(500) DEFAULT '' COMMENT '表描述', | |
| 28 | + `class_name` varchar(100) DEFAULT '' COMMENT '实体类名称', | |
| 29 | + `tpl_category` varchar(200) DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', | |
| 30 | + `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', | |
| 31 | + `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', | |
| 32 | + `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', | |
| 33 | + `function_name` varchar(50) DEFAULT NULL COMMENT '生成功能名', | |
| 34 | + `function_author` varchar(50) DEFAULT NULL COMMENT '生成功能作者', | |
| 35 | + `gen_type` char(1) DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', | |
| 36 | + `gen_path` varchar(200) DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', | |
| 37 | + `options` varchar(1000) DEFAULT NULL COMMENT '其它生成选项', | |
| 38 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 39 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 40 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 41 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 42 | + `remark` varchar(500) DEFAULT NULL COMMENT '备注', | |
| 43 | + PRIMARY KEY (`table_id`) | |
| 44 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表'; | |
| 45 | + | |
| 46 | +-- ---------------------------- | |
| 47 | +-- Records of gen_table | |
| 48 | +-- ---------------------------- | |
| 49 | +BEGIN; | |
| 50 | +COMMIT; | |
| 51 | + | |
| 52 | +-- ---------------------------- | |
| 53 | +-- Table structure for gen_table_column | |
| 54 | +-- ---------------------------- | |
| 55 | +DROP TABLE IF EXISTS `gen_table_column`; | |
| 56 | +CREATE TABLE `gen_table_column` ( | |
| 57 | + `column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', | |
| 58 | + `table_id` varchar(64) DEFAULT NULL COMMENT '归属表编号', | |
| 59 | + `column_name` varchar(200) DEFAULT NULL COMMENT '列名称', | |
| 60 | + `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', | |
| 61 | + `column_type` varchar(100) DEFAULT NULL COMMENT '列类型', | |
| 62 | + `java_type` varchar(500) DEFAULT NULL COMMENT 'JAVA类型', | |
| 63 | + `java_field` varchar(200) DEFAULT NULL COMMENT 'JAVA字段名', | |
| 64 | + `is_pk` char(1) DEFAULT NULL COMMENT '是否主键(1是)', | |
| 65 | + `is_increment` char(1) DEFAULT NULL COMMENT '是否自增(1是)', | |
| 66 | + `is_required` char(1) DEFAULT NULL COMMENT '是否必填(1是)', | |
| 67 | + `is_insert` char(1) DEFAULT NULL COMMENT '是否为插入字段(1是)', | |
| 68 | + `is_edit` char(1) DEFAULT NULL COMMENT '是否编辑字段(1是)', | |
| 69 | + `is_list` char(1) DEFAULT NULL COMMENT '是否列表字段(1是)', | |
| 70 | + `is_query` char(1) DEFAULT NULL COMMENT '是否查询字段(1是)', | |
| 71 | + `query_type` varchar(200) DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', | |
| 72 | + `html_type` varchar(200) DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', | |
| 73 | + `dict_type` varchar(200) DEFAULT '' COMMENT '字典类型', | |
| 74 | + `sort` int(11) DEFAULT NULL COMMENT '排序', | |
| 75 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 76 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 77 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 78 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 79 | + PRIMARY KEY (`column_id`) | |
| 80 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表字段'; | |
| 81 | + | |
| 82 | +-- ---------------------------- | |
| 83 | +-- Records of gen_table_column | |
| 84 | +-- ---------------------------- | |
| 85 | +BEGIN; | |
| 86 | +COMMIT; | |
| 87 | + | |
| 88 | +-- ---------------------------- | |
| 89 | +-- Table structure for sys_config | |
| 90 | +-- ---------------------------- | |
| 91 | +DROP TABLE IF EXISTS `sys_config`; | |
| 92 | +CREATE TABLE `sys_config` ( | |
| 93 | + `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键', | |
| 94 | + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', | |
| 95 | + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', | |
| 96 | + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', | |
| 97 | + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', | |
| 98 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 99 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 100 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 101 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 102 | + `remark` varchar(500) DEFAULT NULL COMMENT '备注', | |
| 103 | + PRIMARY KEY (`config_id`) | |
| 104 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表'; | |
| 105 | + | |
| 106 | +-- ---------------------------- | |
| 107 | +-- Records of sys_config | |
| 108 | +-- ---------------------------- | |
| 109 | +BEGIN; | |
| 110 | +INSERT INTO `sys_config` VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2021-01-05 17:03:48', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); | |
| 111 | +INSERT INTO `sys_config` VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2021-01-05 17:03:48', '', NULL, '初始化密码 123456'); | |
| 112 | +INSERT INTO `sys_config` VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2021-01-05 17:03:48', '', NULL, '深色主题theme-dark,浅色主题theme-light'); | |
| 113 | +COMMIT; | |
| 114 | + | |
| 115 | +-- ---------------------------- | |
| 116 | +-- Table structure for sys_dept | |
| 117 | +-- ---------------------------- | |
| 118 | +DROP TABLE IF EXISTS `sys_dept`; | |
| 119 | +CREATE TABLE `sys_dept` ( | |
| 120 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id', | |
| 121 | + `name` varchar(30) NOT NULL DEFAULT '' COMMENT '部门名称', | |
| 122 | + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父部门id', | |
| 123 | + `ancestors` varchar(50) NOT NULL DEFAULT '' COMMENT '祖级列表', | |
| 124 | + `sort` int(4) NOT NULL DEFAULT '0' COMMENT '显示顺序', | |
| 125 | + `leader` varchar(20) DEFAULT NULL COMMENT '负责人', | |
| 126 | + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', | |
| 127 | + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', | |
| 128 | + `status` tinyint(4) NOT NULL COMMENT '部门状态(0正常 1停用)', | |
| 129 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 130 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 131 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 132 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 133 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 134 | + PRIMARY KEY (`id`) USING BTREE | |
| 135 | +) ENGINE=InnoDB AUTO_INCREMENT=200 DEFAULT CHARSET=utf8mb4 COMMENT='部门表'; | |
| 136 | + | |
| 137 | +-- ---------------------------- | |
| 138 | +-- Records of sys_dept | |
| 139 | +-- ---------------------------- | |
| 140 | +BEGIN; | |
| 141 | +INSERT INTO `sys_dept` VALUES (100, '芋道源码', 0, '0', 0, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-06 19:45:52', b'0'); | |
| 142 | +INSERT INTO `sys_dept` VALUES (101, '深圳总公司', 100, '0,100', 1, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 143 | +INSERT INTO `sys_dept` VALUES (102, '长沙分公司', 100, '0,100', 2, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 144 | +INSERT INTO `sys_dept` VALUES (103, '研发部门', 101, '0,100,101', 1, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 145 | +INSERT INTO `sys_dept` VALUES (104, '市场部门', 101, '0,100,101', 2, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 146 | +INSERT INTO `sys_dept` VALUES (105, '测试部门', 101, '0,100,101', 3, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 147 | +INSERT INTO `sys_dept` VALUES (106, '财务部门', 101, '0,100,101', 4, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 148 | +INSERT INTO `sys_dept` VALUES (107, '运维部门', 101, '0,100,101', 5, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 149 | +INSERT INTO `sys_dept` VALUES (108, '市场部门', 102, '0,100,102', 1, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 150 | +INSERT INTO `sys_dept` VALUES (109, '财务部门', 102, '0,100,102', 2, '若依', '15888888888', 'ry@qq.com', 0, 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 151 | +COMMIT; | |
| 152 | + | |
| 153 | +-- ---------------------------- | |
| 154 | +-- Table structure for sys_dict_data | |
| 155 | +-- ---------------------------- | |
| 156 | +DROP TABLE IF EXISTS `sys_dict_data`; | |
| 157 | +CREATE TABLE `sys_dict_data` ( | |
| 158 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码', | |
| 159 | + `sort` int(4) NOT NULL DEFAULT '0' COMMENT '字典排序', | |
| 160 | + `label` varchar(100) NOT NULL DEFAULT '' COMMENT '字典标签', | |
| 161 | + `value` varchar(100) NOT NULL DEFAULT '' COMMENT '字典键值', | |
| 162 | + `dict_type` varchar(100) NOT NULL DEFAULT '' COMMENT '字典类型', | |
| 163 | + `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', | |
| 164 | + `remark` varchar(500) DEFAULT NULL COMMENT '备注', | |
| 165 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 166 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 167 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 168 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 169 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 170 | + PRIMARY KEY (`id`) USING BTREE | |
| 171 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表'; | |
| 172 | + | |
| 173 | +-- ---------------------------- | |
| 174 | +-- Records of sys_dict_data | |
| 175 | +-- ---------------------------- | |
| 176 | +BEGIN; | |
| 177 | +INSERT INTO `sys_dict_data` VALUES (1, 1, '男', '1', 'sys_user_sex', 0, '性别男', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 05:48:53', b'0'); | |
| 178 | +INSERT INTO `sys_dict_data` VALUES (2, 2, '女', '2', 'sys_user_sex', 0, '性别女', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 05:48:55', b'0'); | |
| 179 | +INSERT INTO `sys_dict_data` VALUES (8, 1, '正常', '0', 'sys_job_status', 0, '正常状态', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 180 | +INSERT INTO `sys_dict_data` VALUES (9, 2, '暂停', '1', 'sys_job_status', 0, '停用状态', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 181 | +INSERT INTO `sys_dict_data` VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', 0, '默认分组', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 182 | +INSERT INTO `sys_dict_data` VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', 0, '系统分组', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 183 | +INSERT INTO `sys_dict_data` VALUES (12, 1, '是', 'Y', 'sys_yes_no', 0, '系统默认是', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 184 | +INSERT INTO `sys_dict_data` VALUES (13, 2, '否', 'N', 'sys_yes_no', 0, '系统默认否', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 185 | +INSERT INTO `sys_dict_data` VALUES (14, 1, '通知', '1', 'sys_notice_type', 0, '通知', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 186 | +INSERT INTO `sys_dict_data` VALUES (15, 2, '公告', '2', 'sys_notice_type', 0, '公告', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 187 | +INSERT INTO `sys_dict_data` VALUES (16, 1, '正常', '0', 'sys_notice_status', 0, '正常状态', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 188 | +INSERT INTO `sys_dict_data` VALUES (17, 2, '关闭', '1', 'sys_notice_status', 0, '关闭状态', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 189 | +INSERT INTO `sys_dict_data` VALUES (18, 1, '新增', '1', 'sys_oper_type', 0, '新增操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 190 | +INSERT INTO `sys_dict_data` VALUES (19, 2, '修改', '2', 'sys_oper_type', 0, '修改操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 191 | +INSERT INTO `sys_dict_data` VALUES (20, 3, '删除', '3', 'sys_oper_type', 0, '删除操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 192 | +INSERT INTO `sys_dict_data` VALUES (21, 4, '授权', '4', 'sys_oper_type', 0, '授权操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 193 | +INSERT INTO `sys_dict_data` VALUES (22, 5, '导出', '5', 'sys_oper_type', 0, '导出操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 194 | +INSERT INTO `sys_dict_data` VALUES (23, 6, '导入', '6', 'sys_oper_type', 0, '导入操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 195 | +INSERT INTO `sys_dict_data` VALUES (24, 7, '强退', '7', 'sys_oper_type', 0, '强退操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 196 | +INSERT INTO `sys_dict_data` VALUES (25, 8, '生成代码', '8', 'sys_oper_type', 0, '生成操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 197 | +INSERT INTO `sys_dict_data` VALUES (26, 9, '清空数据', '9', 'sys_oper_type', 0, '清空操作', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 00:02:28', b'0'); | |
| 198 | +INSERT INTO `sys_dict_data` VALUES (27, 1, '开启', '0', 'sys_common_status', 0, '开启状态', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 02:57:12', b'0'); | |
| 199 | +INSERT INTO `sys_dict_data` VALUES (28, 2, '关闭', '1', 'sys_common_status', 0, '关闭状态', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 05:48:32', b'0'); | |
| 200 | +INSERT INTO `sys_dict_data` VALUES (29, 1, '目录', '1', 'sys_menu_type', 0, '目录', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 13:33:30', b'0'); | |
| 201 | +INSERT INTO `sys_dict_data` VALUES (30, 2, '菜单', '2', 'sys_menu_type', 0, '菜单', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 13:33:35', b'0'); | |
| 202 | +INSERT INTO `sys_dict_data` VALUES (31, 3, '按钮', '3', 'sys_menu_type', 0, '按钮', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 13:33:38', b'0'); | |
| 203 | +INSERT INTO `sys_dict_data` VALUES (32, 1, '内置', '1', 'sys_role_type', 0, '内置角色', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 13:34:22', b'0'); | |
| 204 | +INSERT INTO `sys_dict_data` VALUES (33, 2, '自定义', '2', 'sys_role_type', 0, '自定义角色', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 13:34:26', b'0'); | |
| 205 | +INSERT INTO `sys_dict_data` VALUES (34, 1, '全部数据权限', '1', 'sys_data_scope', 0, '全部数据权限', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 19:38:02', b'0'); | |
| 206 | +INSERT INTO `sys_dict_data` VALUES (35, 2, '指定部门数据权限', '2', 'sys_data_scope', 0, '指定部门数据权限', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 19:38:20', b'0'); | |
| 207 | +INSERT INTO `sys_dict_data` VALUES (36, 3, '本部门数据权限', '3', 'sys_data_scope', 0, '本部门数据权限', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 19:38:29', b'0'); | |
| 208 | +INSERT INTO `sys_dict_data` VALUES (37, 4, '本部门及以下数据权限', '4', 'sys_data_scope', 0, '本部门及以下数据权限', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 19:38:32', b'0'); | |
| 209 | +INSERT INTO `sys_dict_data` VALUES (38, 5, '仅本人数据权限', '5', 'sys_data_scope', 0, '仅本人数据权限', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 19:38:38', b'0'); | |
| 210 | +COMMIT; | |
| 211 | + | |
| 212 | +-- ---------------------------- | |
| 213 | +-- Table structure for sys_dict_type | |
| 214 | +-- ---------------------------- | |
| 215 | +DROP TABLE IF EXISTS `sys_dict_type`; | |
| 216 | +CREATE TABLE `sys_dict_type` ( | |
| 217 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典主键', | |
| 218 | + `name` varchar(100) DEFAULT '' COMMENT '字典名称', | |
| 219 | + `dict_type` varchar(100) NOT NULL DEFAULT '' COMMENT '字典类型', | |
| 220 | + `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', | |
| 221 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 222 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 223 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 224 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 225 | + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', | |
| 226 | + PRIMARY KEY (`id`) USING BTREE, | |
| 227 | + UNIQUE KEY `dict_type` (`dict_type`) | |
| 228 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='字典类型表'; | |
| 229 | + | |
| 230 | +-- ---------------------------- | |
| 231 | +-- Records of sys_dict_type | |
| 232 | +-- ---------------------------- | |
| 233 | +BEGIN; | |
| 234 | +INSERT INTO `sys_dict_type` VALUES (1, '用户性别', 'sys_user_sex', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 235 | +INSERT INTO `sys_dict_type` VALUES (2, '菜单状态', 'sys_show_hide', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 236 | +INSERT INTO `sys_dict_type` VALUES (3, '系统开关', 'sys_normal_disable', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 237 | +INSERT INTO `sys_dict_type` VALUES (4, '任务状态', 'sys_job_status', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 238 | +INSERT INTO `sys_dict_type` VALUES (5, '任务分组', 'sys_job_group', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 239 | +INSERT INTO `sys_dict_type` VALUES (6, '系统是否', 'sys_yes_no', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 240 | +INSERT INTO `sys_dict_type` VALUES (7, '通知类型', 'sys_notice_type', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 241 | +INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 242 | +INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 243 | +INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 17:03:48', b'0'); | |
| 244 | +COMMIT; | |
| 245 | + | |
| 246 | +-- ---------------------------- | |
| 247 | +-- Table structure for sys_job | |
| 248 | +-- ---------------------------- | |
| 249 | +DROP TABLE IF EXISTS `sys_job`; | |
| 250 | +CREATE TABLE `sys_job` ( | |
| 251 | + `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID', | |
| 252 | + `job_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任务名称', | |
| 253 | + `job_group` varchar(64) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', | |
| 254 | + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', | |
| 255 | + `cron_expression` varchar(255) DEFAULT '' COMMENT 'cron执行表达式', | |
| 256 | + `misfire_policy` varchar(20) DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', | |
| 257 | + `concurrent` char(1) DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', | |
| 258 | + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1暂停)', | |
| 259 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 260 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 261 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 262 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 263 | + `remark` varchar(500) DEFAULT '' COMMENT '备注信息', | |
| 264 | + PRIMARY KEY (`job_id`,`job_name`,`job_group`) | |
| 265 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='定时任务调度表'; | |
| 266 | + | |
| 267 | +-- ---------------------------- | |
| 268 | +-- Records of sys_job | |
| 269 | +-- ---------------------------- | |
| 270 | +BEGIN; | |
| 271 | +INSERT INTO `sys_job` VALUES (1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 272 | +INSERT INTO `sys_job` VALUES (2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 273 | +INSERT INTO `sys_job` VALUES (3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 274 | +COMMIT; | |
| 275 | + | |
| 276 | +-- ---------------------------- | |
| 277 | +-- Table structure for sys_job_log | |
| 278 | +-- ---------------------------- | |
| 279 | +DROP TABLE IF EXISTS `sys_job_log`; | |
| 280 | +CREATE TABLE `sys_job_log` ( | |
| 281 | + `job_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', | |
| 282 | + `job_name` varchar(64) NOT NULL COMMENT '任务名称', | |
| 283 | + `job_group` varchar(64) NOT NULL COMMENT '任务组名', | |
| 284 | + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', | |
| 285 | + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', | |
| 286 | + `status` char(1) DEFAULT '0' COMMENT '执行状态(0正常 1失败)', | |
| 287 | + `exception_info` varchar(2000) DEFAULT '' COMMENT '异常信息', | |
| 288 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 289 | + PRIMARY KEY (`job_log_id`) | |
| 290 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='定时任务调度日志表'; | |
| 291 | + | |
| 292 | +-- ---------------------------- | |
| 293 | +-- Records of sys_job_log | |
| 294 | +-- ---------------------------- | |
| 295 | +BEGIN; | |
| 296 | +COMMIT; | |
| 297 | + | |
| 298 | +-- ---------------------------- | |
| 299 | +-- Table structure for sys_logininfor | |
| 300 | +-- ---------------------------- | |
| 301 | +DROP TABLE IF EXISTS `sys_logininfor`; | |
| 302 | +CREATE TABLE `sys_logininfor` ( | |
| 303 | + `info_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '访问ID', | |
| 304 | + `user_name` varchar(50) DEFAULT '' COMMENT '用户账号', | |
| 305 | + `ipaddr` varchar(50) DEFAULT '' COMMENT '登录IP地址', | |
| 306 | + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', | |
| 307 | + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', | |
| 308 | + `os` varchar(50) DEFAULT '' COMMENT '操作系统', | |
| 309 | + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', | |
| 310 | + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', | |
| 311 | + `login_time` datetime DEFAULT NULL COMMENT '访问时间', | |
| 312 | + PRIMARY KEY (`info_id`) | |
| 313 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='系统访问记录'; | |
| 314 | + | |
| 315 | +-- ---------------------------- | |
| 316 | +-- Records of sys_logininfor | |
| 317 | +-- ---------------------------- | |
| 318 | +BEGIN; | |
| 319 | +COMMIT; | |
| 320 | + | |
| 321 | +-- ---------------------------- | |
| 322 | +-- Table structure for sys_menu | |
| 323 | +-- ---------------------------- | |
| 324 | +DROP TABLE IF EXISTS `sys_menu`; | |
| 325 | +CREATE TABLE `sys_menu` ( | |
| 326 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', | |
| 327 | + `name` varchar(50) NOT NULL COMMENT '菜单名称', | |
| 328 | + `permission` varchar(100) NOT NULL DEFAULT '' COMMENT '权限标识', | |
| 329 | + `menu_type` tinyint(4) NOT NULL COMMENT '菜单类型(M目录 C菜单 F按钮)', | |
| 330 | + `sort` int(11) NOT NULL DEFAULT '0' COMMENT '显示顺序', | |
| 331 | + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父菜单ID', | |
| 332 | + `path` varchar(200) DEFAULT '' COMMENT '路由地址', | |
| 333 | + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', | |
| 334 | + `component` varchar(255) DEFAULT NULL COMMENT '组件路径', | |
| 335 | + `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', | |
| 336 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 337 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 338 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 339 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 340 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 341 | + PRIMARY KEY (`id`) USING BTREE | |
| 342 | +) ENGINE=InnoDB AUTO_INCREMENT=1065 DEFAULT CHARSET=utf8mb4 COMMENT='菜单权限表'; | |
| 343 | + | |
| 344 | +-- ---------------------------- | |
| 345 | +-- Records of sys_menu | |
| 346 | +-- ---------------------------- | |
| 347 | +BEGIN; | |
| 348 | +INSERT INTO `sys_menu` VALUES (1, '系统管理', '', 1, 1, 0, '/system', 'system', NULL, 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:34:28', b'0'); | |
| 349 | +INSERT INTO `sys_menu` VALUES (2, '系统监控', '', 1, 2, 0, '/monitor', 'monitor', NULL, 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:34:28', b'0'); | |
| 350 | +INSERT INTO `sys_menu` VALUES (3, '系统工具', '', 1, 3, 0, '/tool', 'tool', NULL, 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:34:28', b'0'); | |
| 351 | +INSERT INTO `sys_menu` VALUES (4, '若依官网', '', 1, 4, 0, 'http://ruoyi.vip', 'guide', NULL, 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:34:28', b'0'); | |
| 352 | +INSERT INTO `sys_menu` VALUES (100, '用户管理', 'system:user:list', 2, 1, 1, 'user', 'user', 'system/user/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 353 | +INSERT INTO `sys_menu` VALUES (101, '角色管理', 'system:role:list', 2, 2, 1, 'role', 'peoples', 'system/role/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 354 | +INSERT INTO `sys_menu` VALUES (102, '菜单管理', 'system:menu:list', 2, 3, 1, 'menu', 'tree-table', 'system/menu/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 355 | +INSERT INTO `sys_menu` VALUES (103, '部门管理', 'system:dept:list', 2, 4, 1, 'dept', 'tree', 'system/dept/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 356 | +INSERT INTO `sys_menu` VALUES (104, '岗位管理', 'system:post:list', 2, 5, 1, 'post', 'post', 'system/post/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 357 | +INSERT INTO `sys_menu` VALUES (105, '字典管理', 'system:dict:list', 2, 6, 1, 'dict', 'dict', 'system/dict/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 358 | +INSERT INTO `sys_menu` VALUES (106, '参数设置', 'system:config:list', 2, 7, 1, 'config', 'edit', 'system/config/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 359 | +INSERT INTO `sys_menu` VALUES (107, '通知公告', 'system:notice:list', 2, 8, 1, 'notice', 'message', 'system/notice/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 360 | +INSERT INTO `sys_menu` VALUES (108, '日志管理', '', 1, 9, 1, 'log', 'log', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:34:28', b'0'); | |
| 361 | +INSERT INTO `sys_menu` VALUES (109, '在线用户', 'monitor:online:list', 2, 1, 2, 'online', 'online', 'monitor/online/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 362 | +INSERT INTO `sys_menu` VALUES (110, '定时任务', 'monitor:job:list', 2, 2, 2, 'job', 'job', 'monitor/job/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 363 | +INSERT INTO `sys_menu` VALUES (111, '数据监控', 'monitor:druid:list', 2, 3, 2, 'druid', 'druid', 'monitor/druid/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 364 | +INSERT INTO `sys_menu` VALUES (112, '服务监控', 'monitor:server:list', 2, 4, 2, 'server', 'server', 'monitor/server/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 365 | +INSERT INTO `sys_menu` VALUES (113, '缓存监控', 'monitor:cache:list', 2, 5, 2, 'cache', 'redis', 'monitor/cache/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 366 | +INSERT INTO `sys_menu` VALUES (114, '表单构建', 'tool:build:list', 2, 1, 3, 'build', 'build', 'tool/build/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 367 | +INSERT INTO `sys_menu` VALUES (115, '代码生成', 'tool:gen:list', 2, 2, 3, 'gen', 'code', 'tool/gen/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 368 | +INSERT INTO `sys_menu` VALUES (116, '系统接口', 'tool:swagger:list', 2, 3, 3, 'swagger', 'swagger', 'tool/swagger/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 369 | +INSERT INTO `sys_menu` VALUES (500, '操作日志', 'monitor:operlog:list', 2, 1, 108, 'operlog', 'form', 'monitor/operlog/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 370 | +INSERT INTO `sys_menu` VALUES (501, '登录日志', 'monitor:logininfor:list', 2, 2, 108, 'logininfor', 'logininfor', 'monitor/logininfor/index', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:45', b'0'); | |
| 371 | +INSERT INTO `sys_menu` VALUES (1001, '用户查询', 'system:user:query', 3, 1, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 372 | +INSERT INTO `sys_menu` VALUES (1002, '用户新增', 'system:user:add', 3, 2, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 373 | +INSERT INTO `sys_menu` VALUES (1003, '用户修改', 'system:user:edit', 3, 3, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 374 | +INSERT INTO `sys_menu` VALUES (1004, '用户删除', 'system:user:remove', 3, 4, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 375 | +INSERT INTO `sys_menu` VALUES (1005, '用户导出', 'system:user:export', 3, 5, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 376 | +INSERT INTO `sys_menu` VALUES (1006, '用户导入', 'system:user:import', 3, 6, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 377 | +INSERT INTO `sys_menu` VALUES (1007, '重置密码', 'system:user:resetPwd', 3, 7, 100, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 378 | +INSERT INTO `sys_menu` VALUES (1008, '角色查询', 'system:role:query', 3, 1, 101, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 379 | +INSERT INTO `sys_menu` VALUES (1009, '角色新增', 'system:role:add', 3, 2, 101, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 380 | +INSERT INTO `sys_menu` VALUES (1010, '角色修改', 'system:role:edit', 3, 3, 101, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 381 | +INSERT INTO `sys_menu` VALUES (1011, '角色删除', 'system:role:remove', 3, 4, 101, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 382 | +INSERT INTO `sys_menu` VALUES (1012, '角色导出', 'system:role:export', 3, 5, 101, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 383 | +INSERT INTO `sys_menu` VALUES (1013, '菜单查询', 'system:menu:query', 3, 1, 102, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 384 | +INSERT INTO `sys_menu` VALUES (1014, '菜单新增', 'system:menu:add', 3, 2, 102, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 385 | +INSERT INTO `sys_menu` VALUES (1015, '菜单修改', 'system:menu:edit', 3, 3, 102, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 386 | +INSERT INTO `sys_menu` VALUES (1016, '菜单删除', 'system:menu:remove', 3, 4, 102, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 387 | +INSERT INTO `sys_menu` VALUES (1017, '部门查询', 'system:dept:query', 3, 1, 103, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 388 | +INSERT INTO `sys_menu` VALUES (1018, '部门新增', 'system:dept:add', 3, 2, 103, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 389 | +INSERT INTO `sys_menu` VALUES (1019, '部门修改', 'system:dept:edit', 3, 3, 103, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 390 | +INSERT INTO `sys_menu` VALUES (1020, '部门删除', 'system:dept:remove', 3, 4, 103, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 391 | +INSERT INTO `sys_menu` VALUES (1021, '岗位查询', 'system:post:query', 3, 1, 104, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 392 | +INSERT INTO `sys_menu` VALUES (1022, '岗位新增', 'system:post:add', 3, 2, 104, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 393 | +INSERT INTO `sys_menu` VALUES (1023, '岗位修改', 'system:post:edit', 3, 3, 104, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 394 | +INSERT INTO `sys_menu` VALUES (1024, '岗位删除', 'system:post:remove', 3, 4, 104, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 395 | +INSERT INTO `sys_menu` VALUES (1025, '岗位导出', 'system:post:export', 3, 5, 104, '', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 396 | +INSERT INTO `sys_menu` VALUES (1026, '字典查询', 'system:dict:query', 3, 1, 105, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 397 | +INSERT INTO `sys_menu` VALUES (1027, '字典新增', 'system:dict:add', 3, 2, 105, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 398 | +INSERT INTO `sys_menu` VALUES (1028, '字典修改', 'system:dict:edit', 3, 3, 105, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 399 | +INSERT INTO `sys_menu` VALUES (1029, '字典删除', 'system:dict:remove', 3, 4, 105, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 400 | +INSERT INTO `sys_menu` VALUES (1030, '字典导出', 'system:dict:export', 3, 5, 105, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 401 | +INSERT INTO `sys_menu` VALUES (1031, '参数查询', 'system:config:query', 3, 1, 106, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 402 | +INSERT INTO `sys_menu` VALUES (1032, '参数新增', 'system:config:add', 3, 2, 106, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 403 | +INSERT INTO `sys_menu` VALUES (1033, '参数修改', 'system:config:edit', 3, 3, 106, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 404 | +INSERT INTO `sys_menu` VALUES (1034, '参数删除', 'system:config:remove', 3, 4, 106, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 405 | +INSERT INTO `sys_menu` VALUES (1035, '参数导出', 'system:config:export', 3, 5, 106, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 406 | +INSERT INTO `sys_menu` VALUES (1036, '公告查询', 'system:notice:query', 3, 1, 107, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 407 | +INSERT INTO `sys_menu` VALUES (1037, '公告新增', 'system:notice:add', 3, 2, 107, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 408 | +INSERT INTO `sys_menu` VALUES (1038, '公告修改', 'system:notice:edit', 3, 3, 107, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 409 | +INSERT INTO `sys_menu` VALUES (1039, '公告删除', 'system:notice:remove', 3, 4, 107, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 410 | +INSERT INTO `sys_menu` VALUES (1040, '操作查询', 'monitor:operlog:query', 3, 1, 500, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 411 | +INSERT INTO `sys_menu` VALUES (1041, '操作删除', 'monitor:operlog:remove', 3, 2, 500, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 412 | +INSERT INTO `sys_menu` VALUES (1042, '日志导出', 'monitor:operlog:export', 3, 4, 500, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 413 | +INSERT INTO `sys_menu` VALUES (1043, '登录查询', 'monitor:logininfor:query', 3, 1, 501, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 414 | +INSERT INTO `sys_menu` VALUES (1044, '登录删除', 'monitor:logininfor:remove', 3, 2, 501, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 415 | +INSERT INTO `sys_menu` VALUES (1045, '日志导出', 'monitor:logininfor:export', 3, 3, 501, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 416 | +INSERT INTO `sys_menu` VALUES (1046, '在线查询', 'monitor:online:query', 3, 1, 109, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 417 | +INSERT INTO `sys_menu` VALUES (1047, '批量强退', 'monitor:online:batchLogout', 3, 2, 109, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 418 | +INSERT INTO `sys_menu` VALUES (1048, '单条强退', 'monitor:online:forceLogout', 3, 3, 109, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 419 | +INSERT INTO `sys_menu` VALUES (1049, '任务查询', 'monitor:job:query', 3, 1, 110, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 420 | +INSERT INTO `sys_menu` VALUES (1050, '任务新增', 'monitor:job:add', 3, 2, 110, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 421 | +INSERT INTO `sys_menu` VALUES (1051, '任务修改', 'monitor:job:edit', 3, 3, 110, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 422 | +INSERT INTO `sys_menu` VALUES (1052, '任务删除', 'monitor:job:remove', 3, 4, 110, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 423 | +INSERT INTO `sys_menu` VALUES (1053, '状态修改', 'monitor:job:changeStatus', 3, 5, 110, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 424 | +INSERT INTO `sys_menu` VALUES (1054, '任务导出', 'monitor:job:export', 3, 7, 110, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 425 | +INSERT INTO `sys_menu` VALUES (1055, '生成查询', 'tool:gen:query', 3, 1, 115, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 426 | +INSERT INTO `sys_menu` VALUES (1056, '生成修改', 'tool:gen:edit', 3, 2, 115, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 427 | +INSERT INTO `sys_menu` VALUES (1057, '生成删除', 'tool:gen:remove', 3, 3, 115, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 428 | +INSERT INTO `sys_menu` VALUES (1058, '导入代码', 'tool:gen:import', 3, 2, 115, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 429 | +INSERT INTO `sys_menu` VALUES (1059, '预览代码', 'tool:gen:preview', 3, 4, 115, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 430 | +INSERT INTO `sys_menu` VALUES (1060, '生成代码', 'tool:gen:code', 3, 5, 115, '#', '#', '', 0, 'admin', '2021-01-05 17:03:48', '', '2021-01-05 22:36:55', b'0'); | |
| 431 | +INSERT INTO `sys_menu` VALUES (1063, '设置角色菜单权限', 'system:permission:assign-role-menu', 3, 6, 101, '', '', '', 0, '', '2021-01-06 17:53:44', '', '2021-01-06 17:55:23', b'0'); | |
| 432 | +INSERT INTO `sys_menu` VALUES (1064, '设置角色数据权限', 'system:permission:assign-role-data-scope', 3, 7, 101, '', '', '', 0, '', '2021-01-06 17:56:31', '', '2021-01-06 17:56:31', b'0'); | |
| 433 | +COMMIT; | |
| 434 | + | |
| 435 | +-- ---------------------------- | |
| 436 | +-- Table structure for sys_notice | |
| 437 | +-- ---------------------------- | |
| 438 | +DROP TABLE IF EXISTS `sys_notice`; | |
| 439 | +CREATE TABLE `sys_notice` ( | |
| 440 | + `notice_id` int(4) NOT NULL AUTO_INCREMENT COMMENT '公告ID', | |
| 441 | + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', | |
| 442 | + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', | |
| 443 | + `notice_content` longblob COMMENT '公告内容', | |
| 444 | + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', | |
| 445 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 446 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 447 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 448 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 449 | + `remark` varchar(255) DEFAULT NULL COMMENT '备注', | |
| 450 | + PRIMARY KEY (`notice_id`) | |
| 451 | +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表'; | |
| 452 | + | |
| 453 | +-- ---------------------------- | |
| 454 | +-- Records of sys_notice | |
| 455 | +-- ---------------------------- | |
| 456 | +BEGIN; | |
| 457 | +INSERT INTO `sys_notice` VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2021-01-05 17:03:48', '', NULL, '管理员'); | |
| 458 | +INSERT INTO `sys_notice` VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2021-01-05 17:03:48', '', NULL, '管理员'); | |
| 459 | +COMMIT; | |
| 460 | + | |
| 461 | +-- ---------------------------- | |
| 462 | +-- Table structure for sys_oper_log | |
| 463 | +-- ---------------------------- | |
| 464 | +DROP TABLE IF EXISTS `sys_oper_log`; | |
| 465 | +CREATE TABLE `sys_oper_log` ( | |
| 466 | + `oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志主键', | |
| 467 | + `title` varchar(50) DEFAULT '' COMMENT '模块标题', | |
| 468 | + `business_type` int(2) DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', | |
| 469 | + `method` varchar(100) DEFAULT '' COMMENT '方法名称', | |
| 470 | + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', | |
| 471 | + `operator_type` int(1) DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', | |
| 472 | + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', | |
| 473 | + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', | |
| 474 | + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', | |
| 475 | + `oper_ip` varchar(50) DEFAULT '' COMMENT '主机地址', | |
| 476 | + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', | |
| 477 | + `oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数', | |
| 478 | + `json_result` varchar(2000) DEFAULT '' COMMENT '返回参数', | |
| 479 | + `status` int(1) DEFAULT '0' COMMENT '操作状态(0正常 1异常)', | |
| 480 | + `error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息', | |
| 481 | + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', | |
| 482 | + PRIMARY KEY (`oper_id`) | |
| 483 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='操作日志记录'; | |
| 484 | + | |
| 485 | +-- ---------------------------- | |
| 486 | +-- Records of sys_oper_log | |
| 487 | +-- ---------------------------- | |
| 488 | +BEGIN; | |
| 489 | +COMMIT; | |
| 490 | + | |
| 491 | +-- ---------------------------- | |
| 492 | +-- Table structure for sys_post | |
| 493 | +-- ---------------------------- | |
| 494 | +DROP TABLE IF EXISTS `sys_post`; | |
| 495 | +CREATE TABLE `sys_post` ( | |
| 496 | + `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', | |
| 497 | + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', | |
| 498 | + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', | |
| 499 | + `post_sort` int(4) NOT NULL COMMENT '显示顺序', | |
| 500 | + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', | |
| 501 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 502 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 503 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 504 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 505 | + `remark` varchar(500) DEFAULT NULL COMMENT '备注', | |
| 506 | + PRIMARY KEY (`post_id`) | |
| 507 | +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='岗位信息表'; | |
| 508 | + | |
| 509 | +-- ---------------------------- | |
| 510 | +-- Records of sys_post | |
| 511 | +-- ---------------------------- | |
| 512 | +BEGIN; | |
| 513 | +INSERT INTO `sys_post` VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 514 | +INSERT INTO `sys_post` VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 515 | +INSERT INTO `sys_post` VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 516 | +INSERT INTO `sys_post` VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2021-01-05 17:03:48', '', NULL, ''); | |
| 517 | +COMMIT; | |
| 518 | + | |
| 519 | +-- ---------------------------- | |
| 520 | +-- Table structure for sys_role | |
| 521 | +-- ---------------------------- | |
| 522 | +DROP TABLE IF EXISTS `sys_role`; | |
| 523 | +CREATE TABLE `sys_role` ( | |
| 524 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', | |
| 525 | + `name` varchar(30) NOT NULL COMMENT '角色名称', | |
| 526 | + `code` varchar(100) NOT NULL COMMENT '角色权限字符串', | |
| 527 | + `sort` int(4) NOT NULL COMMENT '显示顺序', | |
| 528 | + `data_scope` tinyint(4) NOT NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', | |
| 529 | + `data_scope_dept_ids` varchar(500) NOT NULL DEFAULT '' COMMENT '数据范围(指定部门数组)', | |
| 530 | + `status` tinyint(4) NOT NULL COMMENT '角色状态(0正常 1停用)', | |
| 531 | + `type` tinyint(4) NOT NULL COMMENT '角色类型', | |
| 532 | + `remark` varchar(500) DEFAULT NULL COMMENT '备注', | |
| 533 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 534 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 535 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 536 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 537 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 538 | + PRIMARY KEY (`id`) USING BTREE | |
| 539 | +) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COMMENT='角色信息表'; | |
| 540 | + | |
| 541 | +-- ---------------------------- | |
| 542 | +-- Records of sys_role | |
| 543 | +-- ---------------------------- | |
| 544 | +BEGIN; | |
| 545 | +INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, 1, '', 0, 1, '超级管理员', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 12:40:20', b'0'); | |
| 546 | +INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, 2, '', 0, 1, '普通角色', 'admin', '2021-01-05 17:03:48', '', '2021-01-06 11:46:58', b'0'); | |
| 547 | +INSERT INTO `sys_role` VALUES (101, '测试账号', 'test', 0, 2, '[103]', 0, 2, '132', '', '2021-01-06 13:49:35', '', '2021-01-06 20:36:02', b'0'); | |
| 548 | +COMMIT; | |
| 549 | + | |
| 550 | +-- ---------------------------- | |
| 551 | +-- Table structure for sys_role_menu | |
| 552 | +-- ---------------------------- | |
| 553 | +DROP TABLE IF EXISTS `sys_role_menu`; | |
| 554 | +CREATE TABLE `sys_role_menu` ( | |
| 555 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增编号', | |
| 556 | + `role_id` bigint(20) NOT NULL COMMENT '角色ID', | |
| 557 | + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', | |
| 558 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 559 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 560 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 561 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 562 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 563 | + PRIMARY KEY (`id`) USING BTREE | |
| 564 | +) ENGINE=InnoDB AUTO_INCREMENT=169 DEFAULT CHARSET=utf8mb4 COMMENT='角色和菜单关联表'; | |
| 565 | + | |
| 566 | +-- ---------------------------- | |
| 567 | +-- Records of sys_role_menu | |
| 568 | +-- ---------------------------- | |
| 569 | +BEGIN; | |
| 570 | +INSERT INTO `sys_role_menu` VALUES (1, 2, 1, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 571 | +INSERT INTO `sys_role_menu` VALUES (2, 2, 2, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 572 | +INSERT INTO `sys_role_menu` VALUES (3, 2, 3, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 573 | +INSERT INTO `sys_role_menu` VALUES (4, 2, 4, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 574 | +INSERT INTO `sys_role_menu` VALUES (5, 2, 100, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 575 | +INSERT INTO `sys_role_menu` VALUES (6, 2, 101, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 576 | +INSERT INTO `sys_role_menu` VALUES (7, 2, 102, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 577 | +INSERT INTO `sys_role_menu` VALUES (8, 2, 103, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 578 | +INSERT INTO `sys_role_menu` VALUES (9, 2, 104, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 579 | +INSERT INTO `sys_role_menu` VALUES (10, 2, 105, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 580 | +INSERT INTO `sys_role_menu` VALUES (11, 2, 106, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 581 | +INSERT INTO `sys_role_menu` VALUES (12, 2, 107, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 582 | +INSERT INTO `sys_role_menu` VALUES (13, 2, 108, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 583 | +INSERT INTO `sys_role_menu` VALUES (14, 2, 109, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 584 | +INSERT INTO `sys_role_menu` VALUES (15, 2, 110, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 585 | +INSERT INTO `sys_role_menu` VALUES (16, 2, 111, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 586 | +INSERT INTO `sys_role_menu` VALUES (17, 2, 112, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 587 | +INSERT INTO `sys_role_menu` VALUES (18, 2, 113, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 588 | +INSERT INTO `sys_role_menu` VALUES (19, 2, 114, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 589 | +INSERT INTO `sys_role_menu` VALUES (20, 2, 115, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 590 | +INSERT INTO `sys_role_menu` VALUES (21, 2, 116, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 591 | +INSERT INTO `sys_role_menu` VALUES (22, 2, 500, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 592 | +INSERT INTO `sys_role_menu` VALUES (23, 2, 501, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 593 | +INSERT INTO `sys_role_menu` VALUES (24, 2, 1000, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 594 | +INSERT INTO `sys_role_menu` VALUES (25, 2, 1001, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 595 | +INSERT INTO `sys_role_menu` VALUES (26, 2, 1002, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 596 | +INSERT INTO `sys_role_menu` VALUES (27, 2, 1003, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 597 | +INSERT INTO `sys_role_menu` VALUES (28, 2, 1004, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 598 | +INSERT INTO `sys_role_menu` VALUES (29, 2, 1005, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 599 | +INSERT INTO `sys_role_menu` VALUES (30, 2, 1006, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 600 | +INSERT INTO `sys_role_menu` VALUES (31, 2, 1007, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 601 | +INSERT INTO `sys_role_menu` VALUES (32, 2, 1008, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 602 | +INSERT INTO `sys_role_menu` VALUES (33, 2, 1009, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 603 | +INSERT INTO `sys_role_menu` VALUES (34, 2, 1010, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 604 | +INSERT INTO `sys_role_menu` VALUES (35, 2, 1011, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 605 | +INSERT INTO `sys_role_menu` VALUES (36, 2, 1012, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 606 | +INSERT INTO `sys_role_menu` VALUES (37, 2, 1013, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 607 | +INSERT INTO `sys_role_menu` VALUES (38, 2, 1014, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 608 | +INSERT INTO `sys_role_menu` VALUES (39, 2, 1015, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 609 | +INSERT INTO `sys_role_menu` VALUES (40, 2, 1016, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 610 | +INSERT INTO `sys_role_menu` VALUES (41, 2, 1017, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 611 | +INSERT INTO `sys_role_menu` VALUES (42, 2, 1018, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 612 | +INSERT INTO `sys_role_menu` VALUES (43, 2, 1019, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 613 | +INSERT INTO `sys_role_menu` VALUES (44, 2, 1020, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 614 | +INSERT INTO `sys_role_menu` VALUES (45, 2, 1021, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 615 | +INSERT INTO `sys_role_menu` VALUES (46, 2, 1022, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 616 | +INSERT INTO `sys_role_menu` VALUES (47, 2, 1023, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 617 | +INSERT INTO `sys_role_menu` VALUES (48, 2, 1024, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 618 | +INSERT INTO `sys_role_menu` VALUES (49, 2, 1025, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 619 | +INSERT INTO `sys_role_menu` VALUES (50, 2, 1026, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 620 | +INSERT INTO `sys_role_menu` VALUES (51, 2, 1027, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 621 | +INSERT INTO `sys_role_menu` VALUES (52, 2, 1028, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 622 | +INSERT INTO `sys_role_menu` VALUES (53, 2, 1029, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 623 | +INSERT INTO `sys_role_menu` VALUES (54, 2, 1030, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 624 | +INSERT INTO `sys_role_menu` VALUES (55, 2, 1031, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 625 | +INSERT INTO `sys_role_menu` VALUES (56, 2, 1032, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 626 | +INSERT INTO `sys_role_menu` VALUES (57, 2, 1033, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 627 | +INSERT INTO `sys_role_menu` VALUES (58, 2, 1034, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 628 | +INSERT INTO `sys_role_menu` VALUES (59, 2, 1035, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 629 | +INSERT INTO `sys_role_menu` VALUES (60, 2, 1036, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 630 | +INSERT INTO `sys_role_menu` VALUES (61, 2, 1037, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 631 | +INSERT INTO `sys_role_menu` VALUES (62, 2, 1038, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 632 | +INSERT INTO `sys_role_menu` VALUES (63, 2, 1039, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 633 | +INSERT INTO `sys_role_menu` VALUES (64, 2, 1040, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 634 | +INSERT INTO `sys_role_menu` VALUES (65, 2, 1041, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 635 | +INSERT INTO `sys_role_menu` VALUES (66, 2, 1042, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 636 | +INSERT INTO `sys_role_menu` VALUES (67, 2, 1043, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 637 | +INSERT INTO `sys_role_menu` VALUES (68, 2, 1044, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 638 | +INSERT INTO `sys_role_menu` VALUES (69, 2, 1045, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 639 | +INSERT INTO `sys_role_menu` VALUES (70, 2, 1046, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 640 | +INSERT INTO `sys_role_menu` VALUES (71, 2, 1047, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 641 | +INSERT INTO `sys_role_menu` VALUES (72, 2, 1048, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 642 | +INSERT INTO `sys_role_menu` VALUES (73, 2, 1049, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 643 | +INSERT INTO `sys_role_menu` VALUES (74, 2, 1050, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 644 | +INSERT INTO `sys_role_menu` VALUES (75, 2, 1051, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 645 | +INSERT INTO `sys_role_menu` VALUES (76, 2, 1052, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 646 | +INSERT INTO `sys_role_menu` VALUES (77, 2, 1053, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 647 | +INSERT INTO `sys_role_menu` VALUES (78, 2, 1054, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 648 | +INSERT INTO `sys_role_menu` VALUES (79, 2, 1055, '', '2021-01-06 17:28:04', '', '2021-01-06 17:48:51', b'1'); | |
| 649 | +INSERT INTO `sys_role_menu` VALUES (80, 2, 1056, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 650 | +INSERT INTO `sys_role_menu` VALUES (81, 2, 1057, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 651 | +INSERT INTO `sys_role_menu` VALUES (82, 2, 1058, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 652 | +INSERT INTO `sys_role_menu` VALUES (83, 2, 1059, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 653 | +INSERT INTO `sys_role_menu` VALUES (84, 2, 1060, '', '2021-01-06 17:28:04', '', '2021-01-06 17:28:04', b'0'); | |
| 654 | +INSERT INTO `sys_role_menu` VALUES (85, 101, 114, '', '2021-01-06 17:30:23', '', '2021-01-06 18:00:16', b'1'); | |
| 655 | +INSERT INTO `sys_role_menu` VALUES (88, 101, 3, '', '2021-01-06 17:44:56', '', '2021-01-06 17:47:52', b'1'); | |
| 656 | +INSERT INTO `sys_role_menu` VALUES (89, 101, 1056, '', '2021-01-06 17:47:52', '', '2021-01-06 17:47:59', b'1'); | |
| 657 | +INSERT INTO `sys_role_menu` VALUES (90, 101, 1057, '', '2021-01-06 17:47:52', '', '2021-01-06 17:47:59', b'1'); | |
| 658 | +INSERT INTO `sys_role_menu` VALUES (91, 101, 1058, '', '2021-01-06 17:47:52', '', '2021-01-06 17:47:59', b'1'); | |
| 659 | +INSERT INTO `sys_role_menu` VALUES (92, 101, 1059, '', '2021-01-06 17:47:52', '', '2021-01-06 17:47:59', b'1'); | |
| 660 | +INSERT INTO `sys_role_menu` VALUES (93, 101, 1060, '', '2021-01-06 17:47:52', '', '2021-01-06 17:47:59', b'1'); | |
| 661 | +INSERT INTO `sys_role_menu` VALUES (94, 101, 116, '', '2021-01-06 17:47:52', '', '2021-01-06 17:49:37', b'1'); | |
| 662 | +INSERT INTO `sys_role_menu` VALUES (95, 101, 1055, '', '2021-01-06 17:47:52', '', '2021-01-06 17:47:59', b'1'); | |
| 663 | +INSERT INTO `sys_role_menu` VALUES (96, 101, 1055, '', '2021-01-06 17:48:04', '', '2021-01-06 17:49:37', b'1'); | |
| 664 | +INSERT INTO `sys_role_menu` VALUES (97, 101, 1056, '', '2021-01-06 17:48:13', '', '2021-01-06 17:49:37', b'1'); | |
| 665 | +INSERT INTO `sys_role_menu` VALUES (98, 101, 1057, '', '2021-01-06 17:48:13', '', '2021-01-06 17:49:37', b'1'); | |
| 666 | +INSERT INTO `sys_role_menu` VALUES (99, 101, 1058, '', '2021-01-06 17:48:13', '', '2021-01-06 17:49:37', b'1'); | |
| 667 | +INSERT INTO `sys_role_menu` VALUES (100, 101, 1059, '', '2021-01-06 17:49:29', '', '2021-01-06 17:49:37', b'1'); | |
| 668 | +INSERT INTO `sys_role_menu` VALUES (101, 101, 1060, '', '2021-01-06 17:49:29', '', '2021-01-06 17:49:37', b'1'); | |
| 669 | +INSERT INTO `sys_role_menu` VALUES (102, 101, 1024, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 670 | +INSERT INTO `sys_role_menu` VALUES (103, 101, 1025, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 671 | +INSERT INTO `sys_role_menu` VALUES (104, 101, 1026, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 672 | +INSERT INTO `sys_role_menu` VALUES (105, 101, 1027, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 673 | +INSERT INTO `sys_role_menu` VALUES (106, 101, 1028, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 674 | +INSERT INTO `sys_role_menu` VALUES (107, 101, 4, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 675 | +INSERT INTO `sys_role_menu` VALUES (108, 101, 1029, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 676 | +INSERT INTO `sys_role_menu` VALUES (109, 101, 1030, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 677 | +INSERT INTO `sys_role_menu` VALUES (110, 101, 1031, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 678 | +INSERT INTO `sys_role_menu` VALUES (111, 101, 1032, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 679 | +INSERT INTO `sys_role_menu` VALUES (112, 101, 1033, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 680 | +INSERT INTO `sys_role_menu` VALUES (113, 101, 1034, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 681 | +INSERT INTO `sys_role_menu` VALUES (114, 101, 1035, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 682 | +INSERT INTO `sys_role_menu` VALUES (115, 101, 1036, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 683 | +INSERT INTO `sys_role_menu` VALUES (116, 101, 1037, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 684 | +INSERT INTO `sys_role_menu` VALUES (117, 101, 1038, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 685 | +INSERT INTO `sys_role_menu` VALUES (118, 101, 1039, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 686 | +INSERT INTO `sys_role_menu` VALUES (119, 101, 1040, '', '2021-01-06 18:00:10', '', '2021-01-06 18:00:16', b'1'); | |
| 687 | +INSERT INTO `sys_role_menu` VALUES (120, 101, 1041, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 688 | +INSERT INTO `sys_role_menu` VALUES (121, 101, 1042, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 689 | +INSERT INTO `sys_role_menu` VALUES (122, 101, 1043, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 690 | +INSERT INTO `sys_role_menu` VALUES (123, 101, 1044, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 691 | +INSERT INTO `sys_role_menu` VALUES (124, 101, 1045, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 692 | +INSERT INTO `sys_role_menu` VALUES (125, 101, 1046, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 693 | +INSERT INTO `sys_role_menu` VALUES (126, 101, 1047, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 694 | +INSERT INTO `sys_role_menu` VALUES (127, 101, 1048, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 695 | +INSERT INTO `sys_role_menu` VALUES (128, 101, 1049, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 696 | +INSERT INTO `sys_role_menu` VALUES (129, 101, 1050, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 697 | +INSERT INTO `sys_role_menu` VALUES (130, 101, 1051, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 698 | +INSERT INTO `sys_role_menu` VALUES (131, 101, 1052, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 699 | +INSERT INTO `sys_role_menu` VALUES (132, 101, 1053, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 700 | +INSERT INTO `sys_role_menu` VALUES (133, 101, 1054, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 701 | +INSERT INTO `sys_role_menu` VALUES (134, 101, 1055, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 702 | +INSERT INTO `sys_role_menu` VALUES (135, 101, 1056, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 703 | +INSERT INTO `sys_role_menu` VALUES (136, 101, 1057, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 704 | +INSERT INTO `sys_role_menu` VALUES (137, 101, 1058, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 705 | +INSERT INTO `sys_role_menu` VALUES (138, 101, 1059, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 706 | +INSERT INTO `sys_role_menu` VALUES (139, 101, 1060, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 707 | +INSERT INTO `sys_role_menu` VALUES (140, 101, 1063, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 708 | +INSERT INTO `sys_role_menu` VALUES (141, 101, 1064, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 709 | +INSERT INTO `sys_role_menu` VALUES (142, 101, 1001, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 710 | +INSERT INTO `sys_role_menu` VALUES (143, 101, 1002, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 711 | +INSERT INTO `sys_role_menu` VALUES (144, 101, 1003, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 712 | +INSERT INTO `sys_role_menu` VALUES (145, 101, 1004, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 713 | +INSERT INTO `sys_role_menu` VALUES (146, 101, 1005, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 714 | +INSERT INTO `sys_role_menu` VALUES (147, 101, 1006, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 715 | +INSERT INTO `sys_role_menu` VALUES (148, 101, 1007, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 716 | +INSERT INTO `sys_role_menu` VALUES (149, 101, 111, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 717 | +INSERT INTO `sys_role_menu` VALUES (150, 101, 1008, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 718 | +INSERT INTO `sys_role_menu` VALUES (151, 101, 112, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 719 | +INSERT INTO `sys_role_menu` VALUES (152, 101, 1009, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 720 | +INSERT INTO `sys_role_menu` VALUES (153, 101, 113, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 721 | +INSERT INTO `sys_role_menu` VALUES (154, 101, 1010, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 722 | +INSERT INTO `sys_role_menu` VALUES (155, 101, 1011, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 723 | +INSERT INTO `sys_role_menu` VALUES (156, 101, 1012, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 724 | +INSERT INTO `sys_role_menu` VALUES (157, 101, 116, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 725 | +INSERT INTO `sys_role_menu` VALUES (158, 101, 1013, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 726 | +INSERT INTO `sys_role_menu` VALUES (159, 101, 1014, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 727 | +INSERT INTO `sys_role_menu` VALUES (160, 101, 1015, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 728 | +INSERT INTO `sys_role_menu` VALUES (161, 101, 1016, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 729 | +INSERT INTO `sys_role_menu` VALUES (162, 101, 1017, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 730 | +INSERT INTO `sys_role_menu` VALUES (163, 101, 1018, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 731 | +INSERT INTO `sys_role_menu` VALUES (164, 101, 1019, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 732 | +INSERT INTO `sys_role_menu` VALUES (165, 101, 1020, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 733 | +INSERT INTO `sys_role_menu` VALUES (166, 101, 1021, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 734 | +INSERT INTO `sys_role_menu` VALUES (167, 101, 1022, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 735 | +INSERT INTO `sys_role_menu` VALUES (168, 101, 1023, '', '2021-01-06 18:00:11', '', '2021-01-06 18:00:16', b'1'); | |
| 736 | +COMMIT; | |
| 737 | + | |
| 738 | +-- ---------------------------- | |
| 739 | +-- Table structure for sys_user | |
| 740 | +-- ---------------------------- | |
| 741 | +DROP TABLE IF EXISTS `sys_user`; | |
| 742 | +CREATE TABLE `sys_user` ( | |
| 743 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', | |
| 744 | + `username` varchar(30) NOT NULL COMMENT '用户账号', | |
| 745 | + `password` varchar(100) NOT NULL DEFAULT '' COMMENT '密码', | |
| 746 | + `nickname` varchar(30) NOT NULL COMMENT '用户昵称', | |
| 747 | + `remark` varchar(500) DEFAULT NULL COMMENT '备注', | |
| 748 | + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', | |
| 749 | + `post_ids` varchar(255) DEFAULT NULL COMMENT '岗位编号数组', | |
| 750 | + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', | |
| 751 | + `mobile` varchar(11) DEFAULT '' COMMENT '手机号码', | |
| 752 | + `sex` tinyint(4) DEFAULT '0' COMMENT '用户性别', | |
| 753 | + `avatar` varchar(100) DEFAULT '' COMMENT '头像地址', | |
| 754 | + `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', | |
| 755 | + `login_ip` varchar(50) DEFAULT '' COMMENT '最后登录IP', | |
| 756 | + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', | |
| 757 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 758 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 759 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 760 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 761 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 762 | + PRIMARY KEY (`id`) USING BTREE | |
| 763 | +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表'; | |
| 764 | + | |
| 765 | +-- ---------------------------- | |
| 766 | +-- Records of sys_user | |
| 767 | +-- ---------------------------- | |
| 768 | +BEGIN; | |
| 769 | +INSERT INTO `sys_user` VALUES (1, 'admin', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '若依', '管理员', 103, '[1]', 'ry@163.com', '15888888888', 1, '', 0, '127.0.0.1', '2021-01-05 17:03:47', 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 770 | +INSERT INTO `sys_user` VALUES (2, 'ry', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '若依', '测试员', 105, '[2]', 'ry@qq.com', '15666666666', 1, '', 0, '127.0.0.1', '2021-01-05 17:03:47', 'admin', '2021-01-05 17:03:47', '', '2021-01-05 17:03:47', b'0'); | |
| 771 | +COMMIT; | |
| 772 | + | |
| 773 | +-- ---------------------------- | |
| 774 | +-- Table structure for sys_user_role | |
| 775 | +-- ---------------------------- | |
| 776 | +DROP TABLE IF EXISTS `sys_user_role`; | |
| 777 | +CREATE TABLE `sys_user_role` ( | |
| 778 | + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增编号', | |
| 779 | + `user_id` bigint(20) NOT NULL COMMENT '用户ID', | |
| 780 | + `role_id` bigint(20) NOT NULL COMMENT '角色ID', | |
| 781 | + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', | |
| 782 | + `create_time` datetime DEFAULT NULL COMMENT '创建时间', | |
| 783 | + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', | |
| 784 | + `update_time` datetime DEFAULT NULL COMMENT '更新时间', | |
| 785 | + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', | |
| 786 | + PRIMARY KEY (`id`) USING BTREE | |
| 787 | +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='用户和角色关联表'; | |
| 788 | + | |
| 789 | +-- ---------------------------- | |
| 790 | +-- Records of sys_user_role | |
| 791 | +-- ---------------------------- | |
| 792 | +BEGIN; | |
| 793 | +INSERT INTO `sys_user_role` VALUES (1, 1, 1, '', NULL, '', NULL, b'0'); | |
| 794 | +INSERT INTO `sys_user_role` VALUES (2, 2, 2, '', NULL, '', NULL, b'0'); | |
| 795 | +COMMIT; | |
| 796 | + | |
| 797 | +SET FOREIGN_KEY_CHECKS = 1; | ... | ... |
src/main/java/cn/iocoder/dashboard/framework/security/core/LoginUser.java
| 1 | 1 | package cn.iocoder.dashboard.framework.security.core; |
| 2 | 2 | |
| 3 | -import cn.iocoder.dashboard.modules.system.enums.user.UserStatus; | |
| 3 | +import cn.iocoder.dashboard.common.enums.CommonStatusEnum; | |
| 4 | 4 | import com.alibaba.fastjson.annotation.JSONField; |
| 5 | 5 | import lombok.Data; |
| 6 | 6 | import org.springframework.security.core.GrantedAuthority; |
| ... | ... | @@ -46,7 +46,7 @@ public class LoginUser implements UserDetails { |
| 46 | 46 | /** |
| 47 | 47 | * 状态 |
| 48 | 48 | */ |
| 49 | - private String status; | |
| 49 | + private Integer status; | |
| 50 | 50 | |
| 51 | 51 | @Override |
| 52 | 52 | @JSONField(serialize = false) // 避免序列化 |
| ... | ... | @@ -63,7 +63,7 @@ public class LoginUser implements UserDetails { |
| 63 | 63 | @Override |
| 64 | 64 | @JSONField(serialize = false) // 避免序列化 |
| 65 | 65 | public boolean isEnabled() { |
| 66 | - return UserStatus.OK.getCode().equals(status); | |
| 66 | + return CommonStatusEnum.ENABLE.getStatus().equals(status); | |
| 67 | 67 | } |
| 68 | 68 | |
| 69 | 69 | @Override | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/permission/vo/role/SysRoleUpdateStatusReqVO.java
| ... | ... | @@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull; |
| 10 | 10 | @Data |
| 11 | 11 | public class SysRoleUpdateStatusReqVO { |
| 12 | 12 | |
| 13 | - @ApiModelProperty(value = "用户编号", required = true, example = "1024") | |
| 13 | + @ApiModelProperty(value = "角色编号", required = true, example = "1024") | |
| 14 | 14 | @NotNull(message = "角色编号不能为空") |
| 15 | 15 | private Long id; |
| 16 | 16 | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/SysUserController.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user; | |
| 2 | + | |
| 3 | +public class SysUserController { | |
| 4 | + | |
| 5 | +// /** | |
| 6 | +// * 获取用户列表 | |
| 7 | +// */ | |
| 8 | +// @PreAuthorize("@ss.hasPermi('system:user:list')") | |
| 9 | +// @GetMapping("/list") | |
| 10 | +// public TableDataInfo list(SysUser user) | |
| 11 | +// { | |
| 12 | +// startPage(); | |
| 13 | +// List<SysUser> list = userService.selectUserList(user); | |
| 14 | +// return getDataTable(list); | |
| 15 | +// } | |
| 16 | +// | |
| 17 | +// @Log(title = "用户管理", businessType = BusinessType.EXPORT) | |
| 18 | +// @PreAuthorize("@ss.hasPermi('system:user:export')") | |
| 19 | +// @GetMapping("/export") | |
| 20 | +// public AjaxResult export(SysUser user) | |
| 21 | +// { | |
| 22 | +// List<SysUser> list = userService.selectUserList(user); | |
| 23 | +// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | |
| 24 | +// return util.exportExcel(list, "用户数据"); | |
| 25 | +// } | |
| 26 | +// | |
| 27 | +// @Log(title = "用户管理", businessType = BusinessType.IMPORT) | |
| 28 | +// @PreAuthorize("@ss.hasPermi('system:user:import')") | |
| 29 | +// @PostMapping("/importData") | |
| 30 | +// public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception | |
| 31 | +// { | |
| 32 | +// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | |
| 33 | +// List<SysUser> userList = util.importExcel(file.getInputStream()); | |
| 34 | +// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 35 | +// String operName = loginUser.getUsername(); | |
| 36 | +// String message = userService.importUser(userList, updateSupport, operName); | |
| 37 | +// return AjaxResult.success(message); | |
| 38 | +// } | |
| 39 | +// | |
| 40 | +// @GetMapping("/importTemplate") | |
| 41 | +// public AjaxResult importTemplate() | |
| 42 | +// { | |
| 43 | +// ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); | |
| 44 | +// return util.importTemplateExcel("用户数据"); | |
| 45 | +// } | |
| 46 | +// | |
| 47 | +// /** | |
| 48 | +// * 根据用户编号获取详细信息 | |
| 49 | +// */ | |
| 50 | +// @PreAuthorize("@ss.hasPermi('system:user:query')") | |
| 51 | +// @GetMapping(value = { "/", "/{userId}" }) | |
| 52 | +// public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) | |
| 53 | +// { | |
| 54 | +// AjaxResult ajax = AjaxResult.success(); | |
| 55 | +// List<SysRole> roles = roleService.selectRoleAll(); | |
| 56 | +// ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | |
| 57 | +// ajax.put("posts", postService.selectPostAll()); | |
| 58 | +// if (StringUtils.isNotNull(userId)) | |
| 59 | +// { | |
| 60 | +// ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); | |
| 61 | +// ajax.put("postIds", postService.selectPostListByUserId(userId)); | |
| 62 | +// ajax.put("roleIds", roleService.selectRoleListByUserId(userId)); | |
| 63 | +// } | |
| 64 | +// return ajax; | |
| 65 | +// } | |
| 66 | +// | |
| 67 | +// /** | |
| 68 | +// * 新增用户 | |
| 69 | +// */ | |
| 70 | +// @PreAuthorize("@ss.hasPermi('system:user:add')") | |
| 71 | +// @Log(title = "用户管理", businessType = BusinessType.INSERT) | |
| 72 | +// @PostMapping | |
| 73 | +// public AjaxResult add(@Validated @RequestBody SysUser user) | |
| 74 | +// { | |
| 75 | +// if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) | |
| 76 | +// { | |
| 77 | +// return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); | |
| 78 | +// } | |
| 79 | +// else if (StringUtils.isNotEmpty(user.getPhonenumber()) | |
| 80 | +// && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) | |
| 81 | +// { | |
| 82 | +// return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); | |
| 83 | +// } | |
| 84 | +// else if (StringUtils.isNotEmpty(user.getEmail()) | |
| 85 | +// && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) | |
| 86 | +// { | |
| 87 | +// return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); | |
| 88 | +// } | |
| 89 | +// user.setCreateBy(SecurityUtils.getUsername()); | |
| 90 | +// user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | |
| 91 | +// return toAjax(userService.insertUser(user)); | |
| 92 | +// } | |
| 93 | +// | |
| 94 | +// /** | |
| 95 | +// * 修改用户 | |
| 96 | +// */ | |
| 97 | +// @PreAuthorize("@ss.hasPermi('system:user:edit')") | |
| 98 | +// @Log(title = "用户管理", businessType = BusinessType.UPDATE) | |
| 99 | +// @PutMapping | |
| 100 | +// public AjaxResult edit(@Validated @RequestBody SysUser user) | |
| 101 | +// { | |
| 102 | +// userService.checkUserAllowed(user); | |
| 103 | +// if (StringUtils.isNotEmpty(user.getPhonenumber()) | |
| 104 | +// && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) | |
| 105 | +// { | |
| 106 | +// return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); | |
| 107 | +// } | |
| 108 | +// else if (StringUtils.isNotEmpty(user.getEmail()) | |
| 109 | +// && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) | |
| 110 | +// { | |
| 111 | +// return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); | |
| 112 | +// } | |
| 113 | +// user.setUpdateBy(SecurityUtils.getUsername()); | |
| 114 | +// return toAjax(userService.updateUser(user)); | |
| 115 | +// } | |
| 116 | +// | |
| 117 | +// /** | |
| 118 | +// * 删除用户 | |
| 119 | +// */ | |
| 120 | +// @PreAuthorize("@ss.hasPermi('system:user:remove')") | |
| 121 | +// @Log(title = "用户管理", businessType = BusinessType.DELETE) | |
| 122 | +// @DeleteMapping("/{userIds}") | |
| 123 | +// public AjaxResult remove(@PathVariable Long[] userIds) | |
| 124 | +// { | |
| 125 | +// return toAjax(userService.deleteUserByIds(userIds)); | |
| 126 | +// } | |
| 127 | +// | |
| 128 | +// /** | |
| 129 | +// * 重置密码 | |
| 130 | +// */ | |
| 131 | +// @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") | |
| 132 | +// @Log(title = "用户管理", businessType = BusinessType.UPDATE) | |
| 133 | +// @PutMapping("/resetPwd") | |
| 134 | +// public AjaxResult resetPwd(@RequestBody SysUser user) | |
| 135 | +// { | |
| 136 | +// userService.checkUserAllowed(user); | |
| 137 | +// user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); | |
| 138 | +// user.setUpdateBy(SecurityUtils.getUsername()); | |
| 139 | +// return toAjax(userService.resetPwd(user)); | |
| 140 | +// } | |
| 141 | +// | |
| 142 | +// /** | |
| 143 | +// * 状态修改 | |
| 144 | +// */ | |
| 145 | +// @PreAuthorize("@ss.hasPermi('system:user:edit')") | |
| 146 | +// @Log(title = "用户管理", businessType = BusinessType.UPDATE) | |
| 147 | +// @PutMapping("/changeStatus") | |
| 148 | +// public AjaxResult changeStatus(@RequestBody SysUser user) | |
| 149 | +// { | |
| 150 | +// userService.checkUserAllowed(user); | |
| 151 | +// user.setUpdateBy(SecurityUtils.getUsername()); | |
| 152 | +// return toAjax(userService.updateUserStatus(user)); | |
| 153 | +// } | |
| 154 | + | |
| 155 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/SysUserProfileController.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user; | |
| 2 | + | |
| 3 | +public class SysUserProfileController { | |
| 4 | + | |
| 5 | +// /** | |
| 6 | +// * 个人信息 | |
| 7 | +// */ | |
| 8 | +// @GetMapping | |
| 9 | +// public AjaxResult profile() | |
| 10 | +// { | |
| 11 | +// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 12 | +// SysUser user = loginUser.getUser(); | |
| 13 | +// AjaxResult ajax = AjaxResult.success(user); | |
| 14 | +// ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername())); | |
| 15 | +// ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername())); | |
| 16 | +// return ajax; | |
| 17 | +// } | |
| 18 | +// | |
| 19 | +// /** | |
| 20 | +// * 修改用户 | |
| 21 | +// */ | |
| 22 | +// @Log(title = "个人信息", businessType = BusinessType.UPDATE) | |
| 23 | +// @PutMapping | |
| 24 | +// public AjaxResult updateProfile(@RequestBody SysUser user) | |
| 25 | +// { | |
| 26 | +// if (userService.updateUserProfile(user) > 0) | |
| 27 | +// { | |
| 28 | +// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 29 | +// // 更新缓存用户信息 | |
| 30 | +// loginUser.getUser().setNickName(user.getNickName()); | |
| 31 | +// loginUser.getUser().setPhonenumber(user.getPhonenumber()); | |
| 32 | +// loginUser.getUser().setEmail(user.getEmail()); | |
| 33 | +// loginUser.getUser().setSex(user.getSex()); | |
| 34 | +// tokenService.setLoginUser(loginUser); | |
| 35 | +// return AjaxResult.success(); | |
| 36 | +// } | |
| 37 | +// return AjaxResult.error("修改个人信息异常,请联系管理员"); | |
| 38 | +// } | |
| 39 | +// | |
| 40 | +// /** | |
| 41 | +// * 重置密码 | |
| 42 | +// */ | |
| 43 | +// @Log(title = "个人信息", businessType = BusinessType.UPDATE) | |
| 44 | +// @PutMapping("/updatePwd") | |
| 45 | +// public AjaxResult updatePwd(String oldPassword, String newPassword) | |
| 46 | +// { | |
| 47 | +// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 48 | +// String userName = loginUser.getUsername(); | |
| 49 | +// String password = loginUser.getPassword(); | |
| 50 | +// if (!SecurityUtils.matchesPassword(oldPassword, password)) | |
| 51 | +// { | |
| 52 | +// return AjaxResult.error("修改密码失败,旧密码错误"); | |
| 53 | +// } | |
| 54 | +// if (SecurityUtils.matchesPassword(newPassword, password)) | |
| 55 | +// { | |
| 56 | +// return AjaxResult.error("新密码不能与旧密码相同"); | |
| 57 | +// } | |
| 58 | +// if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0) | |
| 59 | +// { | |
| 60 | +// // 更新缓存用户密码 | |
| 61 | +// loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword)); | |
| 62 | +// tokenService.setLoginUser(loginUser); | |
| 63 | +// return AjaxResult.success(); | |
| 64 | +// } | |
| 65 | +// return AjaxResult.error("修改密码异常,请联系管理员"); | |
| 66 | +// } | |
| 67 | +// | |
| 68 | +// /** | |
| 69 | +// * 头像上传 | |
| 70 | +// */ | |
| 71 | +// @Log(title = "用户头像", businessType = BusinessType.UPDATE) | |
| 72 | +// @PostMapping("/avatar") | |
| 73 | +// public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws IOException | |
| 74 | +// { | |
| 75 | +// if (!file.isEmpty()) | |
| 76 | +// { | |
| 77 | +// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); | |
| 78 | +// String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file); | |
| 79 | +// if (userService.updateUserAvatar(loginUser.getUsername(), avatar)) | |
| 80 | +// { | |
| 81 | +// AjaxResult ajax = AjaxResult.success(); | |
| 82 | +// ajax.put("imgUrl", avatar); | |
| 83 | +// // 更新缓存用户头像 | |
| 84 | +// loginUser.getUser().setAvatar(avatar); | |
| 85 | +// tokenService.setLoginUser(loginUser); | |
| 86 | +// return ajax; | |
| 87 | +// } | |
| 88 | +// } | |
| 89 | +// return AjaxResult.error("上传图片异常,请联系管理员"); | |
| 90 | +// } | |
| 91 | + | |
| 92 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | |
| 2 | + | |
| 3 | +import io.swagger.annotations.ApiModelProperty; | |
| 4 | +import lombok.Data; | |
| 5 | + | |
| 6 | +import javax.validation.constraints.Email; | |
| 7 | +import javax.validation.constraints.NotBlank; | |
| 8 | +import javax.validation.constraints.Size; | |
| 9 | +import java.util.Set; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 用户 Base VO,提供给添加、修改、详细的子 VO 使用 | |
| 13 | + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | |
| 14 | + */ | |
| 15 | +@Data | |
| 16 | +public class SysUserBaseVO { | |
| 17 | + | |
| 18 | + @ApiModelProperty(value = "用户账号", required = true, example = "yudao") | |
| 19 | + @NotBlank(message = "用户账号不能为空") | |
| 20 | + @Size(max = 30, message = "用户账号长度不能超过30个字符") | |
| 21 | + private String username; | |
| 22 | + | |
| 23 | + @ApiModelProperty(value = "用户昵称", required = true, example = "芋艿") | |
| 24 | + @Size(max = 30, message = "用户昵称长度不能超过30个字符") | |
| 25 | + private String nickname; | |
| 26 | + | |
| 27 | + @ApiModelProperty(value = "备注", example = "我是一个用户") | |
| 28 | + private String remark; | |
| 29 | + | |
| 30 | + @ApiModelProperty(value = "部门ID", example = "我是一个用户") | |
| 31 | + private Long deptId; | |
| 32 | + | |
| 33 | + @ApiModelProperty(value = "岗位编号数组", example = "1") | |
| 34 | + private Set<Long> postIds; | |
| 35 | + | |
| 36 | + @ApiModelProperty(value = "用户邮箱", example = "yudao@iocoder.cn") | |
| 37 | + @Email(message = "邮箱格式不正确") | |
| 38 | + @Size(max = 50, message = "邮箱长度不能超过50个字符") | |
| 39 | + private String email; | |
| 40 | + | |
| 41 | + @ApiModelProperty(value = "手机号码", example = "15601691300") | |
| 42 | + @Size(max = 11, message = "手机号码长度不能超过11个字符") | |
| 43 | + private String mobile; | |
| 44 | + | |
| 45 | + @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") | |
| 46 | + private Integer sex; | |
| 47 | + | |
| 48 | + @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") | |
| 49 | + private String avatar; | |
| 50 | + | |
| 51 | + | |
| 52 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | |
| 2 | + | |
| 3 | + | |
| 4 | +import io.swagger.annotations.ApiModel; | |
| 5 | +import lombok.Data; | |
| 6 | +import lombok.EqualsAndHashCode; | |
| 7 | + | |
| 8 | +@ApiModel("用户创建 Request VO") | |
| 9 | +@Data | |
| 10 | +@EqualsAndHashCode(callSuper = true) | |
| 11 | +public class SysUserCreateReqVO extends SysUserBaseVO { | |
| 12 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserExcelRespVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | |
| 2 | + | |
| 3 | +import cn.iocoder.dashboard.framework.excel.Excel; | |
| 4 | +import cn.iocoder.dashboard.framework.excel.Excels; | |
| 5 | +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO; | |
| 6 | +import lombok.Data; | |
| 7 | + | |
| 8 | +import java.util.Date; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * 用户 Excel 导出响应 VO | |
| 12 | + */ | |
| 13 | +@Data | |
| 14 | +public class SysUserExcelRespVO { | |
| 15 | + | |
| 16 | + @Excel(name = "用户序号", cellType = Excel.ColumnType.NUMERIC, prompt = "用户编号") | |
| 17 | + private Long id; | |
| 18 | + | |
| 19 | + /** | |
| 20 | + * 用户账号 | |
| 21 | + */ | |
| 22 | + @Excel(name = "登录名称") | |
| 23 | + private String username; | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 用户昵称 | |
| 27 | + */ | |
| 28 | + @Excel(name = "用户名称") | |
| 29 | + private String nickname; | |
| 30 | + | |
| 31 | + @Excel(name = "部门编号", type = Excel.Type.IMPORT) | |
| 32 | + private Long deptId; | |
| 33 | + | |
| 34 | + @Excel(name = "用户邮箱") | |
| 35 | + private String email; | |
| 36 | + | |
| 37 | + @Excel(name = "手机号码") | |
| 38 | + private String mobile; | |
| 39 | + | |
| 40 | + @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") | |
| 41 | + private String sex; | |
| 42 | + | |
| 43 | + @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") | |
| 44 | + private Integer status; | |
| 45 | + | |
| 46 | + @Excel(name = "最后登录IP", type = Excel.Type.EXPORT) | |
| 47 | + private String loginIp; | |
| 48 | + | |
| 49 | + @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT) | |
| 50 | + private Date loginDate; | |
| 51 | + | |
| 52 | + @Excels({ | |
| 53 | + @Excel(name = "部门名称", targetAttr = "deptName", type = Excel.Type.EXPORT), | |
| 54 | + @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT) | |
| 55 | + }) | |
| 56 | + private SysDeptDO dept; | |
| 57 | + | |
| 58 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserRespVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | |
| 2 | + | |
| 3 | +import io.swagger.annotations.ApiModel; | |
| 4 | +import io.swagger.annotations.ApiModelProperty; | |
| 5 | +import lombok.AllArgsConstructor; | |
| 6 | +import lombok.Data; | |
| 7 | +import lombok.EqualsAndHashCode; | |
| 8 | +import lombok.NoArgsConstructor; | |
| 9 | + | |
| 10 | +import java.util.Date; | |
| 11 | + | |
| 12 | +@ApiModel("用户信息 Response VO") | |
| 13 | +@Data | |
| 14 | +@NoArgsConstructor | |
| 15 | +@AllArgsConstructor | |
| 16 | +@EqualsAndHashCode(callSuper = true) | |
| 17 | +public class SysUserRespVO extends SysUserBaseVO { | |
| 18 | + | |
| 19 | + @ApiModelProperty(value = "用户编号", required = true, example = "1") | |
| 20 | + private Integer id; | |
| 21 | + | |
| 22 | + @ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类") | |
| 23 | + private Integer status; | |
| 24 | + | |
| 25 | + @ApiModelProperty(value = "最后登陆 IP", required = true, example = "192.168.1.1") | |
| 26 | + private String loginIp; | |
| 27 | + | |
| 28 | + @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式") | |
| 29 | + private Date loginDate; | |
| 30 | + | |
| 31 | + @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") | |
| 32 | + private Date createTime; | |
| 33 | + | |
| 34 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | |
| 2 | + | |
| 3 | +import io.swagger.annotations.ApiModel; | |
| 4 | +import io.swagger.annotations.ApiModelProperty; | |
| 5 | +import lombok.Data; | |
| 6 | +import lombok.EqualsAndHashCode; | |
| 7 | + | |
| 8 | +import javax.validation.constraints.NotNull; | |
| 9 | + | |
| 10 | +@ApiModel("用户更新 Request VO") | |
| 11 | +@Data | |
| 12 | +@EqualsAndHashCode(callSuper = true) | |
| 13 | +public class SysUserUpdateReqVO extends SysUserBaseVO { | |
| 14 | + | |
| 15 | + @ApiModelProperty(value = "用户编号", required = true, example = "1024") | |
| 16 | + @NotNull(message = "用户编号不能为空") | |
| 17 | + private Long id; | |
| 18 | + | |
| 19 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserUpdateStatusReqVO.java
0 → 100644
| 1 | +package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | |
| 2 | + | |
| 3 | +import io.swagger.annotations.ApiModel; | |
| 4 | +import io.swagger.annotations.ApiModelProperty; | |
| 5 | +import lombok.Data; | |
| 6 | + | |
| 7 | +import javax.validation.constraints.NotNull; | |
| 8 | + | |
| 9 | +@ApiModel("用户更新状态 Request VO") | |
| 10 | +@Data | |
| 11 | +public class SysUserUpdateStatusReqVO { | |
| 12 | + | |
| 13 | + @ApiModelProperty(value = "用户编号", required = true, example = "1024") | |
| 14 | + @NotNull(message = "角色编号不能为空") | |
| 15 | + private Long id; | |
| 16 | + | |
| 17 | + @ApiModelProperty(value = "状态", required = true, example = "1", notes = "见 SysCommonStatusEnum 枚举") | |
| 18 | + @NotNull(message = "状态不能为空") | |
| 19 | +// @InEnum(value = SysCommonStatusEnum.class, message = "修改状态必须是 {value}") | |
| 20 | + private Integer status; | |
| 21 | + | |
| 22 | +} | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dataobject/user/SysUserDO.java
| 1 | 1 | package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user; |
| 2 | 2 | |
| 3 | -import cn.iocoder.dashboard.framework.excel.Excel; | |
| 4 | -import cn.iocoder.dashboard.framework.excel.Excels; | |
| 3 | +import cn.iocoder.dashboard.common.enums.CommonStatusEnum; | |
| 5 | 4 | import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; |
| 6 | -import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO; | |
| 7 | -import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO; | |
| 5 | +import cn.iocoder.dashboard.modules.system.enums.common.SysSexEnum; | |
| 8 | 6 | import com.baomidou.mybatisplus.annotation.TableField; |
| 9 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 10 | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| 9 | +import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; | |
| 11 | 10 | import lombok.Data; |
| 12 | 11 | import lombok.EqualsAndHashCode; |
| 13 | 12 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| 14 | 13 | |
| 15 | -import javax.validation.constraints.Email; | |
| 16 | -import javax.validation.constraints.NotBlank; | |
| 17 | -import javax.validation.constraints.Size; | |
| 18 | 14 | import java.util.Date; |
| 19 | -import java.util.List; | |
| 15 | +import java.util.Set; | |
| 20 | 16 | |
| 21 | 17 | /** |
| 22 | 18 | * 用户 DO |
| ... | ... | @@ -26,118 +22,71 @@ import java.util.List; |
| 26 | 22 | @TableName("sys_user") |
| 27 | 23 | @Data |
| 28 | 24 | @EqualsAndHashCode(callSuper = true) |
| 29 | -// TODO 芋艿:数据库的字段默认值 | |
| 30 | 25 | public class SysUserDO extends BaseDO { |
| 31 | 26 | |
| 32 | 27 | /** |
| 33 | 28 | * 用户ID |
| 34 | 29 | */ |
| 35 | 30 | @TableId |
| 36 | - @Excel(name = "用户序号", cellType = Excel.ColumnType.NUMERIC, prompt = "用户编号") | |
| 37 | - private Long userId; | |
| 38 | - | |
| 39 | - /** | |
| 40 | - * 部门ID | |
| 41 | - */ | |
| 42 | - @Excel(name = "部门编号", type = Excel.Type.IMPORT) | |
| 43 | - private Long deptId; | |
| 44 | - | |
| 31 | + private Long id; | |
| 45 | 32 | /** |
| 46 | 33 | * 用户账号 |
| 47 | 34 | */ |
| 48 | - @Excel(name = "登录名称") | |
| 49 | - @NotBlank(message = "用户账号不能为空") | |
| 50 | - @Size(max = 30, message = "用户账号长度不能超过30个字符") | |
| 51 | 35 | private String username; |
| 52 | - | |
| 53 | 36 | /** |
| 54 | 37 | * 加密后的密码 |
| 55 | 38 | * |
| 56 | 39 | * 因为目前使用 {@link BCryptPasswordEncoder} 加密器,所以无需自己处理 salt 盐 |
| 57 | 40 | */ |
| 58 | 41 | private String password; |
| 59 | - | |
| 60 | 42 | /** |
| 61 | 43 | * 用户昵称 |
| 62 | 44 | */ |
| 63 | - @Excel(name = "用户名称") | |
| 64 | - @Size(max = 30, message = "用户昵称长度不能超过30个字符") | |
| 65 | 45 | private String nickname; |
| 66 | - | |
| 46 | + /** | |
| 47 | + * 备注 | |
| 48 | + */ | |
| 49 | + private String remark; | |
| 50 | + /** | |
| 51 | + * 部门ID | |
| 52 | + */ | |
| 53 | + private Long deptId; | |
| 54 | + /** | |
| 55 | + * 岗位编号数组 | |
| 56 | + */ | |
| 57 | + @TableField(typeHandler = FastjsonTypeHandler.class) | |
| 58 | + private Set<Long> postIds; | |
| 67 | 59 | /** |
| 68 | 60 | * 用户邮箱 |
| 69 | 61 | */ |
| 70 | - @Excel(name = "用户邮箱") | |
| 71 | - @Email(message = "邮箱格式不正确") | |
| 72 | - @Size(max = 50, message = "邮箱长度不能超过50个字符") | |
| 73 | 62 | private String email; |
| 74 | - | |
| 75 | 63 | /** |
| 76 | 64 | * 手机号码 |
| 77 | 65 | */ |
| 78 | - @Excel(name = "手机号码") | |
| 79 | - @Size(max = 11, message = "手机号码长度不能超过11个字符") | |
| 80 | 66 | private String mobile; |
| 81 | - | |
| 82 | 67 | /** |
| 83 | 68 | * 用户性别 |
| 69 | + * | |
| 70 | + * 枚举类 {@link SysSexEnum} | |
| 84 | 71 | */ |
| 85 | - @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") | |
| 86 | - private String sex; | |
| 87 | - | |
| 72 | + private Integer sex; | |
| 88 | 73 | /** |
| 89 | 74 | * 用户头像 |
| 90 | 75 | */ |
| 91 | 76 | private String avatar; |
| 92 | - | |
| 93 | 77 | /** |
| 94 | - * 帐号状态(0正常 1停用) | |
| 78 | + * 帐号状态 | |
| 79 | + * | |
| 80 | + * 枚举 {@link CommonStatusEnum} | |
| 95 | 81 | */ |
| 96 | - @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") | |
| 97 | - // TODO 芋艿:修改成枚举 | |
| 98 | - private String status; | |
| 99 | - | |
| 82 | + private Integer status; | |
| 100 | 83 | /** |
| 101 | 84 | * 最后登录IP |
| 102 | 85 | */ |
| 103 | - @Excel(name = "最后登录IP", type = Excel.Type.EXPORT) | |
| 104 | 86 | private String loginIp; |
| 105 | - | |
| 106 | 87 | /** |
| 107 | 88 | * 最后登录时间 |
| 108 | 89 | */ |
| 109 | - @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT) | |
| 110 | 90 | private Date loginDate; |
| 111 | 91 | |
| 112 | - | |
| 113 | - // TODO FROM 芋艿:下面的字段,需要忽略 | |
| 114 | - | |
| 115 | - /** | |
| 116 | - * 部门对象 | |
| 117 | - */ | |
| 118 | - @Excels({ | |
| 119 | - @Excel(name = "部门名称", targetAttr = "deptName", type = Excel.Type.EXPORT), | |
| 120 | - @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT) | |
| 121 | - }) | |
| 122 | - @TableField(exist = false) | |
| 123 | - private SysDeptDO dept; | |
| 124 | - | |
| 125 | - /** | |
| 126 | - * 角色对象 | |
| 127 | - */ | |
| 128 | - @TableField(exist = false) | |
| 129 | - private List<SysRoleDO> roles; | |
| 130 | - | |
| 131 | - /** | |
| 132 | - * 角色组 | |
| 133 | - */ | |
| 134 | - @TableField(exist = false) | |
| 135 | - private Long[] roleIds; | |
| 136 | - | |
| 137 | - /** | |
| 138 | - * 岗位组 | |
| 139 | - */ | |
| 140 | - @TableField(exist = false) | |
| 141 | - private Long[] postIds; | |
| 142 | - | |
| 143 | 92 | } | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/enums/common/SysSexEnum.java
0 → 100644
src/main/java/cn/iocoder/dashboard/modules/system/enums/user/UserStatus.java deleted
| 1 | -package cn.iocoder.dashboard.modules.system.enums.user; | |
| 2 | - | |
| 3 | -/** | |
| 4 | - * 用户状态 | |
| 5 | - * | |
| 6 | - * @author ruoyi | |
| 7 | - */ | |
| 8 | -public enum UserStatus | |
| 9 | -{ | |
| 10 | - OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除"); | |
| 11 | - | |
| 12 | - private final String code; | |
| 13 | - private final String info; | |
| 14 | - | |
| 15 | - UserStatus(String code, String info) | |
| 16 | - { | |
| 17 | - this.code = code; | |
| 18 | - this.info = info; | |
| 19 | - } | |
| 20 | - | |
| 21 | - public String getCode() | |
| 22 | - { | |
| 23 | - return code; | |
| 24 | - } | |
| 25 | - | |
| 26 | - public String getInfo() | |
| 27 | - { | |
| 28 | - return info; | |
| 29 | - } | |
| 30 | -} |
src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysAuthServiceImpl.java
| ... | ... | @@ -8,7 +8,6 @@ import cn.iocoder.dashboard.framework.security.core.LoginUser; |
| 8 | 8 | import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert; |
| 9 | 9 | import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO; |
| 10 | 10 | import cn.iocoder.dashboard.modules.system.dal.redis.dao.auth.SysLoginUserRedisDAO; |
| 11 | -import cn.iocoder.dashboard.modules.system.enums.user.UserStatus; | |
| 12 | 11 | import cn.iocoder.dashboard.modules.system.service.auth.SysAuthService; |
| 13 | 12 | import cn.iocoder.dashboard.modules.system.service.auth.SysTokenService; |
| 14 | 13 | import cn.iocoder.dashboard.modules.system.service.permission.SysPermissionService; |
| ... | ... | @@ -199,7 +198,7 @@ public class SysAuthServiceImpl implements SysAuthService { |
| 199 | 198 | |
| 200 | 199 | // 重新加载 SysUserDO 信息 |
| 201 | 200 | SysUserDO user = userService.getUser(loginUser.getUserId()); |
| 202 | - if (user == null || UserStatus.DISABLE.getCode().equals(user.getStatus())) { | |
| 201 | + if (user == null || CommonStatusEnum.DISABLE.getStatus().equals(user.getStatus())) { | |
| 203 | 202 | throw exception(TOKEN_EXPIRED); // 校验 token 时,用户被禁用的情况下,也认为 token 过期,方便前端跳转到登陆界面 |
| 204 | 203 | } |
| 205 | 204 | ... | ... |