【登录】安眼统一认证
This commit is contained in:
+2
@@ -515,6 +515,8 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
|
||||
SysUser getUserByNameOrWorkNoOrMobile(String username, String password, List<String> personTypes);
|
||||
|
||||
SysUser getUserByNameOrWorkNo(String username, List<String> personTypes);
|
||||
|
||||
|
||||
Result<SysUserInfoDO> selectUserInfo();
|
||||
|
||||
|
||||
+4
-4
@@ -121,8 +121,8 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
||||
// 检查并更新用户信息
|
||||
checkUserAndUpdate(anYanUserInfo, decryptedPassword);
|
||||
|
||||
// 获取本地用户信息
|
||||
SysUser sysUser = sysUserService.getUserByNameOrWorkNoOrMobile(username, decryptedPassword, null);
|
||||
// 获取本地用户信息(由于两个平台的密码可能不一致,所以去掉本平台的密码匹配)
|
||||
SysUser sysUser = sysUserService.getUserByNameOrWorkNo(username, null);
|
||||
if (sysUser == null) {
|
||||
loginService.addLoginFailOvertimes(username);
|
||||
return Result.error("账号或密码错误");
|
||||
@@ -172,6 +172,7 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
||||
String departId = checkDepartAndUpdate(employeeUnitDTO);
|
||||
if (list.isEmpty()) {
|
||||
UserEmployee user = getUserEmployee(anYanUserInfo, employeeUnitDTO);
|
||||
user.setUsername(anYanUserInfo.getLoginName());
|
||||
user.setPassword(password);
|
||||
user.setOrgCode(departId);
|
||||
user.setPersonType("1");
|
||||
@@ -190,7 +191,7 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
||||
BeanUtil.copyProperties(user, loginUser);
|
||||
healthUserEmployeeExService.updateUserInfo(user, loginUser);
|
||||
} else {
|
||||
ExceptionAssertsUtil.fail("用户工号重复");
|
||||
ExceptionAssertsUtil.fail("用户信息重复!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,7 +207,6 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
||||
UserEmployee user = new UserEmployee();
|
||||
user.setExtension(healthUserEmployeeEx);
|
||||
user.setWorkNo(employeeUnitDTO.getEmployeeNum());
|
||||
user.setUsername(anYanUserInfo.getLoginName());
|
||||
user.setRealname(employeeUnitDTO.getName());
|
||||
user.setEmail(employeeUnitDTO.getEmail());
|
||||
user.setPhone(employeeUnitDTO.getMobile());
|
||||
|
||||
+28
@@ -2006,6 +2006,34 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 获取用户信息
|
||||
* @date 2025/10/31 14:52
|
||||
*/
|
||||
@Override
|
||||
public SysUser getUserByNameOrWorkNo(String username, List<String> personTypes) {
|
||||
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (CollUtil.isNotEmpty(personTypes)) {
|
||||
queryWrapper.in(SysUser::getPersonType, personTypes);
|
||||
}
|
||||
queryWrapper.eq(SysUser::getUsername, username);
|
||||
// 处理工号
|
||||
if (LoginUtils.isWorkNo(username)) {
|
||||
queryWrapper.or()
|
||||
.eq(SysUser::getWorkNo, LoginUtils.getFullWorkNo(username))
|
||||
.or()
|
||||
.eq(SysUser::getWorkNo, LoginUtils.getShortWorkNo(username));
|
||||
}
|
||||
// all user
|
||||
List<SysUser> list = list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return null;
|
||||
} else if (list.size() > 1) {
|
||||
ExceptionAssertsUtil.fail("用户信息重复");
|
||||
}
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysUser getUserByNameOrWorkNoOrMobile(String username, String password, List<String> personTypes) {
|
||||
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
Reference in New Issue
Block a user