dengsixing 11 mesi fa
parent
commit
b92cbf9d18

+ 4 - 0
src/main/java/com/fdkankan/redis/constant/RedisKey.java

@@ -219,6 +219,10 @@ public class RedisKey {
 
     public static final String SCENE_DRAW = "scene:draw:num:%s";
 
+    public static String getNumStr(String num, Integer subgroup){
+        return num + "-" + subgroup;
+    }
+
 
 
 

+ 1 - 1
src/main/java/com/fdkankan/scene/service/FYunFileService.java

@@ -6,7 +6,7 @@ public interface FYunFileService {
 
     String getFileContent(String key) throws IOException;
 
-    void uploadFile(String num, byte[] data, String key);
+    void uploadFile(String num, Integer subgroup, byte[] data, String key);
 
     void uploadFile(String num, String path, String key);
 

+ 2 - 1
src/main/java/com/fdkankan/scene/service/impl/FYunFileServiceImpl.java

@@ -41,7 +41,7 @@ public class FYunFileServiceImpl implements FYunFileService {
     }
 
     @Override
-    public void uploadFile(String num, byte[] data, String key) {
+    public void uploadFile(String num, Integer subgroup, byte[] data, String key) {
         String suffix = "." + FileUtil.getSuffix(key);
         File tempFile = FileUtil.createTempFile(UUID.fastUUID().toString(), suffix, new File("/temp"), true);
         FileUtil.writeBytes(data, tempFile);
@@ -55,6 +55,7 @@ public class FYunFileServiceImpl implements FYunFileService {
         sceneFileMapping.setFileid(mapping.get("file_id"));
         sceneFileMapping.setUrl(mapping.get("http_url"));
         sceneFileMapping.setKey(key);
+        sceneFileMapping.setSubgroup(subgroup);
         sceneFileMappingService.saveOrUpdate(sceneFileMapping);
     }
 

+ 9 - 9
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -125,7 +125,7 @@ public class SceneProServiceImpl implements ISceneProService {
 
         this.addOrUpdateHotData(param.getNum(), param.getSubgroup(), param.getHotDataList());
 
-        this.addOrUpdateIcons(param.getNum(), param.getIcons());
+        this.addOrUpdateIcons(param.getNum(), param.getSubgroup(), param.getIcons());
 
 //        //写入本地文件,作为备份
 //        this.writeHotJson(param.getNum());
@@ -140,7 +140,7 @@ public class SceneProServiceImpl implements ISceneProService {
         return ResultData.ok();
     }
 
-    private void addOrUpdateHotData(String num, List<HotParamVO> hotDataList) throws Exception{
+    private void addOrUpdateHotData(String num, Integer subgroup, List<HotParamVO> hotDataList) throws Exception{
         Map<String, String> addOrUpdateMap = new HashMap<>();
         int i = 0;
         for (HotParamVO hotParamVO : hotDataList) {
@@ -152,15 +152,15 @@ public class SceneProServiceImpl implements ISceneProService {
 //        this.syncHotFromFileToRedis(num);
 
         //处理新增和修改数据
-        this.addOrUpdateHotDataHandler(num, addOrUpdateMap);
+        this.addOrUpdateHotDataHandler(num, subgroup, addOrUpdateMap);
     }
 
-    private void addOrUpdateIcons(String num, Set<String> icons) throws Exception{
+    private void addOrUpdateIcons(String num, Integer subgroup, Set<String> icons) throws Exception{
         if(CollUtil.isEmpty(icons)){
             return;
         }
 //        this.syncIconsFromFileToRedis(num);
-        String key = String.format(RedisKey.SCENE_HOT_ICONS, num);
+        String key = String.format(RedisKey.SCENE_HOT_ICONS, RedisKey.getNumStr(num, subgroup));
         redisClient.sSet(key, icons);
     }
 
@@ -309,8 +309,8 @@ public class SceneProServiceImpl implements ISceneProService {
         return iconList;
     }
 
-    private void publicHotData(String sceneNum) {
-        String hotDataKey = String.format(RedisKey.SCENE_HOT_DATA, sceneNum);
+    private void publicHotData(String sceneNum, Integer subgroup) {
+        String hotDataKey = String.format(RedisKey.SCENE_HOT_DATA, RedisKey.getNumStr(sceneNum, subgroup));
         Map<String, String> hotMap = redisClient.hmget(hotDataKey);
 
         JSONArray tags = new JSONArray();
@@ -468,7 +468,7 @@ public class SceneProServiceImpl implements ISceneProService {
 //    }
 
 
-    private void addOrUpdateHotDataHandler(String num, Map<String, String> addOrUpdateMap){
+    private void addOrUpdateHotDataHandler(String num, Integer subgroup, Map<String, String> addOrUpdateMap){
         if(CollUtil.isEmpty(addOrUpdateMap))
             return;
 
@@ -481,7 +481,7 @@ public class SceneProServiceImpl implements ISceneProService {
         }
 
         //批量写入缓存
-        String key = String.format(RedisKey.SCENE_HOT_DATA, num);
+        String key = String.format(RedisKey.SCENE_HOT_DATA, RedisKey.getNumStr(num, subgroup));
         redisClient.hmset(key, addOrUpdateMap);
     }