Przeglądaj źródła

fix(user):修复小程序登录逻辑和用户信息处理- 移除冗余的appId查询逻辑,直接使用传入参数
- 增加appId空值校验和WxMaService获取异常处理
-优化用户昵称生成逻辑,避免重复设置
- 移除重复的用户昵称更新代码
- 统一错误返回信息格式,增强日志记录

xw 1 tydzień temu
rodzic
commit
10cc5f1589

+ 19 - 21
fs-user-app/src/main/java/com/fs/app/controller/store/WxUserScrmController.java

@@ -258,21 +258,28 @@ public class WxUserScrmController extends AppBaseController {
     @PostMapping("/loginByMiniApp")
     @Synchronized
     public R loginByMiniApp( @RequestBody LoginMpWxParam param) {
+        logger.info("小程序登录 参数 {}",param);
+
         if (StringUtils.isBlank(param.getCode())) {
             return R.error("code不存在");
         }
-        String courseMa_appId;
-
-        System.out.println("appid"+param.getCode());
-        logger.info("appid"+param.getCode());
-        logger.info("appid"+param.getAppId());
-        if(StringUtils.isNotEmpty(param.getAppId())){
-            courseMa_appId = configUtil.generateConfigMiniByKey(SysConfigEnum.COURSE_MA_CONFIG.getKey(),param.getAppId()).getString("appid");
-        }else{
-            courseMa_appId = configUtil.generateConfigByKey(SysConfigEnum.COURSE_MA_CONFIG.getKey()).getString("appid");
+        
+        // 直接使用传入的appId,不查询sys_config表
+        if (StringUtils.isBlank(param.getAppId())) {
+            return R.error("appId不能为空");
+        }
+        
+        final WxMaService wxService;
+        try {
+            wxService = WxMaConfiguration.getMaService(param.getAppId());
+            if (wxService == null) {
+                logger.error("获取WxMaService失败,appId: {}", param.getAppId());
+                return R.error("小程序配置不存在,请检查appId");
+            }
+        } catch (Exception e) {
+            logger.error("获取WxMaService异常,appId: {}, error: {}", param.getAppId(), e.getMessage(), e);
+            return R.error("小程序配置获取失败: " + e.getMessage());
         }
-
-        final WxMaService wxService = WxMaConfiguration.getMaService(courseMa_appId);
         try {
             WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode());
             // 解密
@@ -310,14 +317,8 @@ public class WxUserScrmController extends AppBaseController {
                 else{
                     //写入
                     user=new FsUserScrm();
-                    if(StringUtils.isNotBlank(phoneNoInfo.getPhoneNumber())){
-                        user.setPhone(phoneNoInfo.getPhoneNumber());
-                        user.setNickName("微信用户"+phoneNoInfo.getPhoneNumber().substring(phoneNoInfo.getPhoneNumber().length()-4));
-                    }else {
-                        user.setNickName("微信用户");
-                    }
                     user.setPhone(phoneNoInfo.getPhoneNumber());
-                    user.setNickName(phoneNoInfo.getPhoneNumber() != null ? "微信用户" + phoneNoInfo.getPhoneNumber().substring(phoneNoInfo.getPhoneNumber().length()-4) : "微信用户");
+                    user.setNickName("微信用户"+phoneNoInfo.getPhoneNumber().substring(phoneNoInfo.getPhoneNumber().length()-4));
                     user.setAvatar("https://hos-1309931967.cos.ap-chongqing.myqcloud.com/fs/20230725/a848605591384ec29d49773dd58d9345.jpg");
                     user.setStatus(1);
                     user.setMaOpenId(session.getOpenid());
@@ -338,9 +339,6 @@ public class WxUserScrmController extends AppBaseController {
                 if(session.getUnionid()!=null){
                     userMap.setUnionId(session.getUnionid());
                 }
-                if(StringUtils.isEmpty(user.getNickname()) || user.getNickname().equals("") || (StringUtils.isNotBlank(user.getNickname()) && user.getNickname().equals("微信用户"))){
-                    userMap.setNickName("微信用户"+phoneNoInfo.getPhoneNumber().substring(phoneNoInfo.getPhoneNumber().length()-4));
-                }
                 userMap.setMaOpenId(session.getOpenid());
                 userMap.setPhone(phoneNoInfo.getPhoneNumber());
                 userMap.setUpdateTime(new DateTime());