Преглед изворни кода

账户体系回退(注释代码先不要删除)

root пре 3 година
родитељ
комит
7a307b8ebf

+ 3 - 17
src/main/java/com/zhiqiyun/open/core/service/impl/OauthServiceRedisImpl.java

@@ -73,7 +73,7 @@ public class OauthServiceRedisImpl extends BaseOauthService {
             }
 
             //同步畅行账户体系数据
-            return loadUnified(accessToken, oauthInfo);
+//            return loadUnified(accessToken, oauthInfo);
         } catch (Exception e) {
             log.error("get oauth error", e);
         }
@@ -101,14 +101,7 @@ public class OauthServiceRedisImpl extends BaseOauthService {
             if (userBaseInfo != null) {
                 List<String> listAuthorities = userBaseInfoMapper.findUserAuthorities(userBaseInfo.getId());
 
-                oauthInfo = new OauthInfo()
-                        .setId(userBaseInfo.getId())
-                        .setAccessToken(accessToken)
-                        .setNickName(userBaseInfo.getNickName())
-                        .setAvatar(userBaseInfo.getAvatar())
-                        .setLoginTime(DateUtil.current())
-                        .setGender(userBaseInfo.getGender())
-                        .setAuthorities(listAuthorities);
+                oauthInfo = new OauthInfo().setId(userBaseInfo.getId()).setAccessToken(accessToken).setNickName(userBaseInfo.getNickName()).setAvatar(userBaseInfo.getAvatar()).setLoginTime(DateUtil.current()).setGender(userBaseInfo.getGender()).setAuthorities(listAuthorities);
                 setAuth(accessToken, oauthInfo);
             } else {
                 List<UserLoginAccount> loginAccounts = new ArrayList<>();
@@ -136,14 +129,7 @@ public class OauthServiceRedisImpl extends BaseOauthService {
                     loginAccount.setUid(baseInfo.getId());
                     userLoginAccountMapper.insertOrUpdate(loginAccount);
                 }
-                oauthInfo = new OauthInfo()
-                        .setId(baseInfo.getId())
-                        .setAccessToken(accessToken)
-                        .setNickName(baseInfo.getNickName())
-                        .setAvatar(baseInfo.getAvatar())
-                        .setLoginTime(DateUtil.current())
-                        .setGender(baseInfo.getGender())
-                        .setAuthorities(new ArrayList<>());
+                oauthInfo = new OauthInfo().setId(baseInfo.getId()).setAccessToken(accessToken).setNickName(baseInfo.getNickName()).setAvatar(baseInfo.getAvatar()).setLoginTime(DateUtil.current()).setGender(baseInfo.getGender()).setAuthorities(new ArrayList<>());
                 setAuth(accessToken, oauthInfo);
             }
         }

+ 50 - 53
src/main/java/com/zhiqiyun/open/mvc/controller/OauthController.java

@@ -1,10 +1,8 @@
 package com.zhiqiyun.open.mvc.controller;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.dliyun.Response;
 import com.zhiqiyun.open.annotation.Permission;
 import com.zhiqiyun.open.core.enmus.AccountType;
 import com.zhiqiyun.open.core.enmus.PasswordType;
@@ -16,10 +14,7 @@ import com.zhiqiyun.open.mvc.params.ChangePasswordParam;
 import com.zhiqiyun.open.mvc.params.LoginParam;
 import com.zhiqiyun.open.mvc.params.QueryPageParams;
 import com.zhiqiyun.open.mvc.params.SaveUserBaseInfoParam;
-import com.zhiqiyun.open.utils.DateUtil;
-import com.zhiqiyun.open.utils.RandomUtil;
-import com.zhiqiyun.open.utils.ServletContext;
-import com.zhiqiyun.open.utils.Token;
+import com.zhiqiyun.open.utils.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -52,8 +47,8 @@ public class OauthController {
     @Autowired
     private ThreadPoolTaskExecutor threadPoolTaskExecutor;
 
-    @Autowired
-    private UnifiedLoginService unifiedLoginService;
+//    @Autowired
+//    private UnifiedLoginService unifiedLoginService;
 
     @PostMapping("/getCaptcha")
     public Result captcha() {
@@ -79,13 +74,13 @@ public class OauthController {
     public Result login(@Valid @RequestBody LoginParam loginParam) {
         UserLoginLog userLoginLog = new UserLoginLog();
         try {
-//            AccountType accountType = null;
-//            if (PatternUtils.validExpression(loginParam.getLoginAccount(), PatternUtils.MOBILE_EXPRESSION)) {
-//                accountType = AccountType.mp;
-//            }
-//            if (PatternUtils.validExpression(loginParam.getLoginAccount(), PatternUtils.EMAIL_EXPRESSION)) {
-//                accountType = AccountType.email;
-//            }
+            AccountType accountType = null;
+            if (PatternUtils.validExpression(loginParam.getLoginAccount(), PatternUtils.MOBILE_EXPRESSION)) {
+                accountType = AccountType.mp;
+            }
+            if (PatternUtils.validExpression(loginParam.getLoginAccount(), PatternUtils.EMAIL_EXPRESSION)) {
+                accountType = AccountType.email;
+            }
             userLoginLog.setLoginAccount(loginParam.getLoginAccount());
 
             boolean compareCaptchaResult = this.captchaService.compareCaptcha(loginParam.getCaptcha(), loginParam.getToken(), true);
@@ -93,48 +88,50 @@ public class OauthController {
                 userLoginLog.setState(UserLoginLogState.CAPTCHA_ERROR);
                 return Result.instance("验证码错误,请重新输入");
             }
-//            UserLoginAccount userLoginAccount = this.userBaseInfoService.findLoginAccount(loginParam.getLoginAccount());
-//            if (userLoginAccount == null) {
-//                userLoginLog.setState(UserLoginLogState.ACCOUNT_NOT_EXIST);
-//                return Result.instance("用户名或密码错误,请重新输入");
-//            } else {
-            Response<JSONObject> response = unifiedLoginService.login(loginParam.getLoginAccount(), loginParam.getLoginPassword());
-            if (!response.isSuccessful() || response.getBody() == null) {
+            UserLoginAccount userLoginAccount = this.userBaseInfoService.findLoginAccount(loginParam.getLoginAccount());
+            if (userLoginAccount == null) {
                 userLoginLog.setState(UserLoginLogState.ACCOUNT_NOT_EXIST);
                 return Result.instance("用户名或密码错误,请重新输入");
-            }
-            System.out.println(response.getBody().toJSONString());
-            userLoginLog.setAccountType(AccountType.email);
-            UserBaseInfo userBaseInfo = this.userBaseInfoService.selectUnified(response.getBody().getLong("user_id"));
-
-//            UserPassword userPassword = this.userBaseInfoService.findPassword(userBaseInfo.getId(), PasswordType.login);
-
-//            String loginPassword = this.oauthService.generatePassword(loginParam.getLoginPassword(), userPassword.getSalt());
-//            if (loginPassword.equals(userPassword.getPasswd())) {
-
-            List<String> listAuthorities = this.userBaseInfoService.findUserAuthorities(userBaseInfo.getId());
-
-//            String accessToken = Token.init(ServletContext.getRemoteIPAddress()).toTokenString();
-            String accessToken = response.getBody().getString("access_token");
-            String refreshToken = response.getBody().getString("refresh_token");
-            OauthInfo oauthInfo = new OauthInfo()
-                    .setId(userBaseInfo.getId())
-                    .setAccessToken(accessToken)
-                    .setRefreshToken(refreshToken)
-                    .setNickName(userBaseInfo.getNickName())
-                    .setAvatar(userBaseInfo.getAvatar())
-                    .setLoginTime(DateUtil.current())
-                    .setGender(userBaseInfo.getGender())
-                    .setAuthorities(listAuthorities);
-
-            this.oauthService.setAuth(accessToken, oauthInfo);
-            userLoginLog.setState(UserLoginLogState.SUCCESS);
-            return Result.instance(Result.Code.SUCCESS).setData(oauthInfo);
-//            } else {
-//                userLoginLog.setState(UserLoginLogState.PASSWORD_ERROR);
+            } else {
+//            Response<JSONObject> response = unifiedLoginService.login(loginParam.getLoginAccount(), loginParam.getLoginPassword());
+//            if (!response.isSuccessful() || response.getBody() == null) {
+//                userLoginLog.setState(UserLoginLogState.ACCOUNT_NOT_EXIST);
 //                return Result.instance("用户名或密码错误,请重新输入");
 //            }
-//            }
+//            System.out.println(response.getBody().toJSONString());
+//            userLoginLog.setAccountType(AccountType.email);
+                userLoginLog.setAccountType(accountType);
+//            UserBaseInfo userBaseInfo = this.userBaseInfoService.selectUnified(response.getBody().getLong("user_id"));
+                UserBaseInfo userBaseInfo = this.userBaseInfoService.getById(userLoginAccount.getUid());
+
+                UserPassword userPassword = this.userBaseInfoService.findPassword(userBaseInfo.getId(), PasswordType.login);
+
+                String loginPassword = this.oauthService.generatePassword(loginParam.getLoginPassword(), userPassword.getSalt());
+                if (loginPassword.equals(userPassword.getPasswd())) {
+
+                    List<String> listAuthorities = this.userBaseInfoService.findUserAuthorities(userBaseInfo.getId());
+
+                    String accessToken = Token.init(ServletContext.getRemoteIPAddress()).toTokenString();
+//            String accessToken = response.getBody().getString("access_token");
+//            String refreshToken = response.getBody().getString("refresh_token");
+                    OauthInfo oauthInfo = new OauthInfo()
+                            .setId(userBaseInfo.getId())
+                            .setAccessToken(accessToken)
+                            .setRefreshToken(accessToken)
+                            .setNickName(userBaseInfo.getNickName())
+                            .setAvatar(userBaseInfo.getAvatar())
+                            .setLoginTime(DateUtil.current())
+                            .setGender(userBaseInfo.getGender())
+                            .setAuthorities(listAuthorities);
+
+                    this.oauthService.setAuth(accessToken, oauthInfo);
+                    userLoginLog.setState(UserLoginLogState.SUCCESS);
+                    return Result.instance(Result.Code.SUCCESS).setData(oauthInfo);
+                } else {
+                    userLoginLog.setState(UserLoginLogState.PASSWORD_ERROR);
+                    return Result.instance("用户名或密码错误,请重新输入");
+                }
+            }
         } catch (Exception e) {
             log.error("", e);
             userLoginLog.setState(UserLoginLogState.LOGIN_EXCEPTION);

+ 45 - 45
src/main/java/com/zhiqiyun/open/mvc/controller/UserInfoController.java

@@ -135,50 +135,50 @@ public class UserInfoController {
     private Result insertOrUpdate(Long uid, SaveUserParam param) throws Exception {
         List<UserLoginAccount> loginAccounts = new ArrayList<>();
 
-//        if (StringUtils.isNotBlank(param.getMp())) {
-//            UserLoginAccount mpAccount = this.userBaseInfoService.findLoginAccount(param.getMp());
-//            if (mpAccount != null && !mpAccount.getUid().equals(uid)) {
-//                return Result.instance("手机号已被其他用户使用,请使更换手机号");
-//            }
-        loginAccounts.add(new UserLoginAccount(param.getMp(), AccountType.mp));
-//        }
+        if (StringUtils.isNotBlank(param.getMp())) {
+            UserLoginAccount mpAccount = this.userBaseInfoService.findLoginAccount(param.getMp());
+            if (mpAccount != null && !mpAccount.getUid().equals(uid)) {
+                return Result.instance("手机号已被其他用户使用,请使更换手机号");
+            }
+            loginAccounts.add(new UserLoginAccount(param.getMp(), AccountType.mp));
+        }
 //
-//        if (StringUtils.isNotBlank(param.getEmail())) {
-//            UserLoginAccount emailAccount = this.userBaseInfoService.findLoginAccount(param.getEmail());
-//            if (emailAccount != null && !emailAccount.getUid().equals(uid)) {
-//                return Result.instance("邮箱已被其他用户使用,请使更换邮箱");
-//            }
-        loginAccounts.add(new UserLoginAccount(param.getEmail(), AccountType.email));
-//        }
+        if (StringUtils.isNotBlank(param.getEmail())) {
+            UserLoginAccount emailAccount = this.userBaseInfoService.findLoginAccount(param.getEmail());
+            if (emailAccount != null && !emailAccount.getUid().equals(uid)) {
+                return Result.instance("邮箱已被其他用户使用,请使更换邮箱");
+            }
+            loginAccounts.add(new UserLoginAccount(param.getEmail(), AccountType.email));
+        }
         UserBaseInfo baseInfo = null;
         if (uid != null && uid >= 0) baseInfo = userBaseInfoService.getById(uid);
         UserBaseInfo userInfo = new UserBaseInfo();
         BeanUtils.copyProperties(param, userInfo);
-
-        Map<String, Object> form = new HashMap<>(2);
-        form.put("name", param.getNickName());
-        form.put("realName", param.getNickName());
-        form.put("sex", param.getGender().getValue() + 1);
-        if (StringUtils.isNotBlank(param.getEmail())) {
-            form.put("email", param.getEmail());
-        }
-        form.put("phone", param.getMp());
+//
+//        Map<String, Object> form = new HashMap<>(2);
+//        form.put("name", param.getNickName());
+//        form.put("realName", param.getNickName());
+//        form.put("sex", param.getGender().getValue() + 1);
+//        if (StringUtils.isNotBlank(param.getEmail())) {
+//            form.put("email", param.getEmail());
+//        }
+//        form.put("phone", param.getMp());
         String password = null;
-        if (baseInfo == null || baseInfo.getUnifiedId() == null) {
-            password = RandomUtil.get(6);
-            form.put("accessToken", ServletContext.getAccessToken());
-            form.put("account", StringUtils.isNotBlank(param.getEmail()) ? param.getEmail() : param.getMp());
-            form.put("password", password);
-            Response<JSONObject> response = unifiedLoginService.addUser(form);
-            if (!response.isSuccessful()) return Result.instance(response.getMsg());
-            userInfo.setUnifiedId(response.getBody().getLong("id"));
-        } else {
-            form.put("accessToken", ServletContext.getAccessToken());
-            form.put("id", baseInfo.getUnifiedId());
-            Response<JSONObject> response = unifiedLoginService.updateUser(form);
-            if (!response.isSuccessful()) return Result.instance(response.getMsg());
-        }
-        userInfo.setId(uid);
+//        if (baseInfo == null || baseInfo.getUnifiedId() == null) {
+//            password = RandomUtil.get(6);
+//            form.put("accessToken", ServletContext.getAccessToken());
+//            form.put("account", StringUtils.isNotBlank(param.getEmail()) ? param.getEmail() : param.getMp());
+//            form.put("password", password);
+//            Response<JSONObject> response = unifiedLoginService.addUser(form);
+//            if (!response.isSuccessful()) return Result.instance(response.getMsg());
+//            userInfo.setUnifiedId(response.getBody().getLong("id"));
+//        } else {
+//            form.put("accessToken", ServletContext.getAccessToken());
+//            form.put("id", baseInfo.getUnifiedId());
+//            Response<JSONObject> response = unifiedLoginService.updateUser(form);
+//            if (!response.isSuccessful()) return Result.instance(response.getMsg());
+//        }
+//        userInfo.setId(uid);
         userInfo.setRegisterIp(ServletContext.getRemoteIPAddress());
         String loginPassword = this.userBaseInfoService.insertOrUpdate(userInfo, loginAccounts, param.getListRoles(), password);
         return Result.instance(Result.Code.MESSAGE_SUCCESS).setData(loginPassword);
@@ -225,13 +225,13 @@ public class UserInfoController {
             String salt = RandomUtil.getSalt();
             String hashPassword = this.oauthService.generatePassword(password, salt);
 
-            UserBaseInfo baseInfo = userBaseInfoService.getById(uid);
-            Map<String, Object> form = new HashMap<>(2);
-            form.put("accessToken", ServletContext.getAccessToken());
-            form.put("id", baseInfo.getUnifiedId());
-            form.put("password", hashPassword);
-            Response<JSONObject> response = unifiedLoginService.updateUser(form);
-            if (!response.isSuccessful()) return Result.instance(response.getMsg());
+//            UserBaseInfo baseInfo = userBaseInfoService.getById(uid);
+//            Map<String, Object> form = new HashMap<>(2);
+//            form.put("accessToken", ServletContext.getAccessToken());
+//            form.put("id", baseInfo.getUnifiedId());
+//            form.put("password", hashPassword);
+//            Response<JSONObject> response = unifiedLoginService.updateUser(form);
+//            if (!response.isSuccessful()) return Result.instance(response.getMsg());
             this.userBaseInfoService.updatePassword(uid, hashPassword, salt, PasswordType.login);
         }
         return Result.instance(Result.Code.SUCCESS).setData(password);

+ 6 - 6
src/main/resources/application.properties

@@ -6,18 +6,18 @@ logger.root.level=DEBUG
 logger.root.path=/tmp/
 ####################### mysql ###############################
 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://192.168.0.200:3306/liucheng_open?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&useSSL=false
-spring.datasource.username=app
-spring.datasource.password=!@qwaszx
+spring.datasource.url=jdbc:mysql://rm-bp1e2451m5olnc4g6qo.mysql.rds.aliyuncs.com/liucheng_open?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&useSSL=false
+spring.datasource.username=liucheng
+spring.datasource.password=liucheng123@
 #######################mybatis###############################
 mybatis-plus.config-location=classpath:mybatis/sqlMapConfig.xml
 mybatis-plus.mapper-locations=classpath:mybatis/mappers/*.xml
 mybatis-plus.type-enums-package=com.zhiqiyun.open.core.enmus
 #######################redis###############################
-spring.redis.host=192.168.0.200
-spring.redis.password=123456
+spring.redis.host=39.99.217.107
+spring.redis.password=hnylredis@
 spring.redis.port=6379
-spring.redis.database=1
+spring.redis.database=7
 ####################### oap config ###############################
 #spring.oap.security.file-upload-controller-class=com.dliyun.oap.framework.impl.DefaultFileUploadController
 spring.oap.security.app-secret-manager-class=com.zhiqiyun.open.router.config.DbBaseAppSecretManager