Browse Source

登录接口都加上appId

xw 4 days ago
parent
commit
34bc168ce7

+ 40 - 0
fs-company-app/src/main/java/com/fs/app/controller/WxH5MpController.java

@@ -77,6 +77,13 @@ public class WxH5MpController {
                 userMap.setUpdateTime(new DateTime());
                 userMap.setNickName(wxMpUser.getNickname());
                 userMap.setAvatar(wxMpUser.getHeadImgUrl());
+                // 老用户 - 检查并添加appId(不重复添加)
+                if (StringUtils.isNotEmpty(param.getAppId())) {
+                    String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+                    if (!updatedAppId.equals(user.getAppId())) {
+                        userMap.setAppId(updatedAppId);
+                    }
+                }
                 userService.updateFsUser(userMap);
             } else {
                 //新增
@@ -86,6 +93,10 @@ public class WxH5MpController {
                 user.setStatus(1);
                 user.setMpOpenId(wxMpUser.getOpenid());
                 user.setUnionId(wxMpUser.getUnionId());
+                // 新用户 - 添加 appId
+                if (StringUtils.isNotEmpty(param.getAppId())) {
+                    user.setAppId(param.getAppId());
+                }
                 user.setCreateTime(new Date());
                 userService.insertFsUser(user);
             }
@@ -130,5 +141,34 @@ public class WxH5MpController {
 
     }
 
+    /**
+     * 添加appId到用户的appId列表中(如果不存在)
+     * @param currentAppIds 当前用户已有的appId列表(逗号分隔)
+     * @param newAppId 新的appId
+     * @return 更新后的appId列表
+     */
+    private String addAppIdIfNotExists(String currentAppIds, String newAppId) {
+        // 如果新appId为空,返回原值
+        if (StringUtils.isEmpty(newAppId)) {
+            return currentAppIds == null ? "" : currentAppIds;
+        }
+
+        // 如果当前appId为空,直接返回新appId
+        if (StringUtils.isEmpty(currentAppIds)) {
+            return newAppId;
+        }
+
+        // 检查是否已存在
+        String[] appIdArray = currentAppIds.split(",");
+        for (String appId : appIdArray) {
+            if (appId.trim().equals(newAppId.trim())) {
+                // 已存在,不需要添加
+                return currentAppIds;
+            }
+        }
+
+        // 不存在,追加到末尾
+        return currentAppIds + "," + newAppId;
+    }
 
 }

+ 3 - 0
fs-service/src/main/java/com/fs/hisStore/param/LoginWxParam.java

@@ -12,4 +12,7 @@ public class LoginWxParam implements Serializable {
     @ApiModelProperty(value = "公众号code")
     private String code;
     private Long tuiUserId;
+    
+    @ApiModelProperty(value = "小程序appId")
+    private String appId;
 }

+ 4 - 2
fs-user-app/src/main/java/com/fs/app/controller/WxH5MpController.java

@@ -198,7 +198,8 @@ public class WxH5MpController {
                 userUpdate.setAppId(updatedAppId);
             }
             userService.updateFsUser(userUpdate);
-            return userUpdate;
+            // 重新查询完整的用户信息返回(包含更新后的appId)
+            return userService.selectFsUserById(user.getUserId());
         } else {
             // 创建新用户
             FsUser newUser = new FsUser();
@@ -237,7 +238,8 @@ public class WxH5MpController {
                 userUpdate.setAppId(updatedAppId);
             }
             userService.updateFsUser(userUpdate);
-            return userUpdate;
+            // 重新查询完整的用户信息返回(包含更新后的appId)
+            return userService.selectFsUserById(user.getUserId());
         } else {
             // 创建新用户
             FsUser newUser = new FsUser();

+ 11 - 0
fs-user-app/src/main/java/com/fs/app/controller/WxUserController.java

@@ -346,6 +346,13 @@ public class WxUserController extends AppBaseController{
                 userMap.setAvatar(wxMpUser.getHeadImgUrl());
                 userMap.setMpOpenId(wxMpUser.getOpenid());
                 userMap.setUpdateTime(new DateTime());
+                // 老用户 - 检查并添加appId(不重复添加)
+                if (StringUtils.isNotEmpty(param.getAppId())) {
+                    String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+                    if (!updatedAppId.equals(user.getAppId())) {
+                        userMap.setAppId(updatedAppId);
+                    }
+                }
                 userService.updateFsUser(userMap);
             }
             else{
@@ -358,6 +365,10 @@ public class WxUserController extends AppBaseController{
                 user.setMpOpenId(wxMpUser.getOpenid());
                 user.setUnionId(wxMpUser.getUnionId());
                 user.setCreateTime(new Date());
+                // 新用户 - 添加 appId
+                if (StringUtils.isNotEmpty(param.getAppId())) {
+                    user.setAppId(param.getAppId());
+                }
                 userService.insertFsUser(user);
             }
             String token = jwtUtils.generateToken(user.getUserId());

+ 41 - 0
fs-user-app/src/main/java/com/fs/app/controller/course/CourseMpLoginController.java

@@ -91,6 +91,13 @@ public class CourseMpLoginController {
         userMap.setAvatar(wxMpUser.getHeadImgUrl());
         userMap.setMpOpenId(wxMpUser.getOpenid());
         userMap.setUpdateTime(new DateTime());
+        // 老用户 - 检查并添加appId(不重复添加)
+        if (StringUtils.isNotEmpty(param.getAppId())) {
+          String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+          if (!updatedAppId.equals(user.getAppId())) {
+            userMap.setAppId(updatedAppId);
+          }
+        }
         userService.updateFsUser(userMap);
       }
       else{
@@ -102,6 +109,10 @@ public class CourseMpLoginController {
         user.setSex(wxMpUser.getSex());
         user.setMpOpenId(wxMpUser.getOpenid());
         user.setUnionId(wxMpUser.getUnionId());
+        // 新用户 - 添加 appId
+        if (StringUtils.isNotEmpty(param.getAppId())) {
+          user.setAppId(param.getAppId());
+        }
         user.setCreateTime(new Date());
         userService.insertFsUser(user);
       }
@@ -126,4 +137,34 @@ public class CourseMpLoginController {
 
   }
 
+  /**
+   * 添加appId到用户的appId列表中(如果不存在)
+   * @param currentAppIds 当前用户已有的appId列表(逗号分隔)
+   * @param newAppId 新的appId
+   * @return 更新后的appId列表
+   */
+  private String addAppIdIfNotExists(String currentAppIds, String newAppId) {
+    // 如果新appId为空,返回原值
+    if (StringUtils.isEmpty(newAppId)) {
+      return currentAppIds == null ? "" : currentAppIds;
+    }
+
+    // 如果当前appId为空,直接返回新appId
+    if (StringUtils.isEmpty(currentAppIds)) {
+      return newAppId;
+    }
+
+    // 检查是否已存在
+    String[] appIdArray = currentAppIds.split(",");
+    for (String appId : appIdArray) {
+      if (appId.trim().equals(newAppId.trim())) {
+        // 已存在,不需要添加
+        return currentAppIds;
+      }
+    }
+
+    // 不存在,追加到末尾
+    return currentAppIds + "," + newAppId;
+  }
+
 }

+ 33 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxH5MpScrmController.java

@@ -143,6 +143,13 @@ public class WxH5MpScrmController {
             userUpdate.setUpdateTime(new DateTime());
             userUpdate.setNickName(wxMpUser.getNickname());
             userUpdate.setAvatar(wxMpUser.getHeadImgUrl());
+            // 老用户 - 检查并添加appId(不重复添加)
+            if (StringUtils.isNotEmpty(param.getAppId())) {
+                String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+                if (!updatedAppId.equals(user.getAppId())) {
+                    userUpdate.setAppId(updatedAppId);
+                }
+            }
             userService.updateFsUser(userUpdate);
             return userUpdate;
         } else {
@@ -155,6 +162,10 @@ public class WxH5MpScrmController {
 //            newUser.setCompanyId(company.getCompanyId());
 //            newUser.setCompanyUserId(companyUser.getUserId());
             newUser.setUnionId(wxMpUser.getUnionId());
+            // 新用户 - 添加 appId
+            if (StringUtils.isNotEmpty(param.getAppId())) {
+                newUser.setAppId(param.getAppId());
+            }
             newUser.setCreateTime(new Date());
             newUser.setStatus(company != null && company.getFsUserIsDefaultBlack() == 1 ? 0 : 1);
             userService.insertFsUser(newUser);
@@ -163,4 +174,26 @@ public class WxH5MpScrmController {
         }
     }
 
+    /**
+     * 添加appId到用户的appId列表中(如果不存在)
+     * @param currentAppIds 当前用户已有的appId列表(逗号分隔)
+     * @param newAppId 新的appId
+     * @return 更新后的appId列表
+     */
+    private String addAppIdIfNotExists(String currentAppIds, String newAppId) {
+        if (StringUtils.isEmpty(newAppId)) {
+            return currentAppIds == null ? "" : currentAppIds;
+        }
+        if (StringUtils.isEmpty(currentAppIds)) {
+            return newAppId;
+        }
+        String[] appIdArray = currentAppIds.split(",");
+        for (String appId : appIdArray) {
+            if (appId.trim().equals(newAppId.trim())) {
+                return currentAppIds;
+            }
+        }
+        return currentAppIds + "," + newAppId;
+    }
+
 }

+ 37 - 2
fs-user-app/src/main/java/com/fs/app/controller/store/WxMpScrmController.java

@@ -112,6 +112,13 @@ public class WxMpScrmController {
           userMap.setMpOpenId(wxMpUser.getOpenid());
           userMap.setUpdateTime(new DateTime());
           userMap.setNickname(wxMpUser.getNickname());
+          // 老用户 - 检查并添加appId(不重复添加)
+          if (StringUtils.isNotEmpty(param.getAppId())) {
+            String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+            if (!updatedAppId.equals(user.getAppId())) {
+              userMap.setAppId(updatedAppId);
+            }
+          }
           userService.updateFsUser(userMap);
         }
         else{
@@ -123,6 +130,10 @@ public class WxMpScrmController {
           user.setStatus(1);
           user.setMpOpenId(wxMpUser.getOpenid());
           user.setUnionId(wxMpUser.getUnionId());
+          // 新用户 - 添加 appId
+          if (StringUtils.isNotEmpty(param.getAppId())) {
+            user.setAppId(param.getAppId());
+          }
           user.setCreateTime(new Date());
           userService.insertFsUser(user);
         }
@@ -159,10 +170,34 @@ public class WxMpScrmController {
 
     }
 
+    /**
+     * 添加appId到用户的appId列表中(如果不存在)
+     * @param currentAppIds 当前用户已有的appId列表(逗号分隔)
+     * @param newAppId 新的appId
+     * @return 更新后的appId列表
+     */
+    private String addAppIdIfNotExists(String currentAppIds, String newAppId) {
+        // 如果新appId为空,返回原值
+        if (StringUtils.isEmpty(newAppId)) {
+            return currentAppIds == null ? "" : currentAppIds;
+        }
 
+        // 如果当前appId为空,直接返回新appId
+        if (StringUtils.isEmpty(currentAppIds)) {
+            return newAppId;
+        }
 
+        // 检查是否已存在
+        String[] appIdArray = currentAppIds.split(",");
+        for (String appId : appIdArray) {
+            if (appId.trim().equals(newAppId.trim())) {
+                // 已存在,不需要添加
+                return currentAppIds;
+            }
+        }
 
-
-
+        // 不存在,追加到末尾
+        return currentAppIds + "," + newAppId;
+    }
 
 }

+ 18 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxUserScrmController.java

@@ -481,6 +481,13 @@ public class WxUserScrmController extends AppBaseController {
                     userMap.setUpdateTime(new DateTime());
                     userMap.setLastIp(ip);
                     user.setMpOpenId(wxMpUser.getOpenid());
+                    // 检查并添加appId(不重复添加)
+                    if (StringUtils.isNotEmpty(param.getAppId())) {
+                        String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+                        if (!updatedAppId.equals(user.getAppId())) {
+                            userMap.setAppId(updatedAppId);
+                        }
+                    }
                     userService.updateFsUser(userMap);
                 }
                 else{
@@ -492,6 +499,10 @@ public class WxUserScrmController extends AppBaseController {
                     user.setLastIp(ip);
                     user.setCreateTime(new Date());
                     user.setAvatar(wxMpUser.getHeadImgUrl());
+                    // 新用户 - 添加 appId
+                    if (StringUtils.isNotEmpty(param.getAppId())) {
+                        user.setAppId(param.getAppId());
+                    }
                     if(StringUtils.isNotEmpty(wxMpUser.getUnionId())){
                         user.setUnionId(wxMpUser.getUnionId());
                     }
@@ -506,6 +517,13 @@ public class WxUserScrmController extends AppBaseController {
                 if(StringUtils.isNotEmpty(wxMpUser.getUnionId())){
                     userMap.setUnionId(wxMpUser.getUnionId());
                 }
+                // 检查并添加appId(不重复添加)
+                if (StringUtils.isNotEmpty(param.getAppId())) {
+                    String updatedAppId = addAppIdIfNotExists(user.getAppId(), param.getAppId());
+                    if (!updatedAppId.equals(user.getAppId())) {
+                        userMap.setAppId(updatedAppId);
+                    }
+                }
                 userService.updateFsUser(userMap);
             }
             String token = jwtUtils.generateToken(user.getUserId());