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 | package cn.iocoder.dashboard.framework.security.core; | 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 | import com.alibaba.fastjson.annotation.JSONField; | 4 | import com.alibaba.fastjson.annotation.JSONField; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | import org.springframework.security.core.GrantedAuthority; | 6 | import org.springframework.security.core.GrantedAuthority; |
| @@ -46,7 +46,7 @@ public class LoginUser implements UserDetails { | @@ -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 | @Override | 51 | @Override |
| 52 | @JSONField(serialize = false) // 避免序列化 | 52 | @JSONField(serialize = false) // 避免序列化 |
| @@ -63,7 +63,7 @@ public class LoginUser implements UserDetails { | @@ -63,7 +63,7 @@ public class LoginUser implements UserDetails { | ||
| 63 | @Override | 63 | @Override |
| 64 | @JSONField(serialize = false) // 避免序列化 | 64 | @JSONField(serialize = false) // 避免序列化 |
| 65 | public boolean isEnabled() { | 65 | public boolean isEnabled() { |
| 66 | - return UserStatus.OK.getCode().equals(status); | 66 | + return CommonStatusEnum.ENABLE.getStatus().equals(status); |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | @Override | 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,7 +10,7 @@ import javax.validation.constraints.NotNull; | ||
| 10 | @Data | 10 | @Data |
| 11 | public class SysRoleUpdateStatusReqVO { | 11 | public class SysRoleUpdateStatusReqVO { |
| 12 | 12 | ||
| 13 | - @ApiModelProperty(value = "用户编号", required = true, example = "1024") | 13 | + @ApiModelProperty(value = "角色编号", required = true, example = "1024") |
| 14 | @NotNull(message = "角色编号不能为空") | 14 | @NotNull(message = "角色编号不能为空") |
| 15 | private Long id; | 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 | package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user; | 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 | import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; | 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 | import com.baomidou.mybatisplus.annotation.TableField; | 6 | import com.baomidou.mybatisplus.annotation.TableField; |
| 9 | import com.baomidou.mybatisplus.annotation.TableId; | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 10 | import com.baomidou.mybatisplus.annotation.TableName; | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| 9 | +import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; | ||
| 11 | import lombok.Data; | 10 | import lombok.Data; |
| 12 | import lombok.EqualsAndHashCode; | 11 | import lombok.EqualsAndHashCode; |
| 13 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | 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 | import java.util.Date; | 14 | import java.util.Date; |
| 19 | -import java.util.List; | 15 | +import java.util.Set; |
| 20 | 16 | ||
| 21 | /** | 17 | /** |
| 22 | * 用户 DO | 18 | * 用户 DO |
| @@ -26,118 +22,71 @@ import java.util.List; | @@ -26,118 +22,71 @@ import java.util.List; | ||
| 26 | @TableName("sys_user") | 22 | @TableName("sys_user") |
| 27 | @Data | 23 | @Data |
| 28 | @EqualsAndHashCode(callSuper = true) | 24 | @EqualsAndHashCode(callSuper = true) |
| 29 | -// TODO 芋艿:数据库的字段默认值 | ||
| 30 | public class SysUserDO extends BaseDO { | 25 | public class SysUserDO extends BaseDO { |
| 31 | 26 | ||
| 32 | /** | 27 | /** |
| 33 | * 用户ID | 28 | * 用户ID |
| 34 | */ | 29 | */ |
| 35 | @TableId | 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 | private String username; | 35 | private String username; |
| 52 | - | ||
| 53 | /** | 36 | /** |
| 54 | * 加密后的密码 | 37 | * 加密后的密码 |
| 55 | * | 38 | * |
| 56 | * 因为目前使用 {@link BCryptPasswordEncoder} 加密器,所以无需自己处理 salt 盐 | 39 | * 因为目前使用 {@link BCryptPasswordEncoder} 加密器,所以无需自己处理 salt 盐 |
| 57 | */ | 40 | */ |
| 58 | private String password; | 41 | private String password; |
| 59 | - | ||
| 60 | /** | 42 | /** |
| 61 | * 用户昵称 | 43 | * 用户昵称 |
| 62 | */ | 44 | */ |
| 63 | - @Excel(name = "用户名称") | ||
| 64 | - @Size(max = 30, message = "用户昵称长度不能超过30个字符") | ||
| 65 | private String nickname; | 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 | private String email; | 62 | private String email; |
| 74 | - | ||
| 75 | /** | 63 | /** |
| 76 | * 手机号码 | 64 | * 手机号码 |
| 77 | */ | 65 | */ |
| 78 | - @Excel(name = "手机号码") | ||
| 79 | - @Size(max = 11, message = "手机号码长度不能超过11个字符") | ||
| 80 | private String mobile; | 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 | private String avatar; | 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 | * 最后登录IP | 84 | * 最后登录IP |
| 102 | */ | 85 | */ |
| 103 | - @Excel(name = "最后登录IP", type = Excel.Type.EXPORT) | ||
| 104 | private String loginIp; | 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 | private Date loginDate; | 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,7 +8,6 @@ import cn.iocoder.dashboard.framework.security.core.LoginUser; | ||
| 8 | import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert; | 8 | import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert; |
| 9 | import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO; | 9 | import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO; |
| 10 | import cn.iocoder.dashboard.modules.system.dal.redis.dao.auth.SysLoginUserRedisDAO; | 10 | import cn.iocoder.dashboard.modules.system.dal.redis.dao.auth.SysLoginUserRedisDAO; |
| 11 | -import cn.iocoder.dashboard.modules.system.enums.user.UserStatus; | ||
| 12 | import cn.iocoder.dashboard.modules.system.service.auth.SysAuthService; | 11 | import cn.iocoder.dashboard.modules.system.service.auth.SysAuthService; |
| 13 | import cn.iocoder.dashboard.modules.system.service.auth.SysTokenService; | 12 | import cn.iocoder.dashboard.modules.system.service.auth.SysTokenService; |
| 14 | import cn.iocoder.dashboard.modules.system.service.permission.SysPermissionService; | 13 | import cn.iocoder.dashboard.modules.system.service.permission.SysPermissionService; |
| @@ -199,7 +198,7 @@ public class SysAuthServiceImpl implements SysAuthService { | @@ -199,7 +198,7 @@ public class SysAuthServiceImpl implements SysAuthService { | ||
| 199 | 198 | ||
| 200 | // 重新加载 SysUserDO 信息 | 199 | // 重新加载 SysUserDO 信息 |
| 201 | SysUserDO user = userService.getUser(loginUser.getUserId()); | 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 | throw exception(TOKEN_EXPIRED); // 校验 token 时,用户被禁用的情况下,也认为 token 过期,方便前端跳转到登陆界面 | 202 | throw exception(TOKEN_EXPIRED); // 校验 token 时,用户被禁用的情况下,也认为 token 过期,方便前端跳转到登陆界面 |
| 204 | } | 203 | } |
| 205 | 204 |