From f0c099f9acf3e4df8e8b781fb02af5d774fff550 Mon Sep 17 00:00:00 2001
From: xxy <773861846@qq.com>
Date: Sun, 3 May 2020 06:26:58 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3ehcache=E7=BC=93=E5=AD=98?=
 =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8C=96=E5=AD=98=E5=82=A8=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/java2nb/novel/entity/BookSetting.java |  3 +-
 .../novel/service/impl/BookServiceImpl.java   | 13 ++--
 sql/book_setting.sql                          | 66 +++++++++----------
 3 files changed, 43 insertions(+), 39 deletions(-)

diff --git a/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java b/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java
index 18a78cc..91ded31 100644
--- a/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java
+++ b/novel-common/src/main/java/com/java2nb/novel/entity/BookSetting.java
@@ -1,9 +1,10 @@
 package com.java2nb.novel.entity;
 
 import javax.annotation.Generated;
+import java.io.Serializable;
 import java.util.Date;
 
-public class BookSetting  {
+public class BookSetting  implements Serializable {
     @Generated("org.mybatis.generator.api.MyBatisGenerator")
     private Long id;
 
diff --git a/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java b/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java
index 534dd5d..b65b445 100644
--- a/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java
+++ b/novel-front/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java
@@ -1,5 +1,6 @@
 package com.java2nb.novel.service.impl;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.PageHelper;
 import com.java2nb.novel.core.cache.CacheKey;
 import com.java2nb.novel.core.cache.CacheService;
@@ -18,6 +19,7 @@ import com.java2nb.novel.vo.BookCommentVO;
 import com.java2nb.novel.vo.BookSettingVO;
 import com.java2nb.novel.vo.BookVO;
 import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import org.apache.commons.lang3.StringUtils;
 import org.mybatis.dynamic.sql.SortSpecification;
 import org.mybatis.dynamic.sql.render.RenderingStrategies;
@@ -70,15 +72,16 @@ public class BookServiceImpl implements BookService {
     private final CacheService cacheService;
 
 
+    @SneakyThrows
     @Override
     public Map<Byte, List<BookSettingVO>> listBookSettingVO() {
-        Map<Byte, List<BookSettingVO>> result = (Map<Byte, List<BookSettingVO>>) cacheService.getObject(CacheKey.INDEX_BOOK_SETTINGS_KEY);
-        if (result == null || result.size() == 0) {
+        String result = cacheService.get(CacheKey.INDEX_BOOK_SETTINGS_KEY);
+        if (result == null || result.length() < 10) {
             List<BookSettingVO> list = bookSettingMapper.listVO();
-            result = list.stream().collect(Collectors.groupingBy(BookSettingVO::getType));
-            cacheService.setObject(CacheKey.INDEX_BOOK_SETTINGS_KEY, result);
+            result = new ObjectMapper().writeValueAsString(list.stream().collect(Collectors.groupingBy(BookSettingVO::getType)));
+            cacheService.set(CacheKey.INDEX_BOOK_SETTINGS_KEY, result);
         }
-        return result;
+        return new ObjectMapper().readValue(result,Map.class);
     }
 
     @Override
diff --git a/sql/book_setting.sql b/sql/book_setting.sql
index a9c95c4..a87a1b5 100644
--- a/sql/book_setting.sql
+++ b/sql/book_setting.sql
@@ -10,7 +10,7 @@ Target Server Type    : MYSQL
 Target Server Version : 50624
 File Encoding         : 65001
 
-Date: 2020-05-02 20:34:24
+Date: 2020-05-03 05:31:00
 */
 
 SET FOREIGN_KEY_CHECKS=0;
@@ -34,35 +34,35 @@ CREATE TABLE `book_setting` (
 -- ----------------------------
 -- Records of book_setting
 -- ----------------------------
-INSERT INTO `book_setting` VALUES ('32', '1256508909831536640', '1', '0', '2020-04-27 15:45:58', null, '2020-04-27 15:46:03', null);
-INSERT INTO `book_setting` VALUES ('33', '1256509051074723840', '2', '0', '2020-04-27 15:46:21', null, '2020-04-27 15:46:24', null);
-INSERT INTO `book_setting` VALUES ('34', '1256509068665634816', '3', '0', '2020-04-27 15:47:06', null, '2020-04-27 15:47:09', null);
-INSERT INTO `book_setting` VALUES ('35', '1256509141025767424', '4', '0', '2020-04-27 15:47:24', null, '2020-04-27 15:47:27', null);
-INSERT INTO `book_setting` VALUES ('36', '1256509083035320320', '1', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('37', '1256509249888927744', '2', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('38', '1256509443724492800', '3', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('39', '1256509817709608960', '4', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('40', '1256509827104849920', '5', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('41', '1256510337291599872', '1', '2', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('42', '1256510608612737024', '2', '2', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('43', '1256510825391144960', '3', '2', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('44', '1256509671097712640', '4', '2', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('45', '1256509888920502272', '5', '2', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('46', '1256512999282130944', '6', '2', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('47', '1256512853504901120', '1', '3', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('48', '1256512756742307840', '2', '3', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('49', '1256512442035290112', '3', '3', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('50', '1256560985525633024', '4', '3', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('51', '1256560647057883136', '5', '3', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('52', '1256554287595470848', '6', '3', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('53', '1256554246860390400', '1', '4', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('54', '1256554229982511104', '2', '4', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('55', '1256553502908301312', '3', '4', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('56', '1256553373446914048', '4', '4', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('57', '1256553684441972737', '5', '4', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('58', '1256553778306301952', '6', '4', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('59', '1256550223910486016', '6', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('60', '1256550046172659712', '7', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('61', '1256550349009797120', '8', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('62', '1256548828624928768', '9', '1', null, null, null, null);
-INSERT INTO `book_setting` VALUES ('63', '1256508909831536640', '10', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('32', '1256560013650870272', '1', '0', '2020-04-27 15:45:58', null, '2020-04-27 15:46:03', null);
+INSERT INTO `book_setting` VALUES ('33', '1256560647057883136', '2', '0', '2020-04-27 15:46:21', null, '2020-04-27 15:46:24', null);
+INSERT INTO `book_setting` VALUES ('34', '1256560985525633024', '3', '0', '2020-04-27 15:47:06', null, '2020-04-27 15:47:09', null);
+INSERT INTO `book_setting` VALUES ('35', '1256562255468609536', '4', '0', '2020-04-27 15:47:24', null, '2020-04-27 15:47:27', null);
+INSERT INTO `book_setting` VALUES ('36', '1256567122404753408', '1', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('37', '1256562643605307392', '2', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('38', '1256567133926506496', '3', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('39', '1256567122404753408', '4', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('40', '1256567622755860480', '5', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('41', '1256567796077084672', '1', '2', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('42', '1256568783873425408', '2', '2', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('43', '1256569365753413632', '3', '2', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('44', '1256568158427201536', '4', '2', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('45', '1256569055395889152', '5', '2', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('46', '1256571983737307136', '6', '2', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('47', '1256572866260811777', '1', '3', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('48', '1256572765551378432', '2', '3', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('49', '1256570746774142976', '3', '3', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('50', '1256570389633351680', '4', '3', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('51', '1256575355232108544', '5', '3', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('52', '1256575330401828864', '6', '3', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('53', '1256575474111266816', '1', '4', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('54', '1256576738597453824', '2', '4', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('55', '1256576787712753664', '3', '4', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('56', '1256579884505808896', '4', '4', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('57', '1256579279494234112', '5', '4', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('58', '1256579164301869056', '6', '4', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('59', '1256692842384842752', '6', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('60', '1256695607790133248', '7', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('61', '1256623094850568192', '8', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('62', '1256626444941836288', '9', '1', null, null, null, null);
+INSERT INTO `book_setting` VALUES ('63', '1256623378670731264', '10', '1', null, null, null, null);