From 5dc04f3291c00d66f8733a49896612ea1e3b31c5 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期四, 16 九月 2021 13:19:14 +0800
Subject: [PATCH] Merge branch 'test' into 'zzj'

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxOfficialApi.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxOfficialApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxOfficialApi.java
index 226de90..6cdbafc 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxOfficialApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxOfficialApi.java
@@ -9,6 +9,7 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.common.api.LcApiConstants;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.data.redis.core.ValueOperations;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -157,6 +158,7 @@
     public R pageDiscuss() throws Exception {
         WxOfficialApi officialApi = new WxOfficialApi();
 
+        ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
         List<String> tokenList = new ArrayList<>();
         if (!appidList.isEmpty()) {
             for (int i = 0; i < appidList.size(); i++) {
@@ -168,10 +170,15 @@
                 }
             }
         }
-
         List<JSONObject> resultList = new ArrayList<>();
+        Boolean newsListKey = stringRedisTemplate.hasKey(UserConstants.NEWS_LIST);
+        if(newsListKey != null && newsListKey){
+            String json = valueOperations.get(UserConstants.NEWS_LIST);
+            resultList = JSON.parseArray(json,JSONObject.class);
+            return R.ok(resultList);
+        }
         if (!tokenList.isEmpty()) {
-            tokenList.forEach(token -> {
+            for (String token:tokenList) {
                 try {
                     String url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + token;
                     String result = getActicle(url);
@@ -185,13 +192,12 @@
                                 String newsId = object.getString("media_id");
                                 JSONObject contentJson = JSON.parseObject(object.getString("content"));
                                 List<JSONObject> newsItemList =
-                                    JSON.parseArray(contentJson.getString("news_item"), JSONObject.class);
+                                        JSON.parseArray(contentJson.getString("news_item"), JSONObject.class);
                                 String newsUrl = newsItemList.get(0).getString("url");
                                 newsItemList.get(0).put("news_id", newsId);
                                 contentJson.put("news_item", newsItemList);
                                 object.put("content", contentJson);
 
-                                ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
                                 valueOperations.set(UserConstants.NEWS_ID + newsId, newsUrl + "", 2, TimeUnit.DAYS);
                             }
                         }
@@ -201,7 +207,8 @@
                 } catch (Exception e) {
                     log.error("通过token获取文章列表失败,错误原因:" + e.getMessage());
                 }
-            });
+                valueOperations.set(UserConstants.NEWS_LIST, resultList.toString(), 12, TimeUnit.HOURS);
+            }
         }
         return R.ok(resultList);
     }

--
Gitblit v1.7.1