fix: 解决供应商登录时无法获取角色问题,解决供应商注册时关联角色时角色id不对的问题
This commit is contained in:
@ -13,10 +13,17 @@ import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface BaseUserMapper extends IBaseMapper<SysUser> {
|
||||
public IPage<BaseUserSelectVo> selectOrgnUser(IPage<BaseUserSelectVo> page, @Param("vo") BaseUserSelect vo);
|
||||
public BaseUserSelectVo getUserById(@Param("id") String id, @Param("orgnId") String orgnId);
|
||||
public List<BaseUserSelectVo> getUserByObject(@Param("vo") BaseUserSelectVo vo);
|
||||
IPage<BaseUserSelectVo> selectOrgnUser(IPage<BaseUserSelectVo> page, @Param("vo") BaseUserSelect vo);
|
||||
|
||||
public List<AuthorityEntity> selectRoleByUserId(@Param("userId") String userId);
|
||||
public List<BaseRoleOrgnVo> selectOrgnByUserId(@Param("userId") String userId);
|
||||
BaseUserSelectVo getUserById(@Param("id") String id, @Param("orgnId") String orgnId);
|
||||
|
||||
List<BaseUserSelectVo> getUserByObject(@Param("vo") BaseUserSelectVo vo);
|
||||
|
||||
List<AuthorityEntity> selectRoleByUserId(@Param("userId") String userId);
|
||||
|
||||
List<AuthorityEntity> selectSupplierRoleByUserId(@Param("userId") String userId);
|
||||
|
||||
List<AuthorityEntity> selectExpertRoleByUserId(@Param("userId") String userId);
|
||||
|
||||
List<BaseRoleOrgnVo> selectOrgnByUserId(@Param("userId") String userId);
|
||||
}
|
||||
|
@ -132,6 +132,41 @@
|
||||
AND u.user_id = #{userId}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectSupplierRoleByUserId" resultType="com.chinaunicom.mall.ebtp.cloud.security.starter.entity.AuthorityEntity">
|
||||
SELECT
|
||||
r.role_id AS roleId,
|
||||
r.role_name AS roleName,
|
||||
r.role_code AS roleCode,
|
||||
r.role_scope AS roleScope
|
||||
FROM
|
||||
sys_supplier_user u,
|
||||
sys_user_role ou,
|
||||
sys_role r
|
||||
WHERE
|
||||
u.user_id = ou.user_id
|
||||
AND ou.role_id = r.role_id
|
||||
AND u.user_id = #{userId}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectExpertRoleByUserId" resultType="com.chinaunicom.mall.ebtp.cloud.security.starter.entity.AuthorityEntity">
|
||||
SELECT
|
||||
r.role_id AS roleId,
|
||||
r.role_name AS roleName,
|
||||
r.role_code AS roleCode,
|
||||
r.role_scope AS roleScope
|
||||
FROM
|
||||
sys_expert_user u,
|
||||
sys_user_role ou,
|
||||
sys_role r
|
||||
WHERE
|
||||
u.user_id = ou.user_id
|
||||
AND ou.role_id = r.role_id
|
||||
AND u.user_id = #{userId}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectOrgnByUserId" resultType="com.coscoshipping.ebtp.system.login.entity.BaseRoleOrgnVo">
|
||||
SELECT
|
||||
r.role_id AS roleId,
|
||||
|
@ -285,7 +285,7 @@ public class BaseUserServiceImpl extends BaseServiceImpl<BaseUserMapper, SysUser
|
||||
BaseSelf baseSelf = userSupplierLogin(user);
|
||||
|
||||
// 1. 查询角色信息
|
||||
List<AuthorityEntity> authorityList = baseUserMapper.selectRoleByUserId(userId);
|
||||
List<AuthorityEntity> authorityList = baseUserMapper.selectSupplierRoleByUserId(userId);
|
||||
|
||||
// 2. 组装BaseCacheUser
|
||||
BaseCacheUser baseCacheUser = new BaseCacheUser();
|
||||
|
@ -130,12 +130,12 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl<SysSupplierUserM
|
||||
// 保存到数据库
|
||||
boolean result = baseMapper.insert(supplierUser) > 0;
|
||||
if (result) {
|
||||
// 为用户关联供应商角色(角色ID: 00006)
|
||||
// 为用户关联供应商角色(角色ID: 000006)
|
||||
SysUserRole userRole = new SysUserRole();
|
||||
userRole.setUserId(String.valueOf(userId));
|
||||
userRole.setRoleId(supplierRole);
|
||||
sysUserRoleService.save(userRole);
|
||||
|
||||
|
||||
// 返回包含明文密码的用户信息(仅用于通知)
|
||||
SysSupplierUser resultUser = new SysSupplierUser();
|
||||
resultUser.setUserId(userId);
|
||||
@ -151,8 +151,8 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl<SysSupplierUserM
|
||||
return resultUser;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
@ -188,13 +188,13 @@ public class SysSupplierUserServiceImpl extends BaseServiceImpl<SysSupplierUserM
|
||||
if (user == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// 使用配置中的重置密码
|
||||
String tempPassword = resetPassword;
|
||||
user.setPassword(Md5Util.encode(tempPassword));
|
||||
user.setFirstLogin(1); // 设置首次登录标识
|
||||
user.setUpdateDate(LocalDateTime.now());
|
||||
|
||||
|
||||
return baseMapper.updateById(user) > 0;
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ spring:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.110.231:8848
|
||||
ip: 192.168.110.109
|
||||
aop:
|
||||
auto: true #开启spring的aop配置
|
||||
proxy-target-class: true
|
||||
@ -227,7 +228,7 @@ mconfig:
|
||||
checkTokenPath: http://10.238.52.52:8100/auth/oauth/check_token
|
||||
xmzxUrl: http://10.238.52.52:8100/
|
||||
role:
|
||||
supplier: 000006
|
||||
supplier: '000006'
|
||||
|
||||
|
||||
# 用户暴露给 prometheus 的健康数据
|
||||
|
Reference in New Issue
Block a user