dengsixing hai 10 meses
pai
achega
19a185b5c0

+ 2 - 2
src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -575,7 +575,7 @@ public class SceneEditController{
      * @return com.fdkankan.scene.vo.SceneAuthVO
      **/
     @PostMapping(value = "/getAuth")
-    public SceneAuthVO getAuth(@RequestParam("num") String num, @RequestParam(value = "subgroup", defaultValue = 0)Integer subgroup) throws Exception{
+    public SceneAuthVO getAuth(@RequestParam("num") String num, @RequestParam(value = "subgroup", defaultValue = "0")Integer subgroup) throws Exception{
         return sceneEditService.getAuth(num, subgroup);
     }
 //
@@ -672,7 +672,7 @@ public class SceneEditController{
      **/
     @PostMapping(value = "/mosaics/list")
     public ResultData getMosaicList(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
-        return ResultData.ok(sceneEditInfoService.getMosaicList(param.getNum()));
+        return ResultData.ok(sceneEditInfoService.getMosaicList(param.getNum(), param.getSubgroup()));
     }
 
     /**

+ 2 - 2
src/main/java/com/fdkankan/scene/controller/SceneEditDrawController.java

@@ -21,8 +21,8 @@ public class SceneEditDrawController{
     private ISceneDrawService sceneDrawService;
 
     @GetMapping(value = "/list")
-    public ResultData listSceneDraw(@RequestParam("num") String num) throws Exception {
-        return ResultData.ok(sceneDrawService.listSceneDraw(num));
+    public ResultData listSceneDraw(@RequestParam("num") String num, @RequestParam(value = "subgroup", defaultValue = "0") Integer subgroup) throws Exception {
+        return ResultData.ok(sceneDrawService.listSceneDraw(num, subgroup));
     }
 
     @PostMapping(value = "/save")

+ 2 - 2
src/main/java/com/fdkankan/scene/service/ISceneDrawService.java

@@ -11,10 +11,10 @@ public interface ISceneDrawService {
 
     void saveSceneDraw(BaseJsonArrayParamVO param) throws Exception;
 
-    List<JSONObject> listSceneDraw(String num) throws Exception;
+    List<JSONObject> listSceneDraw(String num, Integer subgroup) throws Exception;
 
     void deleteSceneDraw(DeleteSidListParamVO param) throws Exception;
 
-    void publicSceneDraw(String sceneNum) throws IOException;
+    void publicSceneDraw(String sceneNum, Integer subgroup) throws IOException;
 
 }

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

@@ -22,7 +22,7 @@ public interface SceneEditInfoExtService extends IService<SceneEditInfoExt> {
 
     SceneEditInfoExt getByEditInfoId(long editInfoId);
 
-    void updateToursByNum(String num, Integer tours);
+    void updateToursByNum(String num, Integer subgroup, Integer tours);
 
     ResultData saveBillboards(BaseJsonArrayParamVO param) throws Exception;
 

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

@@ -46,7 +46,7 @@ public interface SceneEditInfoService extends IService<SceneEditInfo> {
 
     void upgradeVersionAndImgVersionById(Long id);
 
-    void upgradeSceneJsonVersion(String num, int version, Integer imgVersion) throws IOException ;
+    void upgradeSceneJsonVersion(String num, Integer subgroup, int version, Integer imgVersion) throws IOException ;
 //
 //    ResultData uploadPanorama(String num, MultipartFile file) throws Exception;
 //

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

@@ -47,7 +47,7 @@ public class FYunFileServiceImpl implements FYunFileService {
         FileUtil.writeBytes(data, tempFile);
         Map<String, String> mapping = fdfsUtil.uploadFile(tempFile.getAbsolutePath());
         //添加记录
-        SceneFileMapping sceneFileMapping =  sceneFileMappingService.getByKey(key);
+        SceneFileMapping sceneFileMapping =  sceneFileMappingService.getByKey(key, subgroup);
         if(Objects.isNull(sceneFileMapping)){
             sceneFileMapping = new SceneFileMapping();
         }

+ 22 - 22
src/main/java/com/fdkankan/scene/service/impl/SceneDrawServiceImpl.java

@@ -45,22 +45,22 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
     @Override
     public void saveSceneDraw(BaseJsonArrayParamVO param) throws Exception {
 
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
 
-        this.addOrUpdate(param.getNum(), param.getData());
+        this.addOrUpdate(param.getNum(), param.getSubgroup(), param.getData());
 
         //保存数据库
         SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByScenePlusId(scenePlus.getId());
-        this.updateDb(param.getNum(), scenePlus.getId());
+        this.updateDb(param.getNum(), param.getSubgroup(), scenePlus.getId());
 
         sceneEditInfoService.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
 
-        this.publicSceneDraw(param.getNum());
+        this.publicSceneDraw(param.getNum(), param.getSubgroup());
     }
 
-    private void updateDb(String num, Long scenePlusId){
+    private void updateDb(String num, Integer subgroup, Long scenePlusId){
         //查询缓存是否包含热点数据
-        String key = String.format(RedisKey.SCENE_DRAW, num);
+        String key = String.format(RedisKey.SCENE_DRAW, RedisKey.getNumStr(num, subgroup));
         Map<String, String> map = redisClient.hmget(key);
         boolean hasSceneDraw= false;
         for (Map.Entry<String, String> tagMap : map.entrySet()) {
@@ -78,7 +78,7 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
                         .eq(SceneEditInfoExt::getScenePlusId,scenePlusId));
     }
 
-    private void addOrUpdate(String num, List<JSONObject> data) throws Exception{
+    private void addOrUpdate(String num, Integer subgroup, List<JSONObject> data) throws Exception{
         Map<String, String> addOrUpdateMap = new HashMap<>();
         int i = 0;
         for (JSONObject jsonObject : data) {
@@ -89,15 +89,15 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
 //        this.syncFileToRedis(num);
 
         //处理新增和修改数据
-        this.addOrUpdateHandler(num, addOrUpdateMap);
+        this.addOrUpdateHandler(num, subgroup, addOrUpdateMap);
     }
 
-    private void addOrUpdateHandler(String num, Map<String, String> addOrUpdateMap){
+    private void addOrUpdateHandler(String num, Integer subgroup, Map<String, String> addOrUpdateMap){
         if(CollUtil.isEmpty(addOrUpdateMap))
             return;
 
         //批量写入缓存
-        String key = String.format(RedisKey.SCENE_DRAW, num);
+        String key = String.format(RedisKey.SCENE_DRAW, RedisKey.getNumStr(num, subgroup));
         redisClient.hmset(key, addOrUpdateMap);
 
         //写入本地文件,作为备份
@@ -165,12 +165,12 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
 //    }
 
     @Override
-    public List<JSONObject> listSceneDraw(String num) throws Exception {
+    public List<JSONObject> listSceneDraw(String num, Integer subgroup) throws Exception {
         List<JSONObject> tags = new ArrayList<>();
 //        this.syncFileToRedis(num);
 
         //获取裁剪模型数据
-        String key = String.format(RedisKey.SCENE_DRAW, num);
+        String key = String.format(RedisKey.SCENE_DRAW, RedisKey.getNumStr(num, subgroup));
         List<String> list = redisClient.hgetValues(key);
         if(CollUtil.isNotEmpty(list)){
             List<TagBean> sortList = list.stream().map(str -> {
@@ -190,28 +190,28 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
 
     @Override
     public void deleteSceneDraw(DeleteSidListParamVO param) throws Exception {
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
         List<String> deleteSidList = param.getSidList();
 //        this.syncFileToRedis(param.getNum());
         //处理删除状态数据
-        this.deleteCache(param.getNum(), deleteSidList);
+        this.deleteCache(param.getNum(), param.getSubgroup(), deleteSidList);
         //写入本地文件,作为备份
 //        this.writeFile(param.getNum());
         //保存数据库
         SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByScenePlusId(scenePlus.getId());
-        this.updateDb(param.getNum(), scenePlus.getId());
+        this.updateDb(param.getNum(), param.getSubgroup(), scenePlus.getId());
         sceneEditInfoService.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
 
-        this.publicSceneDraw(param.getNum());
+        this.publicSceneDraw(param.getNum(), param.getSubgroup());
     }
 
-    private List<String> deleteCache(String num, List<String> deleteSidList) {
+    private List<String> deleteCache(String num, Integer subgroup, List<String> deleteSidList) {
         if(CollUtil.isEmpty(deleteSidList)){
             return null;
         }
 
         //从redis中加载热点数据
-        String key = String.format(RedisKey.SCENE_DRAW, num);
+        String key = String.format(RedisKey.SCENE_DRAW, RedisKey.getNumStr(num, subgroup));
         List<String> deletDataList = redisClient.hMultiGet(key, deleteSidList);
         if(CollUtil.isNotEmpty(deletDataList)){
             redisClient.hdel(key, deletDataList);
@@ -220,15 +220,15 @@ public class SceneDrawServiceImpl implements ISceneDrawService {
     }
 
     @Override
-    public void publicSceneDraw(String sceneNum) throws IOException {
-        String Key = String.format(RedisKey.SCENE_DRAW, sceneNum);
+    public void publicSceneDraw(String sceneNum, Integer subgroup) throws IOException {
+        String Key = String.format(RedisKey.SCENE_DRAW, RedisKey.getNumStr(sceneNum, subgroup));
         String userEditPath = String.format(UploadFilePath.USER_VIEW_PATH, sceneNum) + SCENE_DRAW_JSON_NAME;
         List<String> list = redisClient.hgetValues(Key);
         if(CollUtil.isEmpty(list)){
-            sceneFileMappingService.delByNumAndKey(sceneNum, userEditPath);
+            fYunFileService.deleteFile(sceneNum, subgroup, userEditPath);
             return;
         }
         List<JSONObject> collect = list.stream().map(str -> JSON.parseObject(str)).collect(Collectors.toList());
-        fYunFileService.uploadFile(sceneNum, JSON.toJSONString(collect).getBytes(), userEditPath);
+        fYunFileService.uploadFile(sceneNum, subgroup, JSON.toJSONString(collect).getBytes(), userEditPath);
     }
 }

+ 31 - 31
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoExtServiceImpl.java

@@ -71,8 +71,8 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
     }
 
     @Override
-    public void updateToursByNum(String num, Integer tours) {
-        Scene scenePlus = scenePlusService.getByNum(num);
+    public void updateToursByNum(String num, Integer subgroup, Integer tours) {
+        Scene scenePlus = scenePlusService.getByNum(num, subgroup);
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
@@ -85,18 +85,18 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 
     @Override
     public ResultData saveBillboards(BaseJsonArrayParamVO param) throws Exception {
-        Scene scenePlus = scenePlusService.getByNum(param.getNum());
+        Scene scenePlus = scenePlusService.getByNum(param.getNum(), param.getSubgroup());
 
-        this.addOrUpdateBillboards(param.getNum(), param.getData());
+        this.addOrUpdateBillboards(param.getNum(), param.getSubgroup(), param.getData());
 
-        this.addOrUpdateBillboardsStyles(param.getNum(), param.getStyles());
+        this.addOrUpdateBillboardsStyles(param.getNum(), param.getSubgroup(), param.getStyles());
 
         //保存数据库
         SceneEditInfoExt sceneEditInfoExt = this.getByScenePlusId(scenePlus.getId());
-        this.updateBillboards(param.getNum(), sceneEditInfoExt);
+        this.updateBillboards(param.getNum(), param.getSubgroup(),  sceneEditInfoExt);
 //        this.updateById(sceneEditInfoExt);
 
-        this.publicBillboardData(param.getNum());
+        this.publicBillboardData(param.getNum(), param.getSubgroup());
 
         sceneEditInfoService.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
 
@@ -104,7 +104,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
         return ResultData.ok();
     }
 
-    private void addOrUpdateBillboardsStyles(String num, List<JSONObject> styles) throws Exception{
+    private void addOrUpdateBillboardsStyles(String num, Integer subgroup, List<JSONObject> styles) throws Exception{
 
 //        this.syncBillboardsStylesFromFileToRedis(num);
 
@@ -121,7 +121,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
             styleMap.put(id, style.toJSONString());
         });
 
-        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, num);
+        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, RedisKey.getNumStr(num, subgroup));
         redisClient.hmset(key, styleMap);
 
         //写入本地文件,作为备份
@@ -170,23 +170,23 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 
     @Override
     public ResultData deleteBillboards(DeleteSidListParamVO param) throws Exception {
-        Scene scenePlus = scenePlusService.getByNum(param.getNum());
+        Scene scenePlus = scenePlusService.getByNum(param.getNum(), param.getSubgroup());
 
         List<String> deleteSidList = param.getSidList();
 
 //        this.syncBillboardsFromFileToRedis(param.getNum());
 
         //处理删除状态数据
-        this.deleteBillboardsHandler(param.getNum(), deleteSidList);
+        this.deleteBillboardsHandler(param.getNum(), param.getSubgroup(), deleteSidList);
 
         //写入本地文件,作为备份
 //        this.writeBillboardJson(param.getNum());
 
-        this.publicBillboardData(param.getNum());
+        this.publicBillboardData(param.getNum(), param.getSubgroup());
 
         //保存数据库
         SceneEditInfoExt sceneEditInfoExt = this.getByScenePlusId(scenePlus.getId());
-        this.updateBillboards(param.getNum(), sceneEditInfoExt);
+        this.updateBillboards(param.getNum(), param.getSubgroup(), sceneEditInfoExt);
         sceneEditInfoService.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
 
         return ResultData.ok();
@@ -198,12 +198,12 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
         JSONObject result = new JSONObject();
         List<JSONObject> tags = new ArrayList<>();
         List<JSONObject> styles = new ArrayList<>();
-        Scene scenePlus = scenePlusService.getByNum(param.getNum());
+        Scene scenePlus = scenePlusService.getByNum(param.getNum(), param.getSubgroup());
 
 //        this.syncBillboardsFromFileToRedis(param.getNum());
 
         //获取指示牌数据
-        String key = String.format(RedisKey.SCENE_BILLBOARDS, param.getNum());
+        String key = String.format(RedisKey.SCENE_BILLBOARDS, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         List<String> list = redisClient.hgetValues(key);
         if(CollUtil.isNotEmpty(list)){
             List<TagBean> sortList = list.stream().map(str -> {
@@ -221,7 +221,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 
         //获取图标数据
 //        this.syncBillboardsStylesFromFileToRedis(param.getNum());
-        key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, param.getNum());
+        key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         List<String> sytlelist = redisClient.hgetValues(key);
         if(CollUtil.isNotEmpty(sytlelist)){
             List<TagBean> stileSortList = sytlelist.stream().map(str -> {
@@ -240,13 +240,13 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
         return result;
     }
 
-    private void deleteBillboardsHandler(String num, List<String> deleteSidList) throws Exception {
+    private void deleteBillboardsHandler(String num, Integer subgroup,  List<String> deleteSidList) throws Exception {
         if(CollUtil.isEmpty(deleteSidList)){
             return;
         }
 
         //从redis中加载热点数据
-        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+        String key = String.format(RedisKey.SCENE_BILLBOARDS, RedisKey.getNumStr(num, subgroup));
         List<String> deletDataList = redisClient.hMultiGet(key, deleteSidList);
         if(CollUtil.isEmpty(deletDataList))
             return;
@@ -254,7 +254,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
         redisClient.hdel(key, deleteSidList);
     }
 
-    private void addOrUpdateBillboards(String num, List<JSONObject> data) throws Exception{
+    private void addOrUpdateBillboards(String num, Integer subgroup, List<JSONObject> data) throws Exception{
         Map<String, String> addOrUpdateMap = new HashMap<>();
         int i = 0;
         for (JSONObject jsonObject : data) {
@@ -265,7 +265,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 //        this.syncBillboardsFromFileToRedis(num);
 
         //处理新增和修改数据
-        this.addOrUpdateBillboardsHandler(num, addOrUpdateMap);
+        this.addOrUpdateBillboardsHandler(num, subgroup, addOrUpdateMap);
     }
 //
 //    /**
@@ -313,12 +313,12 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 //        }
 //    }
 //
-    private void addOrUpdateBillboardsHandler(String num, Map<String, String> addOrUpdateMap){
+    private void addOrUpdateBillboardsHandler(String num, Integer subgroup, Map<String, String> addOrUpdateMap){
         if(CollUtil.isEmpty(addOrUpdateMap))
             return;
 
         //批量写入缓存
-        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+        String key = String.format(RedisKey.SCENE_BILLBOARDS, RedisKey.getNumStr(num, subgroup));
         redisClient.hmset(key, addOrUpdateMap);
 
         //写入本地文件,作为备份
@@ -378,9 +378,9 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 //        }
 //    }
 
-    private void updateBillboards(String num, SceneEditInfoExt sceneEditInfoExt){
+    private void updateBillboards(String num, Integer subgroup, SceneEditInfoExt sceneEditInfoExt){
         //查询缓存是否包含热点数据
-        String key = String.format(RedisKey.SCENE_BILLBOARDS, num);
+        String key = String.format(RedisKey.SCENE_BILLBOARDS, RedisKey.getNumStr(num, subgroup));
         Map<String, String> billboardsMap = redisClient.hmget(key);
         boolean hashBillboards= false;
         for (Map.Entry<String, String> tagMap : billboardsMap.entrySet()) {
@@ -396,22 +396,22 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
         this.updateById(sceneEditInfoExt);
     }
 
-    private void publicBillboardData(String sceneNum) throws IOException {
-        String Key = String.format(RedisKey.SCENE_BILLBOARDS, sceneNum);
+    private void publicBillboardData(String sceneNum, Integer subgroup) throws IOException {
+        String Key = String.format(RedisKey.SCENE_BILLBOARDS, RedisKey.getNumStr(sceneNum, subgroup));
         String userEditPath = String.format(UploadFilePath.USER_VIEW_PATH, sceneNum) + "billboards.json";
         List<String> list = redisClient.hgetValues(Key);
         if(CollUtil.isEmpty(list)){
-            sceneFileMappingService.delByNumAndKey(sceneNum, userEditPath);
+            fYunFileService.deleteFile(sceneNum, subgroup, userEditPath);
             return;
         }
         List<JSONObject> collect = list.stream().map(str -> JSON.parseObject(str)).collect(Collectors.toList());
-        fYunFileService.uploadFile(sceneNum, JSON.toJSONString(collect).getBytes(), userEditPath);
+        fYunFileService.uploadFile(sceneNum, subgroup, JSON.toJSONString(collect).getBytes(), userEditPath);
     }
 
 
     @Override
     public ResultData deleteBillboardsStyles(DeleteStylesParamVO param) throws Exception {
-        Scene scenePlus = scenePlusService.getByNum(param.getNum());
+        Scene scenePlus = scenePlusService.getByNum(param.getNum(), param.getSubgroup());
         if (scenePlus == null)
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
 
@@ -419,7 +419,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 
 //        this.syncBillboardsStylesFromFileToRedis(param.getNum());
 
-        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, param.getNum());
+        String key = String.format(RedisKey.SCENE_BILLBOARDS_STYLES, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         List<String> deleteList = redisClient.hMultiGet(key, sidList);
         redisClient.hdel(key, sidList);
 
@@ -434,7 +434,7 @@ public class SceneEditInfoExtServiceImpl extends ServiceImpl<SceneEditInfoExtMap
 
         deleteFileList.stream().forEach(v->{
             String fileKey = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum()) + v;
-            sceneFileMappingService.delByNumAndKey(param.getNum(), fileKey);
+            fYunFileService.deleteFile(param.getNum(), param.getSubgroup(), fileKey);
         });
 
         return ResultData.ok();

+ 24 - 24
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -314,19 +314,19 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //        fYunFileService.uploadFile(bucket, JSON.toJSONString(surveillanceList).getBytes(StandardCharsets.UTF_8), surveillanceJsonPath);
 //    }
 
-    private void publicFilterData(String num, int filters) throws IOException {
+    private void publicFilterData(String num, Integer subgroup, int filters) throws IOException {
 
         String userEditPath = String.format(UploadFilePath.USER_VIEW_PATH, num);
         String fileKey = userEditPath + "filter.json";
         if(filters == CommonStatus.NO.code()){
-            sceneFileMappingService.delByNumAndKey(num, fileKey);
+            sceneFileMappingService.delByNumAndKey(num, subgroup, fileKey);
             return;
         }
-        String key = String.format(RedisKey.SCENE_filter_DATA, num);
+        String key = String.format(RedisKey.SCENE_filter_DATA, RedisKey.getNumStr(num, subgroup));
         List<String> list = redisClient.lGet(key, 0, -1);
         JSONArray jsonArray = new JSONArray();
         list.stream().forEach(str->jsonArray.add(JSON.parseObject(str)));
-        fYunFileService.uploadFile(num, JSON.toJSONBytes(jsonArray), userEditPath + "filter.json");
+        fYunFileService.uploadFile(num, subgroup, JSON.toJSONBytes(jsonArray), userEditPath + "filter.json");
     }
 //
 //    public void publicLinkSceneData(String num, String bucket) throws IOException {
@@ -940,10 +940,10 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
     }
 
     @Override
-    public void upgradeSceneJsonVersion(String num, int version, Integer imgVersion) throws IOException {
+    public void upgradeSceneJsonVersion(String num, Integer subgroup, int version, Integer imgVersion) throws IOException {
 
         //更新redis缓存版本号
-        String key = String.format(RedisKey.SCENE_JSON, num);
+        String key = String.format(RedisKey.SCENE_JSON, RedisKey.getNumStr(num, subgroup));
         String sceneJson = redisClient.get(key);
         if(StrUtil.isNotEmpty(sceneJson)){
             SceneJsonBean sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
@@ -958,7 +958,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 
         //更新oss scene.json版本号
         String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
-        sceneJson= fYunFileService.getFileContent(sceneJsonPath);
+        sceneJson= fYunFileService.getFileContent(sceneJsonPath, subgroup);
         if(StrUtil.isNotEmpty(sceneJson)){
             SceneJsonBean sceneJsonBean = JSON.parseObject(sceneJson, SceneJsonBean.class);
             if(Objects.nonNull(version)){
@@ -967,7 +967,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
             if(Objects.nonNull(imgVersion)){
                 sceneJsonBean.setImgVersion(imgVersion);
             }
-            fYunFileService.uploadFile(num, JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonPath);
+            fYunFileService.uploadFile(num, subgroup, JSON.toJSONString(sceneJsonBean).getBytes(StandardCharsets.UTF_8), sceneJsonPath);
         }
 
     }
@@ -1804,7 +1804,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
     @Override
     public ResultData addMosaics(BaseDataParamVO param) throws Exception {
 
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
@@ -1823,14 +1823,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
             }
             map.put(panoId, JSON.toJSONString(mosaic));
         }
-        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, param.getNum());
+        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         redisClient.hmset(key, map);
 
         //写入本地文件,作为备份
 //        this.writeMosaic(param.getNum());
 
         //更新数据库
-        this.updateMosaicFlag(param.getNum());
+        this.updateMosaicFlag(param.getNum(), param.getSubgroup());
 
         //更新版本号
         this.upgradeVersionById(sceneEditInfo.getId());
@@ -1838,11 +1838,11 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
         return ResultData.ok();
     }
 
-    private void updateMosaicFlag(String num){
-        Scene scenePlus = sceneService.getByNum(num);
+    private void updateMosaicFlag(String num, Integer subgroup){
+        Scene scenePlus = sceneService.getByNum(num, subgroup);
         SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByScenePlusId(scenePlus.getId());
 
-        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, num);
+        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, RedisKey.getNumStr(num, subgroup));
         Map<String, String> hmget = redisClient.hmget(key);
         if(CollUtil.isNotEmpty(hmget)){
             sceneEditInfoExt.setMosaic(CommonStatus.YES.code());
@@ -2654,7 +2654,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
     @Override
     public ResultData deleteMosaics(DeleteMosaicParamVO param) throws Exception {
 
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
@@ -2663,14 +2663,14 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
         //如果redis数据丢失,从本地文件中同步马赛克数据到redis
 //        this.syncMosaicFromFileToRedis(param.getNum());
 
-        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, param.getNum());
+        String key = String.format(RedisKey.SCENE_MOSAIC_DATA, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         redisClient.hdel(key, param.getPanoIdList());
 
         //写入本地文件,作为备份
 //        this.writeMosaic(param.getNum());
 
         //更新数据库
-        this.updateMosaicFlag(param.getNum());
+        this.updateMosaicFlag(param.getNum(), param.getSubgroup());
 
         //更新版本号
         this.upgradeVersionById(sceneEditInfo.getId());
@@ -2693,7 +2693,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 
     @Override
     public ResultData addWaterMark(BaseFileParamVO param) throws Exception {
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
@@ -2706,13 +2706,13 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 
     @Override
     public ResultData deleteWaterMark(BaseFileParamVO param) throws Exception {
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
 
         String key = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum()) + param.getFileName();
-        sceneFileMappingService.delByNumAndKey(param.getNum(), key);
+        fYunFileService.deleteFile(param.getNum(), param.getSubgroup(), key);
 
         SceneEditInfoExt sceneEditInfoExt = sceneEditInfoExtService.getByScenePlusId(scenePlus.getId());
         sceneEditInfoExt.setWaterMark("");
@@ -2724,12 +2724,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
     @Override
     public ResultData saveFilter(SaveFiltersParamVO param) throws Exception {
 
-        Scene scenePlus = sceneService.getByNum(param.getNum());
+        Scene scenePlus = sceneService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
 
-        String key = String.format(RedisKey.SCENE_filter_DATA, param.getNum());
+        String key = String.format(RedisKey.SCENE_filter_DATA, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         redisClient.del(key);//前端将全量数据传过来,所以这里先清空历史数据,然后保存前端数据即可
         JSONArray filterArr = JSON.parseArray(param.getData());
         int filters = CommonStatus.YES.code();
@@ -2757,7 +2757,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
         //更新版本号
         this.upgradeVersionById(sceneEditInfoExt.getEditInfoId());
 
-        this.publicFilterData(param.getNum(), filters);
+        this.publicFilterData(param.getNum(), param.getSubgroup(), filters);
 
         return ResultData.ok();
 
@@ -2827,7 +2827,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<SceneEditInfoMapper, S
 //        this.syncFiltersFromFileToRedis(param.getNum());
 
         //查询redis
-        String key = String.format(RedisKey.SCENE_filter_DATA, param.getNum());
+        String key = String.format(RedisKey.SCENE_filter_DATA, RedisKey.getNumStr(param.getNum(), param.getSubgroup()));
         List<String> list = redisClient.lGet(key, 0, -1);
         List<JSONObject> collect =
                 list.stream().map(str -> JSON.parseObject(str)).collect(Collectors.toList());

+ 7 - 7
src/main/java/com/fdkankan/scene/service/impl/SceneEditServiceImpl.java

@@ -106,27 +106,27 @@ public class SceneEditServiceImpl implements ISceneEditService {
 
     @Override
     public ResultData saveTour(BaseDataParamVO param) throws IOException {
-        Scene scenePlus = scenePlusService.getByNum(param.getNum());
+        Scene scenePlus = scenePlusService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
         String key = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum()) + "tour.json";
-        fYunFileService.uploadFile(param.getNum(), param.getData().getBytes(StandardCharsets.UTF_8), key);
+        fYunFileService.uploadFile(param.getNum(), param.getSubgroup(), param.getData().getBytes(StandardCharsets.UTF_8), key);
 
-        sceneEditInfoExtService.updateToursByNum(param.getNum(), CommonStatus.YES.code());
+        sceneEditInfoExtService.updateToursByNum(param.getNum(), param.getSubgroup(), CommonStatus.YES.code());
 
         return ResultData.ok();
     }
 
     @Override
     public ResultData deleteTour(BaseSceneParamVO param) throws Exception {
-        Scene scenePlus = scenePlusService.getByNum(param.getNum());
+        Scene scenePlus = scenePlusService.getByNum(param.getNum(), param.getSubgroup());
         if(Objects.isNull(scenePlus)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
         String userEditPath = String.format(UploadFilePath.USER_VIEW_PATH, param.getNum());
         String tourJsonPath = userEditPath + "tour.json";
-        String tourJson = fYunFileService.getFileContent(tourJsonPath);
+        String tourJson = fYunFileService.getFileContent(tourJsonPath, param .getSubgroup());
         JSONArray tours = JSON.parseArray(tourJson);
         if(CollUtil.isNotEmpty(tours)){
             List<String> fileNames = new ArrayList<>();
@@ -164,9 +164,9 @@ public class SceneEditServiceImpl implements ISceneEditService {
 //            }
         }
         //删除tour.json文件
-        sceneFileMappingService.delByNumAndKey(param.getNum(), tourJsonPath);
+        sceneFileMappingService.delByNumAndKey(param.getNum(), param.getSubgroup(), tourJsonPath);
 
-        sceneEditInfoExtService.updateToursByNum(param.getNum(), CommonStatus.NO.code());
+        sceneEditInfoExtService.updateToursByNum(param.getNum(), param.getSubgroup(), CommonStatus.NO.code());
 
         return ResultData.ok();
     }

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

@@ -624,7 +624,7 @@ public class SceneProServiceImpl implements ISceneProService {
         }else{
             sceneEditInfoService.upgradeVersionAndImgVersionById(editInfo.getId());
             //更新scenejson缓存和oss文件版本号
-            sceneEditInfoService.upgradeSceneJsonVersion(param.getNum(), editInfo.getVersion() + 1, editInfo.getImgVersion() + 1);
+            sceneEditInfoService.upgradeSceneJsonVersion(param.getNum(), param.getSubgroup(), editInfo.getVersion() + 1, editInfo.getImgVersion() + 1);
         }
 
         return ResultData.ok();

+ 1 - 7
src/main/java/com/fdkankan/scene/vo/BaseFileParamVO.java

@@ -12,13 +12,7 @@ import lombok.Data;
  * @since 2022/2/22
  **/
 @Data
-public class BaseFileParamVO {
-
-    /**
-     * 场景码
-     */
-    @NotBlank(message = "场景码不能为空")
-    private String num;
+public class BaseFileParamVO extends BaseSceneParamVO{
 
     /**
      * 文件名

+ 1 - 4
src/main/java/com/fdkankan/scene/vo/DeleteMosaicParamVO.java

@@ -15,10 +15,7 @@ import lombok.Data;
  * @return null
  **/
 @Data
-public class DeleteMosaicParamVO {
-
-    @NotBlank(message = "场景码不能为空")
-    private String num;
+public class DeleteMosaicParamVO extends BaseSceneParamVO{
 
     @NotNull(message = "panoIdList不能为空")
     private List<String> panoIdList;