|
@@ -46,6 +46,7 @@ import com.fdkankan.redis.util.RedisUtil;
|
|
|
import com.fdkankan.scene.bean.SceneJsonBean;
|
|
|
import com.fdkankan.scene.entity.SceneEditControls;
|
|
|
import com.fdkankan.scene.entity.SceneEditInfo;
|
|
|
+import com.fdkankan.scene.entity.SceneEditInfoExt;
|
|
|
import com.fdkankan.scene.entity.SceneFileBuild;
|
|
|
import com.fdkankan.scene.entity.ScenePlus;
|
|
|
import com.fdkankan.scene.entity.ScenePlusExt;
|
|
@@ -55,6 +56,7 @@ import com.fdkankan.scene.service.IBuildSceneDTService;
|
|
|
import com.fdkankan.scene.service.IBuildScenePostService;
|
|
|
import com.fdkankan.scene.service.IBuildScenePreService;
|
|
|
import com.fdkankan.scene.service.ISceneEditControlsService;
|
|
|
+import com.fdkankan.scene.service.ISceneEditInfoExtService;
|
|
|
import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
|
import com.fdkankan.scene.service.ISceneFileBuildService;
|
|
|
import com.fdkankan.scene.service.IScenePlusExtService;
|
|
@@ -63,6 +65,7 @@ import com.fdkankan.scene.service.ISceneProExtService;
|
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
|
import com.fdkankan.scene.service.ISceneService;
|
|
|
import com.fdkankan.scene.vo.SceneEditControlsVO;
|
|
|
+import com.sun.org.apache.bcel.internal.generic.RETURN;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.util.Calendar;
|
|
@@ -129,6 +132,8 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
IScenePlusExtService scenePlusExtService;
|
|
|
@Autowired
|
|
|
IBuildSceneDTService buildSceneDTService;
|
|
|
+ @Autowired
|
|
|
+ ISceneEditInfoExtService sceneEditInfoExtService;
|
|
|
|
|
|
@Override
|
|
|
public void buildScenePost(BuildSceneResultMqMessage message) {
|
|
@@ -202,7 +207,8 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
|
|
|
Object[] editInfoArr = this.updateEditInfo(scenePro, scenePlus);
|
|
|
SceneEditInfo sceneEditInfo = (SceneEditInfo)editInfoArr[0];
|
|
|
- SceneEditControls sceneEditControls = (SceneEditControls)editInfoArr[1];
|
|
|
+ SceneEditInfoExt sceneEditInfoExt = (SceneEditInfoExt)editInfoArr[0];
|
|
|
+ SceneEditControls sceneEditControls = (SceneEditControls)editInfoArr[2];
|
|
|
|
|
|
String sceneUrl = mainUrl + "/" + sceneProNewUrl;
|
|
|
String outPathZh = ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+sceneCode+".png";
|
|
@@ -235,15 +241,8 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
// buildScenePreService.uploadLogFile(sceneCode, sceneProExt.getDataSource());
|
|
|
|
|
|
//写scene.json
|
|
|
- String sceneJson = this.writeSceneJson(sceneCode, videosJson,
|
|
|
- sceneEditInfo, sceneEditControls, scenePlus, scenePlusExt, arrearCap);
|
|
|
-
|
|
|
- //上传sceneJson文件
|
|
|
- String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH+"scene.json", sceneCode);
|
|
|
- uploadToOssUtil.upload(sceneJson.getBytes(), sceneJsonPath);
|
|
|
-
|
|
|
- //scenejson写入缓存
|
|
|
- redisUtil.set(String.format(RedisKey.SCENE_JSON, sceneCode), sceneJson);
|
|
|
+ this.writeSceneJson(sceneCode, videosJson,
|
|
|
+ sceneEditInfo, sceneEditInfoExt, sceneEditControls, scenePlus, scenePlusExt, arrearCap);
|
|
|
|
|
|
log.info("场景计算结果处理结束,场景码:{}", message.getSceneCode());
|
|
|
|
|
@@ -255,15 +254,15 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private String writeSceneJson(String num, JSONObject videosJson, SceneEditInfo sceneEditInfo,
|
|
|
+ private void writeSceneJson(String num, JSONObject videosJson, SceneEditInfo sceneEditInfo,SceneEditInfoExt sceneEditInfoExt,
|
|
|
SceneEditControls sceneEditControls, ScenePlus scenePlus, ScenePlusExt scenePlusExt, boolean arrearCap) throws Exception{
|
|
|
- String sceneJsonPath = String.format(ConstantFilePath.SCENE_PATH_FORMAT, num);
|
|
|
- String strsceneInfos = FileUtils.readFile(sceneJsonPath);
|
|
|
- SceneJsonBean sceneJson = null;
|
|
|
- if(strsceneInfos!=null){
|
|
|
- sceneJson = JSON.parseObject(strsceneInfos, SceneJsonBean.class);
|
|
|
- }else{
|
|
|
- sceneJson = BeanUtil.copyProperties(sceneEditInfo, SceneJsonBean.class);
|
|
|
+ String sceneJsonKey = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "scene.json";
|
|
|
+ boolean exist = uploadToOssUtil.existKey(sceneJsonKey);
|
|
|
+ //如果云端没有scene.json文件,生成一份
|
|
|
+ if(!exist){
|
|
|
+ SceneJsonBean sceneJson = new SceneJsonBean();
|
|
|
+ BeanUtil.copyProperties(sceneEditInfoExt, sceneJson);
|
|
|
+ BeanUtil.copyProperties(sceneEditInfo, sceneJson);
|
|
|
SceneEditControlsVO sceneEditControlsVO = BeanUtil.copyProperties(sceneEditControls, SceneEditControlsVO.class);
|
|
|
sceneJson.setControls(sceneEditControlsVO);
|
|
|
sceneJson.setNum(num);
|
|
@@ -271,16 +270,30 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
sceneJson.setSceneResolution(scenePlusExt.getSceneResolution());
|
|
|
sceneJson.setSceneFrom(scenePlusExt.getSceneFrom());
|
|
|
sceneJson.setVideos(videosJson);
|
|
|
+ if(arrearCap) {
|
|
|
+ sceneJson.setPayStatus(PayStatus.NO_CAPACITY.code());
|
|
|
+ }
|
|
|
+
|
|
|
+ String sceneJsonStr = JSON.toJSONString(sceneJson);
|
|
|
+ //上传sceneJson文件
|
|
|
+ uploadToOssUtil.upload(sceneJsonStr.getBytes(), sceneJsonKey);
|
|
|
+ //scenejson写入缓存
|
|
|
+ redisUtil.set(String.format(RedisKey.SCENE_JSON, num), sceneJsonStr);
|
|
|
}
|
|
|
- sceneJson.setVideos(videosJson);
|
|
|
|
|
|
- if(arrearCap) {
|
|
|
- sceneJson.setPayStatus(PayStatus.NO_CAPACITY.code());
|
|
|
+ // TODO: 2022/4/21 plus版本稳定后删除------------------------------------------start
|
|
|
+ String localSceneJsonPath = String.format(ConstantFilePath.SCENE_PATH_FORMAT, num);
|
|
|
+ String localSceneJson = FileUtils.readFile(localSceneJsonPath);
|
|
|
+ if(StrUtil.isNotEmpty(localSceneJson)){
|
|
|
+ JSONObject sceneJsonObject = JSON.parseObject(localSceneJson);
|
|
|
+ sceneJsonObject.put("videos", videosJson);
|
|
|
+ if(arrearCap) {
|
|
|
+ sceneJsonObject.put("payStatus", PayStatus.NO_CAPACITY.code());
|
|
|
+ }
|
|
|
+ FileUtils.writeFile(localSceneJsonPath, sceneJsonObject.toJSONString());
|
|
|
}
|
|
|
+ // TODO: 2022/4/21 plus版本稳定后删除------------------------------------------end
|
|
|
|
|
|
- String sceneJsonStr = JSON.toJSONString(sceneJson);
|
|
|
- FileUtils.writeFile(sceneJsonPath, sceneJsonStr);
|
|
|
- return sceneJsonStr;
|
|
|
}
|
|
|
|
|
|
private void sendSms(Integer pushChannel, String pushToken, int cameraType, String sceneName, String webSite){
|
|
@@ -688,6 +701,7 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
private Object[] updateEditInfo(ScenePro scenePro, ScenePlus scenePlus){
|
|
|
SceneEditInfo sceneEditInfo = sceneEditInfoService.getByScenePlusId(scenePlus.getId());
|
|
|
SceneEditControls sceneEditControls = null;
|
|
|
+ SceneEditInfoExt sceneEditInfoExt = null;
|
|
|
if(sceneEditInfo == null){
|
|
|
sceneEditInfo = new SceneEditInfo();
|
|
|
sceneEditInfo.setScenePlusId(scenePlus.getId());
|
|
@@ -695,14 +709,23 @@ public class BuildScenePostServiceImpl implements IBuildScenePostService {
|
|
|
sceneEditInfo.setDescription(scenePlus.getDescription());
|
|
|
sceneEditInfo.setTitle(scenePlus.getTitle());
|
|
|
sceneEditInfoService.save(sceneEditInfo);
|
|
|
+
|
|
|
}else{
|
|
|
sceneEditControls = sceneEditControlsService.getBySceneEditId(sceneEditInfo.getId());
|
|
|
+ sceneEditInfoExt = sceneEditInfoExtService.getByEditInfoId(sceneEditInfo.getId());
|
|
|
}
|
|
|
if(sceneEditControls == null){
|
|
|
sceneEditControls = new SceneEditControls();
|
|
|
sceneEditControls.setEditInfoId(sceneEditInfo.getId());
|
|
|
sceneEditControlsService.save(sceneEditControls);
|
|
|
}
|
|
|
- return new Object[]{sceneEditInfo, sceneEditControls};
|
|
|
+ if(sceneEditInfoExt == null){
|
|
|
+ sceneEditInfoExt = new SceneEditInfoExt();
|
|
|
+ sceneEditInfoExt.setScenePlusId(scenePlus.getId());
|
|
|
+ sceneEditInfoExt.setSceneProId(scenePro.getId());
|
|
|
+ sceneEditInfoExt.setEditInfoId(sceneEditInfo.getId());
|
|
|
+ sceneEditInfoExtService.save(sceneEditInfoExt);
|
|
|
+ }
|
|
|
+ return new Object[]{sceneEditInfo, sceneEditInfoExt, sceneEditControls};
|
|
|
}
|
|
|
}
|