Jelajahi Sumber

木易华康-更新用户登录设置

Long 1 Minggu lalu
induk
melakukan
340436b256

+ 43 - 0
fs-user-app/src/main/java/com/fs/app/controller/AppLoginController.java

@@ -301,6 +301,10 @@ public class AppLoginController extends AppBaseController{
                     return R.ok(map);
                 }
             }
+
+            // 更新登录设备信息
+            updateLoginDevice(user.getUserId(), param.getLoginDevice(), param.getSource());
+
             int isFirstLogin = userNewTaskService.performTaskOne(user.getUserId());
             String token = jwtUtils.generateToken(user.getUserId());
             redisCache.setCacheObject("userToken:" + user.getUserId(), token, 604800, TimeUnit.SECONDS);
@@ -338,6 +342,10 @@ public class AppLoginController extends AppBaseController{
                     return R.ok(map);
                 }
             }
+
+            // 更新登录设备信息
+            updateLoginDevice(user.getUserId(), param.getLoginDevice(), param.getSource());
+
             /*if (user.getStatus()==0){
                 return R.error("登录失败,账户被禁用");
             }*/
@@ -426,6 +434,10 @@ public class AppLoginController extends AppBaseController{
             return R.error("验证码错误");
         }
         updateExistingUserJpushId(user.get(0), map.get("jpushId"));
+        
+        // 更新登录设备信息
+        updateLoginDevice(user.get(0).getUserId(), map.get("loginDevice"), map.get("source"));
+        
         return generateTokenAndReturn(user.get(0));
     }
 
@@ -690,6 +702,10 @@ public class AppLoginController extends AppBaseController{
             if (!Md5Utils.hash(param.getPassword()).equals(user.getPassword())) {
                 return R.error("密码不正确");
             }
+            
+            // 更新登录设备信息
+            updateLoginDevice(user.getUserId(), param.getLoginDevice(), param.getSource());
+            
             //登录成功以后写入达人表
             //fsUserTalentService.addFsUserTalent(fsUser.getUserId());
             return generateTokenAndReturn(user);
@@ -823,6 +839,10 @@ public class AppLoginController extends AppBaseController{
         }else {
             return R.ok().put("users",usersByPhone);
         }
+        
+        // 更新登录设备信息
+        updateLoginDevice(user.getUserId(), param.getLoginDevice(), param.getSource());
+        
         return generateTokenAndReturn(user);
     }
 
@@ -835,6 +855,10 @@ public class AppLoginController extends AppBaseController{
         if (StringUtils.isNotEmpty(param.getJpushId())){
             updateExistingUserJpushId(user, param.getJpushId());
         }
+        
+        // 更新登录设备信息
+        updateLoginDevice(user.getUserId(), param.getLoginDevice(), param.getSource());
+        
         return generateTokenAndReturn(user);
     }
 
@@ -854,6 +878,25 @@ public class AppLoginController extends AppBaseController{
         return newUser;
     }
 
+    /**
+     * 更新用户登录设备信息
+     * @param userId 用户ID
+     * @param loginDevice 登录设备
+     * @param source 来源
+     */
+    private void updateLoginDevice(Long userId, String loginDevice, String source) {
+        FsUser updateUser = new FsUser();
+        updateUser.setUserId(userId);
+        if (StringUtils.isNotBlank(loginDevice)) {
+            updateUser.setLoginDevice(loginDevice);
+        }
+        if (StringUtils.isNotBlank(source)) {
+            updateUser.setSource(source);
+        }
+        updateUser.setLastIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
+        userService.updateFsUser(updateUser);
+    }
+
     private FsUser findUserByPhone(String phone) {
         // 先根据加密手机号查询用户
         String jiami = (encryptPhone(phone));