From 0bcfca6b2561d096a2ce26e2e7200cd0768b2b6d Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 12 五月 2026 09:27:03 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysLoginService.java | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 1 deletions(-)
diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysLoginService.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysLoginService.java
index 52cd945..981ff54 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysLoginService.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/SysLoginService.java
@@ -114,6 +114,54 @@
// recordLogService.recordLogininfor(request, user.getId().intValue(), username, Constants.LOGIN_SUCCESS_STATUS, "登录成功");
return userInfo;
}
+
+ /**
+ * 登录
+ */
+ public LoginUser login(String username, HttpServletRequest request) {
+ username = username.trim();
+ // 查询用户信息
+ SysUser user = userService.selectUserByUserName(username);
+ if (StringUtils.isNull(user)) {
+ throw new ServiceException("帐号不存在或已被删除", I18nKeyConstant.ACCOUNT_NOT_EXISTS);
+ }
+ // 角色集合
+ Set<String> roles = permissionService.getRolePermission(user);
+ // 权限集合
+ Set<String> menuPermission = permissionService.getMenuPermission(user);
+ LoginUser userInfo = new LoginUser();
+ userInfo.setSysUser(user);
+ userInfo.setRoles(roles);
+ userInfo.setPermissions(menuPermission);
+
+ if (StringUtils.isNull(user)) {
+ recordLogService.recordLogininfor(request, null, username, Constants.LOGIN_FAIL_STATUS, "登录用户不存在");
+ throw new ServiceException("用户名/密码错误", I18nKeyConstant.LOGIN_USERNAME_PASSWORD);
+ }
+
+ // 用户名不在指定范围内 错误
+ if (username.length() < UserConstants.USERNAME_MIN_LENGTH
+ || username.length() > UserConstants.USERNAME_MAX_LENGTH) {
+ recordLogService.recordLogininfor(request, user.getId().intValue(), username, Constants.LOGIN_FAIL_STATUS, "用户名不在指定范围");
+ throw new ServiceException("用户名不在指定范围",I18nKeyConstant.LOGIN_USERNAME_NOT_VALID);
+ }
+ // IP黑名单校验
+ String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST));
+ if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) {
+ recordLogService.recordLogininfor(request, user.getId().intValue(), username, Constants.LOGIN_FAIL_STATUS, "很遗憾,访问IP已被列入系统黑名单");
+ throw new ServiceException("很遗憾,访问IP已被列入系统黑名单", I18nKeyConstant.LOGIN_BLACK_LIST);
+ }
+
+ if (user.getDeleted()) {
+ recordLogService.recordLogininfor(request, user.getId().intValue(), username, Constants.LOGIN_FAIL_STATUS, "对不起,您的账号已被删除");
+ throw new ServiceException("对不起,您的账号:" + username + " 已被删除");
+ }
+ if (Integer.valueOf("1").equals(user.getStatus())) {
+ recordLogService.recordLogininfor(request, user.getId().intValue(), username, Constants.LOGIN_FAIL_STATUS, "用户已停用,请联系管理员");
+ throw new ServiceException("您的账号:" + username + " 已禁用", I18nKeyConstant.LOGIN_ACCOUNT_DISABLED, new Object[]{username});
+ }
+ return userInfo;
+ }
public void logout(String loginName, HttpServletRequest request) {
recordLogService.recordLogininfor(request, null, loginName, Constants.LOGIN_SUCCESS_STATUS, "退出成功");
@@ -179,6 +227,8 @@
operationsUserService.updateById(operationsUser);
return loginOperationUser;
}
+
+
public LoginOperationUser verificationCodeLogin(String phoneNumber, String code, Integer deviceType, HttpServletRequest request) {
LoginOperationUser loginOperationUser = new LoginOperationUser();
phoneNumber = phoneNumber.trim();
@@ -213,7 +263,30 @@
operationsUserService.updateById(operationsUser);
return loginOperationUser;
}
- public Boolean verificationCodeUpdate(UpdatePasswordDTO updatePasswordDTO, HttpServletRequest request) {
+
+
+ public LoginOperationUser verificationCodeLogin(String phoneNumber, Integer deviceType, HttpServletRequest request) {
+ LoginOperationUser loginOperationUser = new LoginOperationUser();
+ phoneNumber = phoneNumber.trim();
+ // 查询运维用户信息
+ XpOperationsUser operationsUser = operationsUserService.lambdaQuery().eq(
+ XpOperationsUser::getPhoneNumber, phoneNumber
+ ).last("limit 1").one();
+ if (StringUtils.isNull(operationsUser)) {
+ throw new ServiceException("验证码错误!");
+ }
+ if (!operationsUser.getStatus()){
+ throw new ServiceException("账号已禁用!");
+ }
+ loginOperationUser.setXpOperationsUser(operationsUser);
+ //更新用户登录设备类型
+ operationsUser.setDeviceType(deviceType);
+ operationsUserService.updateById(operationsUser);
+ return loginOperationUser;
+ }
+
+
+ public Boolean verificationCodeUpdate(UpdatePasswordDTO updatePasswordDTO, HttpServletRequest request) {
String phoneNumber = updatePasswordDTO.getPhoneNumber();
String code = updatePasswordDTO.getVerificationCode();
phoneNumber = phoneNumber.trim();
--
Gitblit v1.7.1