【登录】安眼统一认证
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 getUserByNameOrWorkNoOrMobile(String username, String password, List<String> personTypes);
|
||||||
|
|
||||||
|
SysUser getUserByNameOrWorkNo(String username, List<String> personTypes);
|
||||||
|
|
||||||
|
|
||||||
Result<SysUserInfoDO> selectUserInfo();
|
Result<SysUserInfoDO> selectUserInfo();
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -121,8 +121,8 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
|||||||
// 检查并更新用户信息
|
// 检查并更新用户信息
|
||||||
checkUserAndUpdate(anYanUserInfo, decryptedPassword);
|
checkUserAndUpdate(anYanUserInfo, decryptedPassword);
|
||||||
|
|
||||||
// 获取本地用户信息
|
// 获取本地用户信息(由于两个平台的密码可能不一致,所以去掉本平台的密码匹配)
|
||||||
SysUser sysUser = sysUserService.getUserByNameOrWorkNoOrMobile(username, decryptedPassword, null);
|
SysUser sysUser = sysUserService.getUserByNameOrWorkNo(username, null);
|
||||||
if (sysUser == null) {
|
if (sysUser == null) {
|
||||||
loginService.addLoginFailOvertimes(username);
|
loginService.addLoginFailOvertimes(username);
|
||||||
return Result.error("账号或密码错误");
|
return Result.error("账号或密码错误");
|
||||||
@@ -172,6 +172,7 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
|||||||
String departId = checkDepartAndUpdate(employeeUnitDTO);
|
String departId = checkDepartAndUpdate(employeeUnitDTO);
|
||||||
if (list.isEmpty()) {
|
if (list.isEmpty()) {
|
||||||
UserEmployee user = getUserEmployee(anYanUserInfo, employeeUnitDTO);
|
UserEmployee user = getUserEmployee(anYanUserInfo, employeeUnitDTO);
|
||||||
|
user.setUsername(anYanUserInfo.getLoginName());
|
||||||
user.setPassword(password);
|
user.setPassword(password);
|
||||||
user.setOrgCode(departId);
|
user.setOrgCode(departId);
|
||||||
user.setPersonType("1");
|
user.setPersonType("1");
|
||||||
@@ -190,7 +191,7 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
|||||||
BeanUtil.copyProperties(user, loginUser);
|
BeanUtil.copyProperties(user, loginUser);
|
||||||
healthUserEmployeeExService.updateUserInfo(user, loginUser);
|
healthUserEmployeeExService.updateUserInfo(user, loginUser);
|
||||||
} else {
|
} else {
|
||||||
ExceptionAssertsUtil.fail("用户工号重复");
|
ExceptionAssertsUtil.fail("用户信息重复!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +207,6 @@ public class LoginAnYanServiceImpl implements ILoginAnYanService {
|
|||||||
UserEmployee user = new UserEmployee();
|
UserEmployee user = new UserEmployee();
|
||||||
user.setExtension(healthUserEmployeeEx);
|
user.setExtension(healthUserEmployeeEx);
|
||||||
user.setWorkNo(employeeUnitDTO.getEmployeeNum());
|
user.setWorkNo(employeeUnitDTO.getEmployeeNum());
|
||||||
user.setUsername(anYanUserInfo.getLoginName());
|
|
||||||
user.setRealname(employeeUnitDTO.getName());
|
user.setRealname(employeeUnitDTO.getName());
|
||||||
user.setEmail(employeeUnitDTO.getEmail());
|
user.setEmail(employeeUnitDTO.getEmail());
|
||||||
user.setPhone(employeeUnitDTO.getMobile());
|
user.setPhone(employeeUnitDTO.getMobile());
|
||||||
|
|||||||
+28
@@ -2006,6 +2006,34 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
return true;
|
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
|
@Override
|
||||||
public SysUser getUserByNameOrWorkNoOrMobile(String username, String password, List<String> personTypes) {
|
public SysUser getUserByNameOrWorkNoOrMobile(String username, String password, List<String> personTypes) {
|
||||||
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user