|
@@ -4,9 +4,13 @@ import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
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.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.fdkankan.common.constant.ConstantFilePath;
|
|
import com.fdkankan.common.constant.ConstantFilePath;
|
|
|
|
+import com.fdkankan.common.constant.SceneKind;
|
|
|
|
+import com.fdkankan.common.constant.SceneResolution;
|
|
import com.fdkankan.common.constant.UploadFilePath;
|
|
import com.fdkankan.common.constant.UploadFilePath;
|
|
|
|
+import com.fdkankan.common.response.Result;
|
|
import com.fdkankan.common.response.ResultData;
|
|
import com.fdkankan.common.response.ResultData;
|
|
import com.fdkankan.common.util.FileUtils;
|
|
import com.fdkankan.common.util.FileUtils;
|
|
import com.fdkankan.common.util.MatrixToImageWriterUtil;
|
|
import com.fdkankan.common.util.MatrixToImageWriterUtil;
|
|
@@ -17,16 +21,21 @@ import com.fdkankan.redis.constant.RedisKey;
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
import com.fdkankan.repair.bean.SceneRepairParamVO;
|
|
import com.fdkankan.repair.bean.SceneRepairParamVO;
|
|
import com.fdkankan.repair.bean.SceneUpgradeProgressBean;
|
|
import com.fdkankan.repair.bean.SceneUpgradeProgressBean;
|
|
|
|
+import com.fdkankan.repair.entity.ScenePlus;
|
|
|
|
+import com.fdkankan.repair.entity.ScenePlusExt;
|
|
import com.fdkankan.repair.entity.ScenePro;
|
|
import com.fdkankan.repair.entity.ScenePro;
|
|
import com.fdkankan.repair.entity.SceneProExt;
|
|
import com.fdkankan.repair.entity.SceneProExt;
|
|
import com.fdkankan.repair.httpclient.FdkankanMiniClient;
|
|
import com.fdkankan.repair.httpclient.FdkankanMiniClient;
|
|
import com.fdkankan.repair.service.IScenePlusExtService;
|
|
import com.fdkankan.repair.service.IScenePlusExtService;
|
|
|
|
+import com.fdkankan.repair.service.IScenePlusService;
|
|
import com.fdkankan.repair.service.ISceneProExtService;
|
|
import com.fdkankan.repair.service.ISceneProExtService;
|
|
import com.fdkankan.repair.service.ISceneProService;
|
|
import com.fdkankan.repair.service.ISceneProService;
|
|
import com.fdkankan.repair.service.ISceneResourceService;
|
|
import com.fdkankan.repair.service.ISceneResourceService;
|
|
import com.fdkankan.repair.service.impl.SceneRepairService;
|
|
import com.fdkankan.repair.service.impl.SceneRepairService;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
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;
|
|
@@ -78,6 +87,10 @@ public class SceneRepairController {
|
|
private String mainUrl;
|
|
private String mainUrl;
|
|
@Value("${scene.pro.new.url}")
|
|
@Value("${scene.pro.new.url}")
|
|
private String sceneProNewUrl;
|
|
private String sceneProNewUrl;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IScenePlusService scenePlusService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IScenePlusExtService scenePlusExtService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 最大线程数
|
|
* 最大线程数
|
|
@@ -228,6 +241,59 @@ public class SceneRepairController {
|
|
return "ok";
|
|
return "ok";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @GetMapping("/repairResokutionAndKind")
|
|
|
|
+ public ResultData repairResokutionAndKind(String num) throws Exception{
|
|
|
|
+
|
|
|
|
+ //修复t_scene_plus_ext
|
|
|
|
+ String[] numArr = null;
|
|
|
|
+ if(StrUtil.isNotEmpty(num)){
|
|
|
|
+ numArr = num.split(",");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<ScenePlus> scenePlusList = null;
|
|
|
|
+ if(Objects.isNull(numArr)){
|
|
|
|
+ scenePlusList = scenePlusService.list();
|
|
|
|
+ }else{
|
|
|
|
+ scenePlusList = scenePlusService.list(new LambdaQueryWrapper<ScenePlus>().in(ScenePlus::getNum, numArr));
|
|
|
|
+ }
|
|
|
|
+ if(CollUtil.isEmpty(scenePlusList)){
|
|
|
|
+ return ResultData.ok();
|
|
|
|
+ }
|
|
|
|
+ for (ScenePlus scenePlus : scenePlusList) {
|
|
|
|
+
|
|
|
|
+ //修复数据库
|
|
|
|
+ ScenePlusExt scenePlusExt = scenePlusExtService.getOne(
|
|
|
|
+ new LambdaQueryWrapper<ScenePlusExt>()
|
|
|
|
+ .eq(ScenePlusExt::getPlusId, scenePlus.getId()));
|
|
|
|
+ if(SceneResolution.TILES.code().equals(scenePlusExt.getSceneResolution())){
|
|
|
|
+ scenePlusExt.setSceneKind(SceneKind.FACE.code());
|
|
|
|
+ }else{
|
|
|
|
+ scenePlusExt.setSceneKind(SceneKind.TILES.code());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(scenePlus.getSceneSource() == 1){
|
|
|
|
+ scenePlusExt.setSceneResolution("2k");
|
|
|
|
+ }else if(scenePlus.getSceneSource() == 2){
|
|
|
|
+ scenePlusExt.setSceneResolution("1k");
|
|
|
|
+ }else if(scenePlus.getSceneSource() == 3 || scenePlus.getSceneSource() == 4){
|
|
|
|
+ scenePlusExt.setSceneResolution("4k");
|
|
|
|
+ }
|
|
|
|
+ scenePlusExtService.updateById(scenePlusExt);
|
|
|
|
+
|
|
|
|
+ //修复scene.json
|
|
|
|
+ String sceneJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH, scenePlus.getNum()) + "scene.json";
|
|
|
|
+ String sceneJsonStr = uploadToOssUtil.getObjectContent(this.bucket, sceneJsonPath);
|
|
|
|
+ JSONObject sceneJsonObject = JSON.parseObject(sceneJsonStr);
|
|
|
|
+ sceneJsonObject.put("sceneResolution", scenePlusExt.getSceneResolution());
|
|
|
|
+ sceneJsonObject.put("sceneKind", scenePlusExt.getSceneKind());
|
|
|
|
+ uploadToOssUtil.upload(sceneJsonObject.toJSONString().getBytes(StandardCharsets.UTF_8), sceneJsonPath);
|
|
|
|
+
|
|
|
|
+ //清除scene.json缓存
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return ResultData.ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|