Procházet zdrojové kódy

fix:对接微信 用户分析数据接口 获取用户增减数据

wrj před 5 dny
rodič
revize
c8cc3688b7

+ 22 - 5
nightFragrance-massage/src/main/java/com/ylx/massage/utils/WeChatUtil.java

@@ -149,11 +149,28 @@ public class WeChatUtil {
         Map<?, ?> map = JSONObject.parseObject(result, Map.class);
         log.info("getFollowers-获取关注量返回:{}", map);
 
-        String list = (String) map.get("list");
-        JSONArray objects = JSONObject.parseObject(list, JSONArray.class);
-        JSONObject jsonObject = (JSONObject) objects.get(0);
-        return (String)jsonObject.get("new_user");
-
+        Object listObj = map.get("list");
+        if (listObj == null || listObj.toString().equals("[]")) {
+            return "0"; // 空数据,默认返回 0
+        }
+        JSONArray list;
+        try {
+            if (listObj instanceof JSONArray) {
+                list = (JSONArray) listObj;
+            } else if (listObj instanceof String) {
+                list = JSONUtil.parseArray(listObj.toString()); // 使用 Hutool 转换字符串为 JSONArray
+            } else {
+                throw new ServiceException("返回数据格式错误,list字段无法识别");
+            }
+        } catch (Exception e) {
+            log.error("解析list字段失败: {}", listObj, e);
+            return "0";
+        }
+        if (list.isEmpty()) {
+            return "0";
+        }
+        JSONObject jsonObject = (JSONObject) list.get(0);
+        return (String) jsonObject.get("new_user");
     }
 
     /**