|
@@ -1,8 +1,11 @@
|
|
package com.fdkankan.scene.service.impl;
|
|
package com.fdkankan.scene.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.fdkankan.common.constant.*;
|
|
import com.fdkankan.common.constant.*;
|
|
@@ -24,8 +27,11 @@ import com.fdkankan.scene.service.ISceneEditControlsService;
|
|
import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
import com.fdkankan.scene.vo.*;
|
|
import com.fdkankan.scene.vo.*;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
import com.google.errorprone.annotations.Var;
|
|
import com.google.errorprone.annotations.Var;
|
|
|
|
+import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -131,37 +137,49 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
|
|
sceneJson.setFloorPlanStatus(CommonStatus.YES.code());
|
|
sceneJson.setFloorPlanStatus(CommonStatus.YES.code());
|
|
}
|
|
}
|
|
|
|
|
|
- //标识是否有热点
|
|
|
|
- sceneJson.setHots(CommonStatus.NO.code());
|
|
|
|
- String hotDataKey = String.format(RedisKey.SCENE_HOT_DATA, param.getNum());
|
|
|
|
- Map<String, String> hmget = redisUtil.hmget(hotDataKey);
|
|
|
|
- for (String key : hmget.keySet()) {
|
|
|
|
- if(StrUtil.isEmpty(hmget.get(key))){
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- sceneJson.setHots(CommonStatus.YES.code());
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ //处理热点数据,生成hot.json
|
|
|
|
+ this.publicHotData(sceneNum, sceneJson);
|
|
|
|
|
|
//上传sceneJson文件
|
|
//上传sceneJson文件
|
|
- String sceneJsonPath = String.format(ConstantFilePath.SCENE_VIEW_DATA_DATA_SCENEJSON, sceneNum);
|
|
|
|
|
|
+ String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", sceneNum);
|
|
uploadToOssUtil.upload(JSON.toJSONBytes(sceneJson), sceneJsonPath);
|
|
uploadToOssUtil.upload(JSON.toJSONBytes(sceneJson), sceneJsonPath);
|
|
|
|
|
|
|
|
+ //sceneJson放入缓存
|
|
|
|
+ String key = String.format(RedisKey.SCENE_JSON, sceneNum);
|
|
|
|
+ redisUtil.set(key, JSON.toJSONString(sceneJson));
|
|
|
|
+
|
|
//删除发布数据中的user目录
|
|
//删除发布数据中的user目录
|
|
- String publicUserPath = String.format(ConstantFilePath.SCENE_VIEW_DATA_USER, sceneNum);
|
|
|
|
|
|
+ String publicUserPath = String.format(UploadFilePath.USER_VIEW_PATH, sceneNum);
|
|
uploadToOssUtil.deleteFile(publicUserPath);
|
|
uploadToOssUtil.deleteFile(publicUserPath);
|
|
|
|
|
|
//复制编辑数据到发布目录
|
|
//复制编辑数据到发布目录
|
|
- String editUserPath = String.format(ConstantFilePath.SCENE_EDIT_DATA_USER, sceneNum);
|
|
|
|
|
|
+ String editUserPath = String.format(UploadFilePath.USER_EDIT_PATH, sceneNum);
|
|
uploadToOssUtil.copyFiles(editUserPath,publicUserPath);
|
|
uploadToOssUtil.copyFiles(editUserPath,publicUserPath);
|
|
|
|
|
|
- //sceneJson放入缓存
|
|
|
|
- String key = String.format(RedisKey.SCENE_JSON, sceneNum);
|
|
|
|
- redisUtil.set(key, JSON.toJSONString(sceneJson));
|
|
|
|
-
|
|
|
|
return ResultData.ok();
|
|
return ResultData.ok();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void publicHotData(String sceneNum, SceneJsonBean sceneJson) throws IOException {
|
|
|
|
+ sceneJson.setHots(CommonStatus.NO.code());
|
|
|
|
+ String hotDataKey = String.format(RedisKey.SCENE_HOT_DATA, sceneNum);
|
|
|
|
+ Map<String, String> hotMap = redisUtil.hmget(hotDataKey);
|
|
|
|
+ List<String> hotList = Lists.newArrayList();
|
|
|
|
+ hotMap.entrySet().stream().forEach(entry->{
|
|
|
|
+ if(StrUtil.isNotEmpty(entry.getValue())){
|
|
|
|
+ hotList.add(entry.getValue());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ if(CollUtil.isNotEmpty(hotList)){
|
|
|
|
+ sceneJson.setHots(CommonStatus.YES.code());
|
|
|
|
+ JSONArray jsonhots = new JSONArray();
|
|
|
|
+ hotList.stream().forEach(hot->{
|
|
|
|
+ jsonhots.add(JSONObject.parseObject(hot));
|
|
|
|
+ });
|
|
|
|
+ String hotJsonPath = String.format(UploadFilePath.USER_EDIT_PATH, sceneNum) + "hot.json";
|
|
|
|
+ uploadToOssUtil.upload(jsonhots.toString().getBytes(), hotJsonPath);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public SceneInfoVO getSceneInfo(@Var SceneInfoParamVO param) {
|
|
public SceneInfoVO getSceneInfo(@Var SceneInfoParamVO param) {
|
|
SceneInfoReqType sceneInfoReqType = SceneInfoReqType.get(param.getReqType());
|
|
SceneInfoReqType sceneInfoReqType = SceneInfoReqType.get(param.getReqType());
|