From 700d0bdb308d1c417fb038024b59b5b9097bf030 Mon Sep 17 00:00:00 2001 From: chenjinlong <22208488@qq.com> Date: Sun, 10 Jan 2021 18:38:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=90sysUser=E3=80=91=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=AF=86=E7=A0=81=E6=96=B9=E6=B3=95=20=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=85=8D=E7=BD=AE=E6=8C=AA=E8=87=B3=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=9F=BA=E7=A1=80=E8=AE=BE=E7=BD=AE=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/auth/api/expander/AuthConfigExpander.java | 10 ---------- .../kernel/system/expander/SystemConfigExpander.java | 12 ++++++++++++ .../modular/user/factory/SysUserCreateFactory.java | 4 ++-- .../user/service/impl/SysUserServiceImpl.java | 8 ++++---- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/expander/AuthConfigExpander.java b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/expander/AuthConfigExpander.java index 3f7cc22aa..e98e28c51 100644 --- a/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/expander/AuthConfigExpander.java +++ b/kernel-d-auth/auth-api/src/main/java/cn/stylefeng/roses/kernel/auth/api/expander/AuthConfigExpander.java @@ -110,16 +110,6 @@ public class AuthConfigExpander { return ConfigContext.me().getSysConfigValueWithDefault("SYS_AUTH_PARAM_NAME", String.class, DEFAULT_AUTH_PARAM_NAME); } - /** - * 获取默认密码 - * - * @author luojie - * @date 2020/11/6 10:05 - */ - public static String getDefaultPassWord() { - return ConfigContext.me().getSysConfigValueWithDefault("SYS_DEFAULT_PASSWORD", String.class, DEFAULT_PASSWORD); - } - /** * 会话信息是否增加保存在 cookie 中 *

diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/expander/SystemConfigExpander.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/expander/SystemConfigExpander.java index 55065acc2..094b3b841 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/expander/SystemConfigExpander.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/expander/SystemConfigExpander.java @@ -3,6 +3,8 @@ package cn.stylefeng.roses.kernel.system.expander; import cn.stylefeng.roses.kernel.config.api.context.ConfigContext; import cn.stylefeng.roses.kernel.system.constants.SystemConstants; +import static cn.stylefeng.roses.kernel.auth.api.constants.AuthConstants.DEFAULT_PASSWORD; + /** * 系统的一些基础信息 * @@ -51,4 +53,14 @@ public class SystemConfigExpander { return ConfigContext.me().getSysConfigValueWithDefault("SYS_SYSTEM_NAME", String.class, SystemConstants.DEFAULT_SYSTEM_NAME); } + /** + * 获取默认密码 + * + * @author luojie + * @date 2020/11/6 10:05 + */ + public static String getDefaultPassWord() { + return ConfigContext.me().getSysConfigValueWithDefault("SYS_DEFAULT_PASSWORD", String.class, DEFAULT_PASSWORD); + } + } diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java index 998782767..8d80c0815 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java @@ -3,11 +3,11 @@ package cn.stylefeng.roses.kernel.system.modular.user.factory; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; -import cn.stylefeng.roses.kernel.auth.api.expander.AuthConfigExpander; import cn.stylefeng.roses.kernel.auth.api.password.PasswordStoredEncryptApi; import cn.stylefeng.roses.kernel.rule.enums.SexEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.system.enums.UserStatusEnum; +import cn.stylefeng.roses.kernel.system.expander.SystemConfigExpander; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; @@ -36,7 +36,7 @@ public class SysUserCreateFactory { // 密码为空则设置为默认密码 PasswordStoredEncryptApi passwordStoredEncryptApi = SpringUtil.getBean(PasswordStoredEncryptApi.class); if (ObjectUtil.isEmpty(sysUser.getPassword())) { - String defaultPassword = AuthConfigExpander.getDefaultPassWord(); + String defaultPassword = SystemConfigExpander.getDefaultPassWord(); sysUser.setPassword(passwordStoredEncryptApi.encrypt(defaultPassword)); } else { // 密码不为空,则将密码加密存储到库中 diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java index 05d8e0c50..d349ba32b 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.auth.api.SessionManagerApi; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; -import cn.stylefeng.roses.kernel.auth.api.expander.AuthConfigExpander; import cn.stylefeng.roses.kernel.auth.api.password.PasswordStoredEncryptApi; import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleUserInfo; @@ -22,14 +21,13 @@ import cn.stylefeng.roses.kernel.system.RoleServiceApi; import cn.stylefeng.roses.kernel.system.enums.UserStatusEnum; import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum; +import cn.stylefeng.roses.kernel.system.expander.SystemConfigExpander; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; import cn.stylefeng.roses.kernel.system.modular.user.factory.SysUserCreateFactory; import cn.stylefeng.roses.kernel.system.modular.user.factory.UserLoginInfoFactory; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper; -import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO; -import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; @@ -37,8 +35,10 @@ import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService; import cn.stylefeng.roses.kernel.system.pojo.organization.DataScopeResponse; import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse; +import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO; import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse; import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.util.DataScopeUtil; import com.alibaba.excel.support.ExcelTypeEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -209,7 +209,7 @@ public class SysUserServiceImpl extends ServiceImpl impl SysUser sysUser = this.querySysUser(sysUserRequest); // 获取系统配置的默认密码 - String password = AuthConfigExpander.getDefaultPassWord(); + String password = SystemConfigExpander.getDefaultPassWord(); sysUser.setPassword(passwordStoredEncryptApi.encrypt(password)); this.updateById(sysUser); From dcf4a0bf36efc7b385fa00619c772879ce0984ea Mon Sep 17 00:00:00 2001 From: chenjinlong <22208488@qq.com> Date: Tue, 12 Jan 2021 19:55:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90SysUserRule=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E5=88=86=E9=85=8D?= =?UTF-8?q?=E8=A7=92=E8=89=B2ID=E9=9B=86=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/user/pojo/response/SysUserResponse.java | 5 +++++ .../modular/user/service/SysUserRoleService.java | 10 ++++++++++ .../user/service/impl/SysUserRoleServiceImpl.java | 11 ++++++++++- .../modular/user/service/impl/SysUserServiceImpl.java | 3 +++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/response/SysUserResponse.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/response/SysUserResponse.java index 8403d336e..1c5875cff 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/response/SysUserResponse.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/response/SysUserResponse.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; +import java.util.List; /** * 系统用户结果 @@ -80,4 +81,8 @@ public class SysUserResponse { */ private Integer statusFlag; + /** + * 用户角色id + */ + private List grantRoleIdList; } diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java index c0f2552cc..19ebf8518 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java @@ -23,6 +23,16 @@ public interface SysUserRoleService extends IService { */ List getUserRoles(Long userId); + /** + * 获取账号绑定的角色id集合 + * + * @param userId 用户id + * @return 角色id集合 + * @author chenjinlong + * @date 2021/1/12 19:42 + */ + List getUserRoleIds(Long userId); + /** * 给某个用户授权角色 * diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java index 25e8bbc00..cd769ecf4 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java @@ -4,8 +4,8 @@ import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserRoleMapper; -import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 系统用户角色service接口实现类 @@ -37,6 +38,14 @@ public class SysUserRoleServiceImpl extends ServiceImpl getUserRoleIds(Long userId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysUserRole::getUserId, userId); + List list = this.list(wrapper); + return list.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); + } + @Override @Transactional(rollbackFor = Exception.class) public void grantRole(SysUserRequest sysUserRequest) { diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java index d349ba32b..2579c73ab 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java @@ -313,6 +313,9 @@ public class SysUserServiceImpl extends ServiceImpl impl sysUserResponse.setOrgId(userOrgInfo.getOrgId()); sysUserResponse.setPositionId(userOrgInfo.getPositionId()); + // 获取用户角色信息 + sysUserResponse.setGrantRoleIdList(sysUserRoleService.getUserRoleIds(sysUser.getUserId())); + return sysUserResponse; } From ffc37d9259a6b6010f4e4f611e24a318ab83fd34 Mon Sep 17 00:00:00 2001 From: chenjinlong <22208488@qq.com> Date: Tue, 12 Jan 2021 20:55:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E3=80=90SysUserMapper=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84=E5=AD=90=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/modular/user/mapper/mapping/SysUserMapper.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserMapper.xml b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserMapper.xml index 7aa78a465..09c7154c1 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserMapper.xml +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/mapping/SysUserMapper.xml @@ -22,16 +22,16 @@ left join sys_user_org suorg on suser.user_id = suorg.user_id - and sys_user.real_name like concat('%',#{sysUserRequest.realName},'%') + and suser.real_name like concat('%',#{sysUserRequest.realName},'%') - and sys_user.account like concat('%',#{sysUserRequest.account},'%') + and suser.account like concat('%',#{sysUserRequest.account},'%') - and sys_user.status_flag like concat('%',#{sysUserRequest.statusFlag},'%') + and suser.status_flag like concat('%',#{sysUserRequest.statusFlag},'%') - and suorg.org_id = #{sysUserRequest.orgId} + and suorg.org_id in(select org_id from hr_organization where org_pids like CONCAT('%[',#{sysUserRequest.orgId},']%') or org_id=#{sysUserRequest.orgId}) and suser.del_flag = 'N' order by suser.create_time desc