瀏覽代碼

微信端登录,绑定手机号更新设备信息

黄远 5 年之前
父節點
當前提交
c8589628d1

+ 31 - 10
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -140,16 +140,8 @@ public class LoginService implements ILoginService {
         if (!userLoginService.saveLoginInfo(request, userAccount.getUserId())) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "保存登录记录失败");
         }
-        //将登录设备类型更新到数据库
-        if (ApiConstants.ACCESS_TYPE_APP == mobileType) {
-            //设备类型: 1.Android 2:IOS
-            userAccount.setDeviceModel(userRequest.getDeviceModel());
-            //设备唯一标识
-            userAccount.setDeviceFlag(userRequest.getDeviceFlag());
-            if (!userAccountService.updateById(userAccount)) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新设备类型失败");
-            }
+        if (appLoginSaveDeviceInfo(userRequest, mobileType, userAccount)) {
+            return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新设备类型失败");
         }
         return RestResponse.success(userResponse, ApiConstants.RESULT_SUCCESS, "登录成功");
     }
@@ -219,6 +211,9 @@ public class LoginService implements ILoginService {
         UserResponse userResponse = initLoginInfo(request, userRequest);
         //保存登录记录
         userLoginService.saveLoginInfo(request, userAccount.getUserId());
+        if (appLoginSaveDeviceInfo(userRequest, userRequest.getMobileType(), userAccount)) {
+            return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新设备类型失败");
+        }
         return RestResponse.success(userResponse, ApiConstants.RESULT_SUCCESS, "用户登录成功");
     }
 
@@ -280,6 +275,11 @@ public class LoginService implements ILoginService {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "绑定手机号失败");
         }
         UserResponse userResponse = initLoginInfo(request, userRequest);
+        userLoginService.saveLoginInfo(request, userAccount.getUserId());
+        //用户登录成功,更新用户设备信息
+        if (appLoginSaveDeviceInfo(userRequest, userRequest.getMobileType(), userAccount)) {
+            return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新设备类型失败");
+        }
         return RestResponse.success(userResponse, ApiConstants.RESULT_SUCCESS, "绑定手机号成功");
     }
 
@@ -507,4 +507,25 @@ public class LoginService implements ILoginService {
         }
     }
 
+    /**
+     * @param userRequest 请求参数
+     * @return
+     * @description app登录后保存设备信息
+     * @date 2020/5/7 1:53 下午
+     */
+    private boolean appLoginSaveDeviceInfo(UserRequest userRequest, Integer mobileType, UserAccount userAccount) {
+        //将登录设备类型更新到数据库
+        if (ApiConstants.ACCESS_TYPE_APP == mobileType) {
+            //设备类型: 1.Android 2:IOS
+            userAccount.setDeviceModel(userRequest.getDeviceModel());
+            //设备唯一标识
+            userAccount.setDeviceFlag(userRequest.getDeviceFlag());
+            if (!userAccountService.updateById(userAccount)) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return true;
+            }
+        }
+        return false;
+    }
+
 }