From 1a3de755908b7dec3f77888f9f6d47f8f8116ec5 Mon Sep 17 00:00:00 2001 From: fumeiai Date: Mon, 25 May 2020 20:56:58 +0800 Subject: [PATCH] update some code --- .idea/workspace.xml | 41 ++-- .../java/com/lz/modules/app/Dto/UserDto.java | 94 ++++++++ .../com/lz/modules/app/entity/UserEntity.java | 8 +- .../app/service/impl/StaffServiceImpl.java | 1 - .../sys/controller/SysUserController.java | 210 +++++++++--------- .../com/lz/modules/sys/dao/SysUserDao.java | 37 +-- .../lz/modules/sys/entity/SysUserEntity.java | 33 ++- .../sys/service/impl/SysUserServiceImpl.java | 188 ++++++++-------- src/main/resources/mapper/sys/SysUserDao.xml | 45 +++- .../com/lz/modules/app/Dto/UserDto.class | Bin 0 -> 7745 bytes .../lz/modules/app/entity/UserEntity.class | Bin 3682 -> 5032 bytes .../app/service/impl/StaffServiceImpl.class | Bin 15105 -> 15105 bytes .../sys/controller/SysUserController.class | Bin 6048 -> 6454 bytes .../com/lz/modules/sys/dao/SysUserDao.class | Bin 769 -> 1245 bytes .../lz/modules/sys/entity/SysUserEntity.class | Bin 6929 -> 8061 bytes .../sys/service/impl/SysUserServiceImpl.class | Bin 6200 -> 6305 bytes target/classes/logback-spring.xml | 2 +- target/classes/mapper/sys/SysUserDao.xml | 45 +++- 18 files changed, 464 insertions(+), 240 deletions(-) create mode 100644 src/main/java/com/lz/modules/app/Dto/UserDto.java create mode 100644 target/classes/com/lz/modules/app/Dto/UserDto.class diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 426903d7..b0561416 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,16 +2,21 @@ + - - + + - - - - - + + + + + + + + + - + @@ -179,7 +184,7 @@ - + @@ -204,13 +209,23 @@ file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java - 233 + 232 - file://$PROJECT_DIR$/src/main/java/com/lz/common/utils/FeishuUtil.java - 144 - + + file://$PROJECT_DIR$/src/main/java/com/lz/modules/sys/controller/SysUserController.java + 139 + + + file://$PROJECT_DIR$/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java + 57 + diff --git a/src/main/java/com/lz/modules/app/Dto/UserDto.java b/src/main/java/com/lz/modules/app/Dto/UserDto.java new file mode 100644 index 00000000..581f85c8 --- /dev/null +++ b/src/main/java/com/lz/modules/app/Dto/UserDto.java @@ -0,0 +1,94 @@ +/** + * Copyright (c) 2020 fumeiai All rights reserved. + *

+ *

+ *

+ * 版权所有,侵权必究! + */ + +package com.lz.modules.app.Dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 用户 + * + * @author fumeiai@Linzikg.com + */ +@Data +public class UserDto implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + @TableId + private Long userId; + + /** + * 员工姓名 + */ + private String realName; + + /** + * 员工工号 + */ + private String userNo; + + /** + * 用户名 + */ + private String username; + + /** + * 密码 + */ + private String password; + + /** + * 手机号 + */ + private String mobile; + + /** + * 盐 + */ + private String salt; + + /** + * 邮箱 + */ + private String email; + + + /** + * 状态 0:禁用 1:正常 + */ + private Integer status; + + /** + * 角色ID列表 + */ + @TableField(exist = false) + private List roleIdList; + + /** + * 创建者ID + */ + private Long createUserId; + + /** + * 创建时间 + */ + private Date createTime; + + private String roleName; + +} diff --git a/src/main/java/com/lz/modules/app/entity/UserEntity.java b/src/main/java/com/lz/modules/app/entity/UserEntity.java index 05c1be0b..b6a3bec6 100644 --- a/src/main/java/com/lz/modules/app/entity/UserEntity.java +++ b/src/main/java/com/lz/modules/app/entity/UserEntity.java @@ -22,7 +22,7 @@ import java.util.Date; * @author Mark sunlightcs@gmail.com */ @Data -@TableName("tb_user") +@TableName("sys_user") public class UserEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -31,6 +31,12 @@ public class UserEntity implements Serializable { */ @TableId private Long userId; + + private String realName; + + private String userNo; + + private String status; /** * 用户名 */ diff --git a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java index 46d6d224..22226db8 100644 --- a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java @@ -1,6 +1,5 @@ package com.lz.modules.app.service.impl; -import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; diff --git a/src/main/java/com/lz/modules/sys/controller/SysUserController.java b/src/main/java/com/lz/modules/sys/controller/SysUserController.java index 015173cd..3cf424d8 100644 --- a/src/main/java/com/lz/modules/sys/controller/SysUserController.java +++ b/src/main/java/com/lz/modules/sys/controller/SysUserController.java @@ -1,13 +1,14 @@ /** * Copyright (c) 2020 fumeiai All rights reserved. - * - * - * + *

+ *

+ *

* 版权所有,侵权必究! */ package com.lz.modules.sys.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.lz.common.annotation.SysLog; import com.lz.common.utils.Constant; import com.lz.common.utils.PageUtils; @@ -16,6 +17,7 @@ import com.lz.common.validator.Assert; import com.lz.common.validator.ValidatorUtils; import com.lz.common.validator.group.AddGroup; import com.lz.common.validator.group.UpdateGroup; +import com.lz.modules.app.entity.UserEntity; import com.lz.modules.sys.entity.SysUserEntity; import com.lz.modules.sys.form.PasswordForm; import com.lz.modules.sys.service.SysUserRoleService; @@ -37,123 +39,129 @@ import java.util.Map; @RestController @RequestMapping("/sys/user") public class SysUserController extends AbstractController { - @Autowired - private SysUserService sysUserService; - @Autowired - private SysUserRoleService sysUserRoleService; + @Autowired + private SysUserService sysUserService; + @Autowired + private SysUserRoleService sysUserRoleService; - /** - * 所有用户列表 - */ - @GetMapping("/list") - @RequiresPermissions("sys:user:list") - public R list(@RequestParam Map params){ - //只有超级管理员,才能查看所有管理员列表 - if(getUserId() != Constant.SUPER_ADMIN){ - params.put("createUserId", getUserId()); - } - PageUtils page = sysUserService.queryPage(params); + /** + * 所有用户列表 + */ + @GetMapping("/list") + @RequiresPermissions("sys:user:list") + public R list(@RequestParam Map params) { + //只有超级管理员,才能查看所有管理员列表 + if (getUserId() != Constant.SUPER_ADMIN) { + params.put("createUserId", getUserId()); + } - return R.ok().put("page", page); - } + PageUtils page = sysUserService.queryPage(params); - /** - * 获取登录的用户信息 - */ - @GetMapping("/info") - public R info(){ - return R.ok().put("user", getUser()); - } - /** - * 修改登录用户密码 - */ - @SysLog("修改密码") - @PostMapping("/password") - public R password(@RequestBody PasswordForm form){ - Assert.isBlank(form.getNewPassword(), "新密码不为能空"); + return R.ok().put("page", page); + } - //sha256加密 - String password = new Sha256Hash(form.getPassword(), getUser().getSalt()).toHex(); - //sha256加密 - String newPassword = new Sha256Hash(form.getNewPassword(), getUser().getSalt()).toHex(); + /** + * 获取登录的用户信息 + */ + @GetMapping("/info") + public R info() { + return R.ok().put("user", getUser()); + } - //更新密码 - boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword); - if(!flag){ - return R.error("原密码不正确"); - } + /** + * 修改登录用户密码 + */ + @SysLog("修改密码") + @PostMapping("/password") + public R password(@RequestBody PasswordForm form) { + Assert.isBlank(form.getNewPassword(), "新密码不为能空"); - return R.ok(); - } + //sha256加密 + String password = new Sha256Hash(form.getPassword(), getUser().getSalt()).toHex(); + //sha256加密 + String newPassword = new Sha256Hash(form.getNewPassword(), getUser().getSalt()).toHex(); - public static void main(String[] args) { - String newPassword = new Sha256Hash("Linzi!@#123", "YzcmCZNvbXocrsz9dm8e").toHex(); - System.out.println(newPassword); - } - /** - * 用户信息 - */ - @GetMapping("/info/{userId}") - @RequiresPermissions("sys:user:info") - public R info(@PathVariable("userId") Long userId){ - SysUserEntity user = sysUserService.getById(userId); + //更新密码 + boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword); + if (!flag) { + return R.error("原密码不正确"); + } - //获取用户所属的角色列表 - List roleIdList = sysUserRoleService.queryRoleIdList(userId); - user.setRoleIdList(roleIdList); + return R.ok(); + } - return R.ok().put("user", user); - } + public static void main(String[] args) { + String newPassword = new Sha256Hash("Linzi!@#123", "YzcmCZNvbXocrsz9dm8e").toHex(); + System.out.println(newPassword); + } - /** - * 保存用户 - */ - @SysLog("保存用户") - @PostMapping("/save") - @RequiresPermissions("sys:user:save") - public R save(@RequestBody SysUserEntity user){ - ValidatorUtils.validateEntity(user, AddGroup.class); + /** + * 用户信息 + */ + @GetMapping("/info/{userId}") + @RequiresPermissions("sys:user:info") + public R info(@PathVariable("userId") Long userId) { + SysUserEntity user = sysUserService.getById(userId); - user.setCreateUserId(getUserId()); - sysUserService.saveUser(user); + //获取用户所属的角色列表 + List roleIdList = sysUserRoleService.queryRoleIdList(userId); + user.setRoleIdList(roleIdList); - return R.ok(); - } + return R.ok().put("user", user); + } - /** - * 修改用户 - */ - @SysLog("修改用户") - @PostMapping("/update") - @RequiresPermissions("sys:user:update") - public R update(@RequestBody SysUserEntity user){ - ValidatorUtils.validateEntity(user, UpdateGroup.class); + /** + * 保存用户 + */ + @SysLog("保存用户") + @PostMapping("/save") + @RequiresPermissions("sys:user:save") + public R save(@RequestBody SysUserEntity user) { + ValidatorUtils.validateEntity(user, AddGroup.class); + SysUserEntity queryUser = sysUserService.getOne(new QueryWrapper().eq("mobile", user.getMobile())); + if (queryUser != null) { + return R.error("该手机号已存在,请重新输入!"); + } + user.setCreateUserId(getUserId()); + sysUserService.saveUser(user); - user.setCreateUserId(getUserId()); - sysUserService.update(user); + return R.ok(); + } - return R.ok(); - } + /** + * 修改用户 + */ + @SysLog("修改用户") + @PostMapping("/update") + @RequiresPermissions("sys:user:update") + public R update(@RequestBody SysUserEntity user) { + ValidatorUtils.validateEntity(user, UpdateGroup.class); - /** - * 删除用户 - */ - @SysLog("删除用户") - @PostMapping("/delete") - @RequiresPermissions("sys:user:delete") - public R delete(@RequestBody Long[] userIds){ - if(ArrayUtils.contains(userIds, 1L)){ - return R.error("系统管理员不能删除"); - } + user.setCreateUserId(getUserId()); + sysUserService.update(user); - if(ArrayUtils.contains(userIds, getUserId())){ - return R.error("当前用户不能删除"); - } + return R.ok(); + } - sysUserService.deleteBatch(userIds); + /** + * 删除用户 + */ + @SysLog("删除用户") + @PostMapping("/delete") + @RequiresPermissions("sys:user:delete") + public R delete(@RequestBody Long[] userIds) { + if (ArrayUtils.contains(userIds, 1L)) { + return R.error("系统管理员不能删除"); + } - return R.ok(); - } + if (ArrayUtils.contains(userIds, getUserId())) { + return R.error("当前用户不能删除"); + } + + sysUserService.deleteBatch(userIds); + + return R.ok(); + } } diff --git a/src/main/java/com/lz/modules/sys/dao/SysUserDao.java b/src/main/java/com/lz/modules/sys/dao/SysUserDao.java index 8bb951fa..d93c2e37 100644 --- a/src/main/java/com/lz/modules/sys/dao/SysUserDao.java +++ b/src/main/java/com/lz/modules/sys/dao/SysUserDao.java @@ -1,14 +1,15 @@ /** * Copyright (c) 2020 fumeiai All rights reserved. - * - * - * + *

+ *

+ *

* 版权所有,侵权必究! */ package com.lz.modules.sys.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.modules.app.Dto.UserDto; import com.lz.modules.sys.entity.SysUserEntity; import org.apache.ibatis.annotations.Mapper; @@ -22,20 +23,24 @@ import java.util.List; @Mapper public interface SysUserDao extends BaseMapper { - /** - * 查询用户的所有权限 - * @param userId 用户ID - */ - List queryAllPerms(Long userId); + /** + * 查询用户的所有权限 + * @param userId 用户ID + */ + List queryAllPerms(Long userId); - /** - * 查询用户的所有菜单ID - */ - List queryAllMenuId(Long userId); + /** + * 查询用户的所有菜单ID + */ + List queryAllMenuId(Long userId); - /** - * 根据用户名,查询系统用户 - */ - SysUserEntity queryByUserName(String username); + /** + * 根据用户名,查询系统用户 + */ + SysUserEntity queryByUserName(String username); + + List getUserInfos(String realName, Long createUserId, String mobile, String roleName, int pageLimit, int startIndex); + + int getTotalCount(String realName, Long createUserId, String mobile, String roleName); } diff --git a/src/main/java/com/lz/modules/sys/entity/SysUserEntity.java b/src/main/java/com/lz/modules/sys/entity/SysUserEntity.java index f4786d67..1413f5f7 100644 --- a/src/main/java/com/lz/modules/sys/entity/SysUserEntity.java +++ b/src/main/java/com/lz/modules/sys/entity/SysUserEntity.java @@ -37,10 +37,22 @@ public class SysUserEntity implements Serializable { @TableId private Long userId; + /** + * 员工姓名 + */ + @NotBlank(message="员工姓名不能为空", groups = {AddGroup.class, UpdateGroup.class}) + private String realName; + + /** + * 员工工号 + */ + @NotBlank(message="工号不能为空", groups = AddGroup.class) + private String userNo; + /** * 用户名 */ - @NotBlank(message="用户名不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @NotBlank(message="账号不能为空", groups = {AddGroup.class, UpdateGroup.class}) private String username; /** @@ -49,22 +61,25 @@ public class SysUserEntity implements Serializable { @NotBlank(message="密码不能为空", groups = AddGroup.class) private String password; + /** + * 手机号 + */ + @NotBlank(message="手机号不能为空", groups = {AddGroup.class, UpdateGroup.class}) + private String mobile; + /** * 盐 */ private String salt; - /** - * 邮箱 - */ - @NotBlank(message="邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class}) +// /** +// * 邮箱 +// */ +// @NotBlank(message="邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class}) @Email(message="邮箱格式不正确", groups = {AddGroup.class, UpdateGroup.class}) private String email; - /** - * 手机号 - */ - private String mobile; + /** * 状态 0:禁用 1:正常 diff --git a/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java b/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java index 11033338..0b7fc01b 100644 --- a/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2020 fumeiai All rights reserved. - * - * - * + *

+ *

+ *

* 版权所有,侵权必究! */ @@ -15,6 +15,7 @@ import com.lz.common.exception.RRException; import com.lz.common.utils.Constant; import com.lz.common.utils.PageUtils; import com.lz.common.utils.Query; +import com.lz.modules.app.Dto.UserDto; import com.lz.modules.sys.dao.SysUserDao; import com.lz.modules.sys.entity.SysUserEntity; import com.lz.modules.sys.service.SysRoleService; @@ -40,106 +41,117 @@ import java.util.Map; */ @Service("sysUserService") public class SysUserServiceImpl extends ServiceImpl implements SysUserService { - @Autowired - private SysUserRoleService sysUserRoleService; - @Autowired - private SysRoleService sysRoleService; + @Autowired + private SysUserRoleService sysUserRoleService; + @Autowired + private SysRoleService sysRoleService; + @Autowired + private SysUserDao sysUserDao; - @Override - public PageUtils queryPage(Map params) { - String username = (String)params.get("username"); - Long createUserId = (Long)params.get("createUserId"); + @Override + public PageUtils queryPage(Map params) { + String realName = (String) params.get("realName"); + Long createUserId = (Long) params.get("createUserId"); + String mobile = (String) params.get("mobile"); + String roleName = (String) params.get("roleName"); - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper() - .like(StringUtils.isNotBlank(username),"username", username) - .eq(createUserId != null,"create_user_id", createUserId) - ); + int pageSize = 20; + int currPage = 1; + if (params.containsKey("limit")) { + pageSize = Integer.parseInt(params.get("limit").toString()); + } - return new PageUtils(page); - } + if (params.containsKey("page")) { + currPage = Integer.parseInt(params.get("page").toString()); + } - @Override - public List queryAllPerms(Long userId) { - return baseMapper.queryAllPerms(userId); - } + List users = sysUserDao.getUserInfos(realName, createUserId, mobile, roleName, pageSize, (currPage - 1) * pageSize); + int totalCount = sysUserDao.getTotalCount(realName, createUserId, mobile, roleName); + PageUtils pageInfo = new PageUtils(users, totalCount, pageSize, currPage); - @Override - public List queryAllMenuId(Long userId) { - return baseMapper.queryAllMenuId(userId); - } + return pageInfo; + } - @Override - public SysUserEntity queryByUserName(String username) { - return baseMapper.queryByUserName(username); - } + @Override + public List queryAllPerms(Long userId) { + return baseMapper.queryAllPerms(userId); + } - @Override - @Transactional - public void saveUser(SysUserEntity user) { - user.setCreateTime(new Date()); - //sha256加密 - String salt = RandomStringUtils.randomAlphanumeric(20); - user.setPassword(new Sha256Hash(user.getPassword(), salt).toHex()); - user.setSalt(salt); - this.save(user); + @Override + public List queryAllMenuId(Long userId) { + return baseMapper.queryAllMenuId(userId); + } - //检查角色是否越权 - checkRole(user); + @Override + public SysUserEntity queryByUserName(String username) { + return baseMapper.queryByUserName(username); + } - //保存用户与角色关系 - sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); - } + @Override + @Transactional + public void saveUser(SysUserEntity user) { + user.setCreateTime(new Date()); + //sha256加密 + String salt = RandomStringUtils.randomAlphanumeric(20); + user.setPassword(new Sha256Hash(user.getPassword(), salt).toHex()); + user.setSalt(salt); + this.save(user); - @Override - @Transactional - public void update(SysUserEntity user) { - if(StringUtils.isBlank(user.getPassword())){ - user.setPassword(null); - }else{ - user.setPassword(new Sha256Hash(user.getPassword(), user.getSalt()).toHex()); - } - this.updateById(user); + //检查角色是否越权 + checkRole(user); - //检查角色是否越权 - checkRole(user); + //保存用户与角色关系 + sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); + } - //保存用户与角色关系 - sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); - } + @Override + @Transactional + public void update(SysUserEntity user) { + if (StringUtils.isBlank(user.getPassword())) { + user.setPassword(null); + } else { + user.setPassword(new Sha256Hash(user.getPassword(), user.getSalt()).toHex()); + } + this.updateById(user); - @Override - public void deleteBatch(Long[] userId) { - this.removeByIds(Arrays.asList(userId)); - } + //检查角色是否越权 + checkRole(user); - @Override - public boolean updatePassword(Long userId, String password, String newPassword) { - SysUserEntity userEntity = new SysUserEntity(); - userEntity.setPassword(newPassword); - return this.update(userEntity, - new QueryWrapper().eq("user_id", userId).eq("password", password)); - } + //保存用户与角色关系 + sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList()); + } - /** - * 检查角色是否越权 - */ - private void checkRole(SysUserEntity user){ - if(user.getRoleIdList() == null || user.getRoleIdList().size() == 0){ - return; - } - //如果不是超级管理员,则需要判断用户的角色是否自己创建 - if(user.getCreateUserId() == Constant.SUPER_ADMIN){ - return ; - } + @Override + public void deleteBatch(Long[] userId) { + this.removeByIds(Arrays.asList(userId)); + } - //查询用户创建的角色列表 - List roleIdList = sysRoleService.queryRoleIdList(user.getCreateUserId()); + @Override + public boolean updatePassword(Long userId, String password, String newPassword) { + SysUserEntity userEntity = new SysUserEntity(); + userEntity.setPassword(newPassword); + return this.update(userEntity, + new QueryWrapper().eq("user_id", userId).eq("password", password)); + } - //判断是否越权 - if(!roleIdList.containsAll(user.getRoleIdList())){ - throw new RRException("新增用户所选角色,不是本人创建"); - } - } + /** + * 检查角色是否越权 + */ + private void checkRole(SysUserEntity user) { + if (user.getRoleIdList() == null || user.getRoleIdList().size() == 0) { + return; + } + //如果不是超级管理员,则需要判断用户的角色是否自己创建 + if (user.getCreateUserId() == Constant.SUPER_ADMIN) { + return; + } + + //查询用户创建的角色列表 + List roleIdList = sysRoleService.queryRoleIdList(user.getCreateUserId()); + + //判断是否越权 + if (!roleIdList.containsAll(user.getRoleIdList())) { + throw new RRException("新增用户所选角色,不是本人创建"); + } + } } diff --git a/src/main/resources/mapper/sys/SysUserDao.xml b/src/main/resources/mapper/sys/SysUserDao.xml index 96548e55..8b8ad68c 100644 --- a/src/main/resources/mapper/sys/SysUserDao.xml +++ b/src/main/resources/mapper/sys/SysUserDao.xml @@ -2,23 +2,58 @@ - - select m.perms from sys_user_role ur LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id LEFT JOIN sys_menu m on rm.menu_id = m.menu_id where ur.user_id = #{userId} - - select distinct rm.menu_id from sys_user_role ur LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id where ur.user_id = #{userId} - select * from sys_user where username = #{username} + + + + diff --git a/target/classes/com/lz/modules/app/Dto/UserDto.class b/target/classes/com/lz/modules/app/Dto/UserDto.class new file mode 100644 index 0000000000000000000000000000000000000000..07c249ff0775b42ee1905e8d054918cc761cf5c6 GIT binary patch literal 7745 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 XOLT1WPtM+7EiLL2DCjnMvEBYZx>fWZ literal 0 HcmV?d00001 diff --git a/target/classes/com/lz/modules/app/entity/UserEntity.class b/target/classes/com/lz/modules/app/entity/UserEntity.class index 9323c49a316eb27a51adf692a1d1704b151ee3db..4bb6a850cb3a80b078162583cc684cd94a9cb407 100644 GIT binary patch literal 5032 zcmb_gX>%M`6+JD@O!sV>(MYo0u>mjRL~91eP6BN^5HA7+Nimi!5(7zEQe%xXno(wP zu-OyV5J9w-aY5` zefQn_x=XM8`&YjOa0oxjpp3`T$l!4i9~bcn5uX(CDG{F*@fi_MnD}glaDh0Z!fyFj+f+S+`M}hXYQ5UN%Rv9=*rI{N z@x}^)h1qJ|oA0bGc}*3YMAKMizFcOFvHFXN_G*=^IK|hsQ0#0``FuV!U%|YNr(jfYRp9vw0cbyEe%=!5c z%c*Wk@|+!yWThKPG%x8^80yeyZ={l{;+)rBZLFMfn@oP2g=8R0QW*Y7l;%e-#K5(R zpNww&{v-YPIqSwxJrX}>(fEV#!tmuODesYvTVqh0!nk+og16j0Ja&%t&h$lV%r_ZG zHrlIRle>}AElYXHdF9kLoLk1pkTD9aDex$COZc|-ByU|%h}^^=lTs;h2mRW}Pe zXNFljb$Vv*B-2Vg)%04OTHAox%~!e{rbe$y9?WvE>9j)X4V&d)GwE^|ceWf2&}uhy zNwLKj8lC2{H?3N~ARV9^?pC>}3{ha{FU+%Dn{+-aaJciwAV2RYR7t{mQix8|@Y+TA#o!*LNOM4S{cE#hq= z-j10Z8dx{5J-mQ*299;AwG}DYQn>d~343PcXb#Wgs)!%5=q7guXK<8VIJsLe^9`-* zbD&O?tjkGgi#`i&2~LBv{N(QNJUBPTa`+&Q@m>hy(=BCSSS?i>l?Cllx4zu z(yOz#rs8gj$epukpFE&V_@Je4h{qnjFv~EoA8Fi#n{f;EQNGvuFvcHGmGddiQygzq z>pWyN@|@MkqgEqNTa7$$HS)~W$YbX?LOu(H(&4Pa(cqXIe-Xyd6znjiJOtQ*Ba}G} zz){@AnIXkMxtaV6^!=2^K7`~wv1Hay47tCTyf2o_x{Dzvddd4^$*k8HaOdnYqdF4P@1n zN^X9V!bwd10a-ioG6t_AH)SU_kPi?8PLhxTCuJuElX@AYtH|3)I~4&H9Fw4eW7(#F zEFWarRs>XZ(gYQqjGY!x#s{VCOawIOWCeNe$JMnJ>PAVI@U$sQC?$p;PEr2v$;#!l^zT;Tfle@SOJ=xbvd z_u+mX$%t_P=lDkGL)qAicXO>DIKk)#y6l(Y@9;9ZXi9g{X zY8IZs3vj8W@hpCVC2ARL;At#V%i=e90xQ&V_!}OEM=g(kaC{%N0luK7ah_ViNb!xd zO08(@=WDb|ZP1v&PF$c?A`|qy)3pAD0TZ=XvCYI9|69hZ*rC<*|3M9|rTbW<3HfZ& zMXKJka(O1DIwi-^m!!_IzB`jaj+wP{jJ#X+=TzDAvx-Z+j{Eo0MV5~KUOapxaa0xe zuHxZUmbO)#xC(P>10xT~`hb%VgPrg#mK3};6`Z6pvDOvIvXg)itpLG;7c? zm5Iggv&_I$ax7)Cx+b=SW(_%MWnwq@taM-+b~4J8>6+LhWbKMC#&x}KKT-Yo3m#!H z@mm;wMvGb>%jb`1GkN{khhL&YEx{sv4i~8<`Fk9XQl^Mm#rvt5c#0)@iJFBU^JDok zwKRT@?f3w-j1-UYa}=+0A;ID?3>FOk)Nq{-2g+YMmFVUD~Dfg6OZ)I`2@s^m?riiv9+z^V+mayR|+f r`W~$hi_g8(H?XhwGb{Qzz3$g=A3mh6gb%B4`z+)92!9`K;bZ>+1w@%L literal 3682 zcma)9YjYE26n-|{Tary%!ZnHtTCi6m-c6};D^P3!Td0aRw(Z(3B-xs5s^Aqx$I&nP z$r*oue8CwVwalpFpdWC?Kj070pW*E}yPITF*P#qK?|I+zob#URyYTDZ-~9;S0lb&N ztyoOMz>*MG$T=bBg_I3cGF+=dJb^9?_p*?hkh&0G1Puc#8T4YEDCD&&HRizZ$( z@w$mOOuQ*)Zy9*oz$FE}b*JXq1)SFnKEmQ8P+7(AZK6cZLUvq=I^olpXWTXp@%6m<0u%qmb1dJ6>hOuAL)c%w4s)Pn2f zLT{cav6&dU6CJAllFK-D2XT}y7AxLDqwLW8<>jKou>A|g({y<}V0l@3(edR#a+U8N zh{X_PD;ojAAUAbDT49QnsVGuWIN1s|$KAnLysbOp5vS{ICpPx4^+A%*JLULG-oi<{ z#$5aC0tMMfDRgXeTrKiT6vcGQGx9OdxQlz%ytwU{=PmM{#XyDbh6LhWW3McU16sNL?YNV|Q|6PWMl zxA21aQEtY!=g&{s%RviqiaB&_*m=7;F0qqcvg=D>7qTTM7~09{iK%hMPF}A$^+wrO zV6=it2VCgC(bse~-PiUj+ZT7h^u4fRoQ)Z;QJZ%T2Q$;t?$mo^iWL;sKc2_gDC}=- zMP3Ga=g++;HLx&@5es+XE(^PHw}pNo140Hdq@Yjc|7LSzVHV>S?#BZb4hi=l9~H&{Ww4NjHwKaw;E03|qI63(!y1oKPgA(*r6-T!@g$R7>oqAYq98K4J21H~*`&H&lhSQ1ll_6o z{mCY^^_rB%ZJ8VhOdi0&q`>v{nv@x6nH&sE@+k^UD%ZK@nC9Px20w?UULE=g#%IvF zt`1#?F*Q863NzS}Ngp33DXAmBAX`vxV8azyBL#I8nIQIEEobZBal%rW1w6qO;E0sDWnCIi9qQ>CI;#*WeMsoS%s{CtO!J|2~w{z zw655MhU0xX47t^Bzu_>BFh`s5GmdiPQ+!>%#sts0_||`cW8_r+KE@NI8m90eCduh2 z<2-jq_+HiE;5a!GpU~O~a%p^ueK<)jgH^t1Pm;^x2fl36soHP313a3)%F|*=9!{W?@zN+C;tbDC3d2)1;!3hWJAjrXd_Vt(69i!AlyV895rX z3O`Of;v_47(1b}tAN7vzRmXyc*xoz3#C9-yhpxaFSw+uTInS0<5fs!&VoH;QBCDhY zBKAk1WEQlhC|A-0k=_!qYeKE=k`aj5Fp-uKh_)w}cRF-4imMAB;2E4@5E|acv*c1N z$R#|-SiATsS;F(=RK71$c!8Wo^nG}doDLsbah9AB6zg|n{^5bjVkrs>#Q#40Llf%+@z@JmcOaB6A=c>{G diff --git a/target/classes/com/lz/modules/app/service/impl/StaffServiceImpl.class b/target/classes/com/lz/modules/app/service/impl/StaffServiceImpl.class index 5cf6377b69f66393e28eec48b23ce14b9d8daebc..aab616381489dc16b4460e59bd73aa525e3f6b3c 100644 GIT binary patch delta 693 zcmW;K2T0aI7{~GNbAOY}Ohrf=N-w2lVp)cnXqgQx&9Wc`8&oz3Qlb(p&}<4~S${*Y zVFPlc6};IHjf@7Bnq(7Gqd{fSqAY39gB%>(-RF7kcW`-Gd0FT01xkS36qw=>jvJHk zAsk;OJHvwFWljt(Or<~52qKmUrt2z>89L@OlV!|iE%B^p4x5-uHi?ulk5eRZT15p5 zs3e&iEOa)Gb{9#to5!TcQk{M6=-?IJD{*BNo}}xoYY1kYeKxquV}tHyFo;aN*=U!J zEs(6fikOf%+2-6HV#KjskMp!>2NT)JEOu#%-I`?&#q8A#`F73t3OgaR-chJ>pUV9z zi&P#^c~GUTvRLJzKG{01-chRZu*xGUkE%STvP|W1bthDwbk>Yd7e~3W3T2hbs+65k zR;{c?*;!@hv|+jP*@QML_W}Xb63RuQxkLh&S3Ff|p(<*U1kVM)fl}D1sW69=;6!27vcqVnUO9RiPoet^F zrBnXUWrP>Tg_kCrS0<9zCXP2InYU&Y@5~n7n_Rk0J|9dmpG*m#O)X!{ZN8c&zL_4r zn_hlczVui@{InwZWyR2I#q!(A!w8e%M2bJL`a^S~ LmdgmcGiv02cp|rV delta 693 zcmW;Kc}&l77{KxO^Z8oNQe!Je_>Cehg|xIHVM^rM#4=`OjX%m9S!N}-HN-dCazz`J z4%=_8lr8s^WHp3}IY!!C6IqUD?b$wmd_J$|`8=N^D=jPSVy%yiwCjB0U4!Y%6b2ED zC!x+D-)M=MMlYt*he&*xK?qSyW2VL|7BHKY%psW=)-jij#FEZ@@`$5QSI@DKA{J51 zVs5jKPI-80c>+xWNoj*QX zw)A8~_(#b$=XQT1jx1f?p-DTL#4hb*H_`0T5_`#IpZ2idE(Tp^sRdOz1#N+k(g*8^AU5pR%2jrMz!d~Ru>JJfTR zM()wVeL8qRC$(azmoYpNKN@5*k0pvmnMac>dwer>d^er^ zFkN(7p8T|Y`DKODWkvAYilp00<&U+Azg7nStOFueo*1h@EUQ#ptP1Ikvm~U+IQro& z{c*?u;>49D;>HTm7Z-O@#DlFe*gie=hQpIS;)S~m!ApiRN`^5`h7%;-gvtma^@nDJ LtrCab8aDbrMH{#i diff --git a/target/classes/com/lz/modules/sys/controller/SysUserController.class b/target/classes/com/lz/modules/sys/controller/SysUserController.class index 6989ba88898263a1c2a4ac3b721c5acbf05e564f..ce80376a7df3b5a47eb9ef23c707ceb89984fefe 100644 GIT binary patch delta 2244 zcma)7d013c6#w0sfw#;RaWn}&KlBq#1a#1FPt#J&bRtwzGE2bGP=`SVDo7pI%v{J` znF}Rmlr1KR0pgNvTDEVtYFR1Ma)`+_U_C=Xc(t+*#AtfB1a; zegG*#>KK4h9sO~?jp8 z1&=A%%IC**#G*n+J3PV5lN`NG#Zw&kw2Eg`JgZ?lp7ZP2fl9uuQm~T?Rok%(&vST< zf?5T2I(DO8!5$smQL17uU+v?=eg!XZ^BOT2@36}%_$ zK0XlWWK_uxMv4~Q>qCi;a71Dt1}XSh;uCzT;4_KOk;yk-NF2p61z$>hh2utv78Cxp z#5efX*r+8%HQ=~JBQL}7okSDwPT+gvs1{}Y0Y4h2wI1z%k~oP|3VxRO1;0xChTn}o zdQ#+77^>h8i9c~#;tc*WJo-@oS&6@KPGCrm*W=92@_KTodyAZ&;_R%#Twng2BA+wI zTi~W8Z+dQFt~bx;G}$`Sne(KAto(d;fk3#&o1HtyE%6TnI*%g)$(NLHG-nK?k@#0Y zAfahTMdONrL_&UI~%sIZz$V#YVWG19knNxuWnpd*|gtiSXOar?;?dt5ZKk`>WkMFPxaSf9 zGNk3X1ybY3T@vsR+=f$jtR59<75@J8DgYMxA#sVyU^<1l=Y}~mBinx&ZW;#v5 zEyQfNan>=zEz3tQ>Z~eMv!v`rs7u0)tSB-Q*ayM z=|_E;MmsCTwnY}QsRpyAKAcCof*kr4E%c|-1%q=&QRH;WGu{U`X7I*rz|0GrZznem zxtL{gj_43Sk~v418cZ`Qb);I1u_Ji^QJ9T6^lS^pJJn~dB%k4e6y!=Mn6XHh~A ziJV6tvV1dHf+>D{kZ?TRc_}^uG2}6qN<~wN0{93>i`>nYLb3!@&ZCk{^I~<20^<5v z>N`xPlGVMF>HDaTz+EV2loVP;jpuQ5CEE6(Yo^r^H=z#Q5_Un^gYKENxWdsRu?F!q z=y?DMyOC(Y0mQnJ4nlJz)#38W#Dp4HYS4=#5_hAw1$EFWDWMf1;+LQe?nW=nLm$ki zk@wT#on*RWz{-}5W delta 1882 zcma)-c~n$Y9LGOz26{7(E30U5IM@*q0s=HJ)T|`4lBfu9NiB;cY)>LBt4TD>3R_;8 zrUqu4l?q`vQdrrlZMLtpvS^!?E&qA?-N!f#96HA{%)R&byT9f8{r=u#TE{fz`1TxX z+X>|HuSE{GTVzvbv79?hR(QBGg1fleE6(}|R&tNUz1-(vlHTw4P^H6diwAhn!zzo1 zSZ%UK+YehLv(_Spb$VH^vmf!$pc5NCZ1C`?myJADX7M;r=-Vevp3;prMesDw==5hz zHk)j**h-VOn|0W8CM|m3ra?Y$(aLrYeh)jev(4lMlNXy0R)iVtEz`rxTrF*8tr0ht z6BRpo$>e3lE9^2zvX?{+wJW>{#jh$}<8?(YqfOpWyvbW8yA^vV(Kl}^-r-%7_Z085 z*C4)oRa4j2x}L@*o&Nexf7`yL?LC{M?+1zx`N-bw%^LkNdljGPWh|d6KGUbq`NAN! zYh^<)w|n!(o()?RU-Feb%1Vp-TG7EbCf_Q)<9o#q{Aka$vZC|IH|bP#(XHrVpS{kS z7`7>p6?DA`YNywY}n&nvbFDQkg5%6of0bs(oM^iAlIpqtkaLdEo*ilU7t?jR4J2+#Uu&^ z_i1w9+eF_@mb=r%P?tz4vJ^i@7ztWwH^S%F7iMR4u>c)nI(V5 zVfy8Ap~2-0m(1BxXKFQbxKJM)0WRv}JXgZJT+Ag7=V|fjlQri^X9lyS(;S9LqMpkz ziGbl$aH;H3cpN;zo)zNM;>~l&?}{H6GURzuuu6tJU*6^`oMIWy@Y92Y)2ZY#$&Vya zBIir11Zi=(M7x9I?)6;hNZ?GlQd(-7{il0XV7NX#>Z={5N>BG1O}|?D7+lMB8l|LG zi13F4MsN9uqhOFIIZA0O1* z?P#7T|6;%d{{ z;2-!E#4YVW>4q4NuJ83Zy2r;4&PUaI|9pJ|u#a6ATQ0U;>^ysitf+;`b~2TUj6 zF*vcgj5J+TQlr(7Q|-%81yLMXhMCOD)QY61ZW-?X&t&n-uQ>SIZ_#7moff$?3=9k=4C3qzBJ2#J>4x(-(&J*WMrPK!Qv^$z|6n_RKmo- U&maJ%1sQ~ZG#djWgD?XF0RLJE)Bpeg diff --git a/target/classes/com/lz/modules/sys/entity/SysUserEntity.class b/target/classes/com/lz/modules/sys/entity/SysUserEntity.class index 5ec574e1d04cbf80352f7776da236c7a683735e9..d169be1f2d9607f00d7b56254fcdd803078efa50 100644 GIT binary patch literal 8061 zcmcgxd3;<|6+U+|%bP7pCz&KKEwzO}m!u3J{)E>>N*72?LT%b2MTAK*Bm)e}Tt+dI&JCp}GlCMXorcTBtlVp!T)Z@OaXObBlbfVQ`N+j|HeW8Kh6?3V zakLA;6q?MGO6hSBb?v?3mc2Xg+Pm$>z1MGf`Qa_ET>03`5AWK4&n`UHc(G8K!a3*5 zbLK7s+vH>+Z}S(5DTzoe9~(Q3p&;%(40OX34wkXeN7OoJ{pP7!2T8{c74W!x#Orp} zp3h*n=aoBNdGPK7^;79m>5@Vbfl2JW@2dSx_CezuRpq@j!cNL@Hg5;}L?AX8Kfqh$d@7;YJcHDRGo%`?D0e2#I$`!b?%@w=; zd^t0oDZ(sLEO3|yvL$S(6RA?p=2E-@eRw!Ko(Dk@2R>3UIO-)XMwxfZU~pXH*|j>G z$#H@OGM8erCYjb08%4U6GaGbnN7QsZa=G?=D*=LSa7i|wEiV()G=ITHLH-qmF#uZz zviZzVWpX4_lzGgVTNp)crBPwXYrW_%Ph{bl1$OpK7RD;MOes~`TuNn7KjqD-;msvJ z$|^Zye~f3!_Sq8i7u0(|P!xc5PQkR-K%A1XSvbkqfEiUv@ocS=K#UvI=@NoGEHlG^ zB*U(bGpqxgtl6s?;yB>zTv2w8?F16f)ngkwi=NSK0oRI}05Q8-Q8B7z*HH?Ws$OfG zU+**yTXjfw9awTStDMs?IC8~Te*xT7_%1NU$;6SQEPIyXBj%FQ(!OE0rs zFmq8QorCXcymiLN1)0(E;su*

S7o`CqG0gN5=$rU<8VN%T~7^~L0>GmT3n!mqD` zW~Ht!RINE2E^D4DYo=E5(bm-k1*o=94X7?Cdb@vWdV3m{hf}>Xq7J4fQlYzPRB7y) zve8l3gm%MhQBUitoL2q3uB90gq?#00G2h1t1*=_DY-&w+GdD~v#gTxc7Y?SUWWL}f z1@8v9fJf8$RUBA|6Y0`~>Tzgz{fOJzb^U{@5Ln2;Vy0B#t0Uw@EZkEKj#}kNgr#0Z zA>32-Z>Yz1W}rv;F4&_z73#6w676wc8S$Rl$BgQ^dLE-(P^F5CX1Gu(j%HTNt1nU0 zR*&V^7eT4UZ;l}}3BEY+%27ePH_))pqm?|Y=HYZ6*6=XE z!ypf9=^ZgzN5e5Xi!C2Eyz z9TnR*$Byw*gtl)EV}=Tlp<$WhtY&tk6;8z(a;R?(M;nsSH%G=>0aU~x$FYTz^O(2v z&2dLvA*!j3xmXaRN9la@_3D$UUL&YoE@ca;VfntBy^L>UWN&(EDw9X~EOIwryVJXR zR*i>{1vPlP*Bum3bMe}K90@v};?zwi(3>Hjh<6Vky#@b}I+&k~c@UqLTt_BB!)qN_ zTMBtuiQY!1oK3z_T0Tmr(hBIhNVJis*2ih68QQ80tC&H6L7FGs=2exCv-iN=Pdnu9 zHCi91{(-yqAAI+!%EuLR;O=if*b^mcpmNXJFw@5)Vk&xfnUx3_TBHOaUlO zBbW)Uag4Rb50dYGD1B5lKE~4+ZNbC1souEH(-`fD`?^CpASplKO&M;K zlCKDda!^u!kS_O1qDZ5Zd}lb6YbE6sbR{*(N*w^Tlj>2XY;yH;br~F(>U{kO`Vi3S zq6p#@azk~Kb=X8z^oOx{m3Ljm8a+Q>WzPA}lIQ;jebmb(@kS~6R&*#gNlLuHD$1tY z@HrEg-k#otcT>Q>z4s|Wp+QNr!v&gY zbpkZg>M}bS)TKe4W|s>z%Q69)Wp$e-gSs`yG`nq(f4f(ji&hnNyQ7OebPatRX_6FA z(-yo3`KU)s)3sP@qJ`pqx(_d z1Sw26ixu=qND-PAJ@hF^QQ9qL)6I}#^a8y>w?K;1OY~3rG^A#{mhGWiA+?AgJx`y3 z)GCgqhv+s)Gej@lN1uh15NmLf+aa}ywaDhrL24HTeEHf6DJd%Wes%|>4sjFSs6P*> zQ`}0Y(4COF#3T4t@C8VwcmjU73sN`T4L@B=^FqeIsX0X3UZ;)_eGz{R@j7)WG5miP z?aS~Q6s@1Xf9gJPG6KbYEWp*u@pZqJy4zU5jxQp%1yAX;fi1EP;JYZ6@D3B04T=`D zfzw+TFYzyx#XhTb@dQfUXzkrbp+(bl#Cg1)u>7nr{aRyi15m0qD z1*IzJsL&CVRniJc6`Fyz3fZa-%aAI=QK3aBt4=E{Rp<`dDr~E|tcX-a92I(ovNElx zRH0pHtEjE&wqjBhb5t=~HPebq75ay^ircDLR@~}?=#c8t$2urYVij$t zdl7*Eiev{QA4SA6Bsdq{QAqmxA^B;Uh|mL&0{EWu8hr&)5O03Z(^nydP?(R%7AP+-|i4J@Tegsln98aCJ3sN&De^WPgy@3Tk zl3xfUJpRw=4IHF8_whoK0yey-pp!>&;t-1&KXt%sR9&>(Hc^uF7M2VjKFXkPb`2YX_ literal 6929 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 JyETK`UIj*g{mcLW delta 2461 zcmb7Gc~q2D6#soQ18?}|%>aX-1al!3b7{nh5FBu3Tr(#twM@-= zR;FdyX62HEfl4Y_X_;kN*=AanS(d4lm1Ww!-yopbA05uz_ujqt-TS-S`&iR)ONZdz z3)^-8=z@zndSjs#!)>@5_XsSqB2VC6fyFum7BX2PuvCZ6hx@RMclTTI0Iy0%29^sv zs3RH=MbP14ffY71!Xr#pGFc_?sE#IlI~9-VSdGU8f=}>ijgDq`lF3tie45EKZ1Pzq zYuVm&%zK{63pT97dWNupj~iL#MID<^&byZcDws`?Y-VIHTQN(Zl0{WEY{6C*ZqpHt zYJpcG5{SRuh8@_+!Ww~Bt=Od_4X+8jF7SrHZk4DVQQb`k!>0K?KCg-~r&}#$?m~}- z_Ug2~mE99?PjUy`u0cbIsrH-mw0!1AUdB()QS)puYJ7NXn~XFK_7MShL2<6TEYCf$ z#ACSHLn$}%{U&9(!e?2mRYZi((HceNOm0ZEux{fsxif>v-YNr%X%bD?TTz0t{3@- zlm^tv$d4Vx>nd)Vh-- zQEiVp6wIKvLqi{!=#T0|`~LK(gwvWytBDhK1y83l^(oOoq~W4fqctq43R<~w^0C+cSBg#!eVwhQY#TziKw2IYDDM9TdLsPM3yaJI0>*4?L<&I z(>vA`twMz(2Emi`Cp%_M(C7BtH5tNW7^zP*028tku9;uNS zMJ`5@@i>x&^z%tSBpXAr8;P3+(?!a$MPRJJIDzp36JX|3Z`>r{zDPQk3qvQCX_!dT zFpYo!1@tpv5;>qT_K-U>7tTT2CF=^Z{8Ox0` z(Syuh>MaiVe-QrpjWX8~fzNDaX=u`(MRiG{9v^^$MPfej|@iqu9tImH`t$%I<3rx<~ zOXd8x{{W^LIa?jqv=6(}4Gca+&|AlI6e_7+XIdxs)9drbCDkwkGYuo>;#vibadEmR zhz>L=&W_*FZvJ|xYjj}4|dV85|(np)wL4c^yPd=+KleZ*oqz| zA>w JoA1Yhe*kl*;A;Q? diff --git a/target/classes/logback-spring.xml b/target/classes/logback-spring.xml index 8cd99cce..3c3c33fa 100644 --- a/target/classes/logback-spring.xml +++ b/target/classes/logback-spring.xml @@ -8,7 +8,7 @@ - + diff --git a/target/classes/mapper/sys/SysUserDao.xml b/target/classes/mapper/sys/SysUserDao.xml index 96548e55..8b8ad68c 100644 --- a/target/classes/mapper/sys/SysUserDao.xml +++ b/target/classes/mapper/sys/SysUserDao.xml @@ -2,23 +2,58 @@ - - select m.perms from sys_user_role ur LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id LEFT JOIN sys_menu m on rm.menu_id = m.menu_id where ur.user_id = #{userId} - - select distinct rm.menu_id from sys_user_role ur LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id where ur.user_id = #{userId} - select * from sys_user where username = #{username} + + + +