oss单点登录

This commit is contained in:
赵辉
2026-07-08 18:42:53 +08:00
parent 9a58a7b41c
commit 9cb99c915d
14 changed files with 392 additions and 10 deletions
@@ -2942,6 +2942,33 @@ public class UserApplicationService {
return null;
}
/**
* 仅根据用户登录账号获取用户信息不区分组织SSO等场景使用
*/
public LoginUser getUserByUserAccount(String userAccount) {
UserPo userPo = userDomainService.findByUserAccount(userAccount);
if (ObjectUtil.isNotNull(userPo)) {
LoginUser sysUser = new LoginUser();
sysUser.setUserid(userPo.getUserId());
sysUser.setUsername(userPo.getUserAccount());
UserDriverPo userDriverPo = userDriverDomainService.selectByUserId(userPo.getUserId());
UserShipperPo userShipperPo = userShipperDomainService.selectByUserId(userPo.getUserId());
sysUser.setUserPo(userPo);
com.mhd.common.core.domain.po.UserDriverPo userDriverPo1 = new com.mhd.common.core.domain.po.UserDriverPo();
if(userDriverPo != null){
BeanUtils.copyProperties(userDriverPo, userDriverPo1);
}
sysUser.setUserDriverPo(userDriverPo1);
com.mhd.common.core.domain.po.UserShipperPo userShipperPo1 = new com.mhd.common.core.domain.po.UserShipperPo();
if (userShipperPo != null){
BeanUtils.copyProperties(userShipperPo, userShipperPo1);
}
sysUser.setUserShipperPo(userShipperPo1);
return sysUser;
}
return null;
}
/**
* @Description 根据用户账号和组织账号获取组织用户信息
* @Author Alex
@@ -31,6 +31,12 @@ public interface UserRepositoryInterface extends IService<UserEntity> {
UserPo findByTopOrganizationIdAndUserAccount(UserDO userDO);
/**
* 仅根据用户登录账号查询用户(不区分组织,SSO等场景使用)
*/
UserPo findByUserAccount(String userAccount);
UserPo getUserByDingUserId(String dingUserId);
UserPo selectUserShipperList(UserPo userPo);
@@ -33,6 +33,11 @@ public interface UserMapper extends BaseMapper<UserEntity> {
UserPo findByTopOrganizationIdAndUserAccount(UserDO userDO);
/**
* 仅根据用户登录账号查询用户(不区分组织,SSO等场景使用)
*/
UserPo findByUserAccount(@Param("userAccount") String userAccount);
UserPo getUserByDingUserId(@Param("dingUserId") String dingUserId);
UserPo findByTopOrganizationIdAndUserPhone(UserDO userDO);
@@ -79,6 +79,11 @@ public class UserRepositoryImpl extends ServiceImpl<UserMapper,UserEntity> imple
return userMapper.findByTopOrganizationIdAndUserAccount(userDO);
}
@Override
public UserPo findByUserAccount(String userAccount) {
return userMapper.findByUserAccount(userAccount);
}
@Override
public UserPo getUserByDingUserId(String dingUserId) {
return userMapper.getUserByDingUserId(dingUserId);
@@ -82,6 +82,13 @@ public class UserDomainService {
return userRepositoryInterface.findByTopOrganizationIdAndUserAccount(userDO);
}
/**
* 仅根据用户登录账号查询用户(不区分组织,SSO等场景使用)
*/
public UserPo findByUserAccount(String userAccount) {
return userRepositoryInterface.findByUserAccount(userAccount);
}
public UserPo getUserByDingUserId(String dingUserId) {
return userRepositoryInterface.getUserByDingUserId(dingUserId);
}
@@ -500,6 +500,13 @@ public class UserAPI extends BaseController {
return R.ok(sysUserVo, "操作成功");
}
@ApiOperation("仅根据用户登录账号获取用户信息(不区分组织,SSO等场景)")
@GetMapping("/getUserByUserAccount")
public R<LoginUser> getUserByUserAccount(@RequestParam(value = "userAccount") String userAccount) {
LoginUser sysUserVo = userApplicationService.getUserByUserAccount(userAccount);
return R.ok(sysUserVo, "操作成功");
}
@ApiOperation("根据用户钉钉用户id获取用户信息")
@GetMapping("/getUserByDingUserId")
public R<LoginUser> getUserByDingUserId(@RequestParam(value = "dingUserId") String dingUserId) {