Переглянути джерело

fix 修复用户登录问题

杨兴卓 1 місяць тому
батько
коміт
b4e05ede7e

+ 5 - 2
xyzc-common/xyzc-common-core/src/main/java/com/xyzc/common/core/exception/ErrorCode.java

@@ -57,7 +57,7 @@ public enum ErrorCode {
     PARAM_NOT_EMPTY(3000, "必填参数不能为空"),
 
 
-    // 用户燃料不足
+    // comfyui报错信息
     COMFYUI_NOT_MODEL(11001, "请选择模板类型"),
     COMFYUI_NOT_MODEL_TYPE(11002, "请选择对应的模板类型"),
     COMFYUI_UP_PIC(11003, "请上传图片"),
@@ -68,8 +68,11 @@ public enum ErrorCode {
     COMFYUI_INPUT_PRIMITIVE(11007, "请输入正向提示词!"),
     COMFYUI_INPUT_OPPOSITEPRIMITIVE(11008, "请输入反向提示词!!"),
     COMFYUI_INPUT_WIDTH_SIZE(11009, "请输入宽度512-2024!"),
-    COMFYUI_INPUT_HEIGHT_SIZE(11010, "请输入高度512-2024!");
+    COMFYUI_INPUT_HEIGHT_SIZE(11010, "请输入高度512-2024!"),
+    COMFYUI_MINIO_CONFIG(11011, "请先配置minio信息"),
 
+    // 数字人报错信息
+    NUMERSON_NO(11012, "无效请求");
 
 
     // 5000自定义编码

+ 1 - 0
xyzc-common/xyzc-common-web/src/main/java/com/xyzc/common/web/security/filter/AuthenticationTokenFilter.java

@@ -47,6 +47,7 @@ public class AuthenticationTokenFilter extends OncePerRequestFilter {
             return;
         }
 
+        //TODO: 单独写一个接口让前端刷新TOKEN
         //如果user不为空,刷新token的过期时间
         tokenStoreCache.refreshExpire(accessToken);
 

+ 12 - 21
xyzc-common/xyzc-common-web/src/main/java/com/xyzc/common/web/security/mobile/MobileAuthenticationProvider.java

@@ -34,33 +34,24 @@ public class MobileAuthenticationProvider implements AuthenticationProvider, Ini
 
     @Override
     public Authentication authenticate(Authentication authentication) throws AuthenticationException {
-        Assert.isInstanceOf(MobileAuthenticationToken.class, authentication,
-                () -> messages.getMessage(
-                        "MobileAuthenticationProvider.onlySupports",
-                        "Only MobileAuthenticationProvider is supported"));
 
         MobileAuthenticationToken authenticationToken = (MobileAuthenticationToken) authentication;
         String mobile = authenticationToken.getName();
         String code = (String) authenticationToken.getCredentials();
 
-        try {
+
+        // 测试用,跳过短信验证
+        if ("17600010020".equals(mobile)) {
+            UserDetails userDetails = mobileUserDetailsService.loadUserByMobile(mobile);
+            return createSuccessAuthentication(authentication, userDetails);
+        }
+        // 短信验证码效验
+        if (mobileVerifyCodeService.verifyCode(mobile, code)) {
             UserDetails userDetails = mobileUserDetailsService.loadUserByMobile(mobile);
-            if (userDetails == null) {
-                throw new BadCredentialsException("Bad credentials");
-            }
-            // 测试用,跳过短信验证
-            if("17600010020".equals(mobile)){
-                return createSuccessAuthentication(authentication, userDetails);
-            }
-            // 短信验证码效验
-            if (mobileVerifyCodeService.verifyCode(mobile, code)) {
-                return createSuccessAuthentication(authentication, userDetails);
-            } else {
-                throw new BadCredentialsException("mobile code is not matched");
-            }
-        } catch (UsernameNotFoundException ex) {
-            throw new BadCredentialsException(this.messages
-                    .getMessage("MobileAuthenticationProvider.badCredentials", "Bad credentials"));
+
+            return createSuccessAuthentication(authentication, userDetails);
+        } else {
+            throw new BadCredentialsException("mobile code is not matched");
         }
 
     }

+ 1 - 2
xyzc-common/xyzc-common-web/src/main/java/com/xyzc/common/web/security/mobile/MobileUserDetailsService.java

@@ -16,7 +16,6 @@ public interface MobileUserDetailsService {
      *
      * @param mobile 手机号
      * @return 用户信息
-     * @throws UsernameNotFoundException 不存在异常
      */
-    UserDetails loadUserByMobile(String mobile) throws UsernameNotFoundException;
+    UserDetails loadUserByMobile(String mobile);
 }

+ 1 - 1
xyzc-start/src/main/java/com/xyzc/start/controller/UserAuthController.java

@@ -68,7 +68,7 @@ public class UserAuthController {
             return Result.error("短信发送失败!");
         }
 
-        return Result.ok();
+        return Result.ok("发送成功");
     }
 
     /**

+ 17 - 6
xyzc-start/src/main/java/com/xyzc/start/security/MobileUserDetailsServiceImpl.java

@@ -1,7 +1,10 @@
 package com.xyzc.start.security;
 
+import com.xyzc.common.core.exception.ErrorCode;
+import com.xyzc.common.core.exception.ServerException;
 import com.xyzc.common.web.security.mobile.MobileUserDetailsService;
 import com.xyzc.common.web.security.user.UserDetail;
+import com.xyzc.start.constant.BaseUserConst;
 import com.xyzc.start.convert.BaseUserConvert;
 import com.xyzc.start.domain.BaseUser;
 import com.xyzc.start.mapper.BaseUserMapper;
@@ -24,19 +27,27 @@ public class MobileUserDetailsServiceImpl implements MobileUserDetailsService {
 
 
     @Override
-    public UserDetails loadUserByMobile(String mobile) throws UsernameNotFoundException {
+    public UserDetails loadUserByMobile(String mobile) {
         BaseUser userEntity = baseUserMapper.queryDetailByMobile(mobile, 1810310843224322049L);
+
+        // TODO: 后期新添加用户抽离出来不要放在这里
+        // 未发现用户就保存用户信息
+        BaseUser baseUser = new BaseUser();
         if (userEntity == null) {
-            throw new UsernameNotFoundException("手机号错误");
+            baseUser.setUserName(mobile);
+            baseUser.setMobile(mobile);
+            baseUser.setStatus(BaseUserConst.NORMAL_STATUS);
+            baseUser.setSurplusFuel(10L);
+
+            //TODO :代理商id
+            baseUser.setAgentMerId(1810310843224322049L);
+            baseUserMapper.insert(baseUser);
         }
 
         // 用户详细信息
         // 转换成UserDetail对象
         UserDetail userDetail = BaseUserConvert.INSTANCE.convertDetail(userEntity);
-        userDetail.setUsername(userEntity.getUserName());
-
-        // TODO: 会员卡列表
-
+        userDetail.setUsername(baseUser.getUserName());
 
         // 账号不可用
 //        if (userEntity.getStatus() == UserStatusEnum.DISABLE.getValue()) {

+ 4 - 20
xyzc-start/src/main/java/com/xyzc/start/service/impl/UserAuthServiceImpl.java

@@ -60,9 +60,9 @@ public class UserAuthServiceImpl implements IUserAuthService {
     @Transactional(rollbackFor = Exception.class)
     public boolean sendCode(UserMobileLoginBO login) {
         //todo 后续删除
-        if (login != null) {
-            return true;
-        }
+//        if (login != null) {
+//            return true;
+//        }
 
         // 验证图形验证码
         boolean validate = captchaService.validate(login.getKey(), login.getCode());
@@ -81,23 +81,7 @@ public class UserAuthServiceImpl implements IUserAuthService {
         BaseUser user = baseUserMapper.queryDetailByMobile(login.getMobile(), 1810310843224322049L);
 
         // 发送短信
-        boolean sendFlag = smsService.sendCode(login.getMobile(), "code", code);
-
-        // TODO: 后期新添加用户抽离出来不要放在这里
-        // 未发现用户就保存用户信息
-        if (user == null) {
-            BaseUser baseUser = new BaseUser();
-            baseUser.setUserName(login.getMobile());
-            baseUser.setMobile(login.getMobile());
-            baseUser.setStatus(BaseUserConst.NORMAL_STATUS);
-            baseUser.setSurplusFuel(10L);
-
-            //TODO :代理商id
-            baseUser.setAgentMerId(1810310843224322049L);
-            baseUserMapper.insert(baseUser);
-        }
-
-        return sendFlag;
+        return smsService.sendCode(login.getMobile(), "code", code);
     }
 
     @Override