Przeglądaj źródła

强制关注
添加缓存后缀

tianyunperfect 3 lat temu
rodzic
commit
79d51806cb

+ 6 - 2
book-server/src/main/java/com/book/server/common/util/CacheUtil.java

@@ -7,8 +7,13 @@ import java.util.Collections;
 import static com.book.server.config.Const.CacheSplit;
 
 public class CacheUtil {
+    /**
+     * 所有前缀
+     */
+    public static String PRE = "SER__";
+
     public static String getKeyWithPre(String pre, Object[] keys) {
-        StringBuilder sb = new StringBuilder();
+        StringBuilder sb = new StringBuilder(PRE);
         sb.append(pre).append(CacheSplit);
         sb.append(getKey(keys));
         return sb.toString();
@@ -30,6 +35,5 @@ public class CacheUtil {
         strings.add("1");
         strings.add("1");
         System.out.println(getKeyWithPre("test", strings.toArray()));
-        System.out.println(getKey("test", 1, 1));
     }
 }

+ 24 - 0
book-server/src/main/java/com/book/server/controller/BookController.java

@@ -279,4 +279,28 @@ public class BookController extends BaseController {
         blockCacheGuava.clearCache();
         return Result.success();
     }
+
+    /**
+     * 获取强制关注章节NUM
+     *
+     * @param appId
+     * @param bookId
+     * @return
+     */
+    @GetMapping("/getForceChapterId")
+    public Result getForceChapterId(String appId, Integer bookId) {
+        return Result.success(cacheService.getBook_guide_chapter_idx(appId, bookId));
+    }
+
+
+    /**
+     * 获取关注二维码
+     *
+     * @param appId
+     * @return
+     */
+    @GetMapping("/getQrcodeUrl")
+    public Result getQrcodeUrl(String appId) {
+        return Result.byObject(cacheService.getQrcodeUrl(appId));
+    }
 }

+ 2 - 16
book-server/src/main/java/com/book/server/service/BlockCacheGuava.java

@@ -1,6 +1,7 @@
 package com.book.server.service;
 
 import com.book.dao.VO.BlockRes;
+import com.book.server.common.util.CacheUtil;
 import com.book.server.utils.RedisUtil;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
@@ -43,21 +44,6 @@ public class BlockCacheGuava {
     public void clearCache() {
         blockResCache.refresh(1);
         blockResCache.refresh(2);
-        redisUtil.removePattern("smartRecommand*");
-        redisUtil.removePattern("topRecommend*");
-        redisUtil.removePattern("searchKeyword*");
-        redisUtil.removePattern("recommend*");
-        redisUtil.removePattern("book*");
-        redisUtil.removePattern("user*");
-        redisUtil.removePattern("category*");
-        redisUtil.removePattern("chapters*");
-        redisUtil.removePattern("defaultFreeChapterNum");
-        redisUtil.removePattern("freeCoin*");
-        redisUtil.removePattern("userReadConfig*");
-        redisUtil.removePattern("edit_book*");
-        redisUtil.removePattern("bookContent*");
-        redisUtil.removePattern("unPayedGoods*");
-
-
+        redisUtil.removePattern(CacheUtil.PRE + "*");
     }
 }

+ 9 - 0
book-server/src/main/java/com/book/server/service/CacheService.java

@@ -285,4 +285,13 @@ public class CacheService {
     public BookContent getBookContentCache(Long bookId, Long chapterId) {
         return bookService.getBookContent(bookId, chapterId);
     }
+    @CacheFind(key = "guide_chapter")
+    public Integer getBook_guide_chapter_idx(String appId, Integer bookId) {
+        return bookService.getBook_guide_chapter_idx(appId, bookId);
+    }
+
+    @CacheFind(key = "qrcodeUrl")
+    public String getQrcodeUrl(String appId) {
+        return bookService.getQrcodeUrl(appId);
+    }
 }

+ 18 - 0
book-server/src/main/java/com/book/server/service/impl/BookServiceImpl.java

@@ -14,6 +14,7 @@ import com.book.dao.cpsshard.mapper.UserRecentlyReadMapper;
 import com.book.dao.cpsshard.pojo.example.ConsumeExample;
 import com.book.dao.cps.pojo.example.RechargeExample;
 import com.book.dao.cpsshard.pojo.example.UserRecentlyReadExample;
+import com.book.server.annotation.CacheFind;
 import com.book.server.common.entity.Result;
 import com.book.server.common.entity.ResultCode;
 import com.book.dao.utils.DateUtils;
@@ -250,6 +251,8 @@ public class BookServiceImpl implements BookService {
 
     @Autowired
     private ConfigMapper configMapper;
+    @Autowired
+    private AdminConfigMapper adminConfigMapper;
 
     @Autowired
     private ConsumeMapper consumeMapper;
@@ -843,4 +846,19 @@ public class BookServiceImpl implements BookService {
     public Integer getFreeCoin(Long id) {
         return getFreeCountFromCharges(getFreeCharges(id));
     }
+
+    public Integer getBook_guide_chapter_idx(String appId, Integer bookId) {
+        Config config = configMapper.selectByName("book_guide_chapter_idx");
+        return Integer.valueOf(config.getValue());
+    }
+
+    public String getQrcodeUrl(String appId) {
+        AdminConfig adminConfig = adminConfigMapper.selectByAppid(appId);
+        if (adminConfig == null) {
+            return null;
+        }
+        String json = adminConfig.getJson().toString();
+        AdminConfig.Info info = JsonUtils.getObject(json, AdminConfig.Info.class);
+        return info.getAuthorizer_info().getQrcode_url();
+    }
 }