|
@@ -2176,7 +2176,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
-// @SystemServiceLog(description = "保存场景热点")
|
|
|
|
public ResultData tagSave(SaveHotParamVO param) throws Exception {
|
|
public ResultData tagSave(SaveHotParamVO param) throws Exception {
|
|
|
|
|
|
ScenePro scenePro = this.findBySceneNum(param.getNum());
|
|
ScenePro scenePro = this.findBySceneNum(param.getNum());
|
|
@@ -2206,6 +2205,46 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
return ResultData.ok();
|
|
return ResultData.ok();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public ResultData addOrUpdateTag(SaveHotParamVO param) throws Exception {
|
|
|
|
+
|
|
|
|
+ ScenePro scenePro = this.findBySceneNum(param.getNum());
|
|
|
|
+ if (scenePro == null)
|
|
|
|
+ return ResultData.error(ErrorCode.FAILURE_CODE_5005);
|
|
|
|
+
|
|
|
|
+ List<HotParamVO> hotDataList = param.getHotDataList();
|
|
|
|
+ Map<String, String> addOrUpdateMap = new HashMap<>();
|
|
|
|
+ hotDataList.stream().forEach(hotData -> {
|
|
|
|
+ addOrUpdateMap.put(hotData.getSid(), hotData.getHotData());
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ //处理新增和修改数据
|
|
|
|
+ this.addOrUpdateHotData(param.getNum(), addOrUpdateMap);
|
|
|
|
+
|
|
|
|
+ //保存数据库
|
|
|
|
+ this.saveTagsToSceneEditInfo(param.getNum(), scenePro.getId());
|
|
|
|
+
|
|
|
|
+ return ResultData.ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ResultData deleteTag(DeleteHotParamVO param) throws Exception {
|
|
|
|
+
|
|
|
|
+ ScenePro scenePro = this.findBySceneNum(param.getNum());
|
|
|
|
+ if (scenePro == null)
|
|
|
|
+ return ResultData.error(ErrorCode.FAILURE_CODE_5005);
|
|
|
|
+
|
|
|
|
+ List<String> deleteSidList = param.getSidList();
|
|
|
|
+
|
|
|
|
+ //处理删除状态数据
|
|
|
|
+ this.deleteHotData(param.getNum(), deleteSidList);
|
|
|
|
+
|
|
|
|
+ //保存数据库
|
|
|
|
+ this.saveTagsToSceneEditInfo(param.getNum(), scenePro.getId());
|
|
|
|
+
|
|
|
|
+ return ResultData.ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
private void saveTagsToSceneEditInfo(String num, Long sceneProId){
|
|
private void saveTagsToSceneEditInfo(String num, Long sceneProId){
|
|
//查询缓存是否包含热点数据
|
|
//查询缓存是否包含热点数据
|
|
String key = String.format(RedisKey.SCENE_HOT_DATA, num);
|
|
String key = String.format(RedisKey.SCENE_HOT_DATA, num);
|
|
@@ -2219,6 +2258,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //更改热点状态
|
|
SceneEditInfo sceneEditInfo = sceneEditInfoService.getBySceneProId(sceneProId);
|
|
SceneEditInfo sceneEditInfo = sceneEditInfoService.getBySceneProId(sceneProId);
|
|
if(Objects.isNull(sceneEditInfo)){
|
|
if(Objects.isNull(sceneEditInfo)){
|
|
sceneEditInfo = new SceneEditInfo();
|
|
sceneEditInfo = new SceneEditInfo();
|
|
@@ -2255,6 +2295,11 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
|
|
|
|
|
|
|
private void deleteHotData(String num, List<String> deleteSidList) throws IOException {
|
|
private void deleteHotData(String num, List<String> deleteSidList) throws IOException {
|
|
|
|
+
|
|
|
|
+ if(CollUtil.isEmpty(deleteSidList)){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
//从redis中加载热点数据
|
|
//从redis中加载热点数据
|
|
String key = String.format(RedisKey.SCENE_HOT_DATA, num);
|
|
String key = String.format(RedisKey.SCENE_HOT_DATA, num);
|
|
List<String> deletDataList = redisUtil.hMultiGet(key, deleteSidList);
|
|
List<String> deletDataList = redisUtil.hMultiGet(key, deleteSidList);
|