|
@@ -8,9 +8,11 @@ import com.fdkankan.common.util.FileUtils;
|
|
|
import com.fdkankan.common.util.SnowflakeIdGenerator;
|
|
|
import com.fdkankan.contro.constant.RedisConstants;
|
|
|
import com.fdkankan.contro.entity.SceneFileBuild;
|
|
|
+import com.fdkankan.contro.entity.ScenePre;
|
|
|
import com.fdkankan.contro.entity.User;
|
|
|
import com.fdkankan.contro.service.ISceneFileBuildService;
|
|
|
import com.fdkankan.contro.service.IScenePlusService;
|
|
|
+import com.fdkankan.contro.service.IScenePreService;
|
|
|
import com.fdkankan.contro.service.IUserService;
|
|
|
import com.fdkankan.fyun.face.FYunFileServiceInterface;
|
|
|
import com.fdkankan.model.constants.ConstantFilePath;
|
|
@@ -56,6 +58,9 @@ public class SceneFileController{
|
|
|
@Autowired
|
|
|
private IScenePlusService scenePlusService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IScenePreService scenePreService;
|
|
|
+
|
|
|
@Value("${nas.dir.base:/mnt}")
|
|
|
private String nasBasePath;
|
|
|
|
|
@@ -101,6 +106,8 @@ public class SceneFileController{
|
|
|
throw new BusinessException(ErrorCode.PARAM_ERROR,"config.json 文件有误!");
|
|
|
}
|
|
|
|
|
|
+ ScenePre scenePre = new ScenePre();
|
|
|
+
|
|
|
// 检测是否有生成
|
|
|
String fileId = getFileIdByFolderName(folderName);
|
|
|
String subFolder = sncode.concat(File.separator).concat(fileId).concat(File.separator).concat(folderName);
|
|
@@ -108,6 +115,14 @@ public class SceneFileController{
|
|
|
String dataSource = ConstantFilePath.BUILD_MODEL_PATH.concat(subFolder);
|
|
|
log.info("dataSource 为:{}", dataSource);
|
|
|
|
|
|
+ scenePre.setFileId(fileId);
|
|
|
+ scenePre.setUsername(userName);
|
|
|
+ scenePre.setZipPath(filePath);
|
|
|
+ scenePre.setCreateTime(new Date());
|
|
|
+ scenePre.setUpdateTime(new Date());
|
|
|
+ scenePre.setStatus(0);
|
|
|
+ scenePreService.save(scenePre);
|
|
|
+
|
|
|
// 异步解压资源文件上传
|
|
|
String finalFilePath = filePath;
|
|
|
CompletableFuture.runAsync(() -> {
|
|
@@ -122,14 +137,26 @@ public class SceneFileController{
|
|
|
ZipUtil.unzip(finalFilePath.concat(zipFileName), finalFilePath);
|
|
|
}
|
|
|
|
|
|
+ scenePre.setStatus(1);
|
|
|
+ scenePre.setUpdateTime(new Date());
|
|
|
+ scenePreService.updateById(scenePre);
|
|
|
log.info("异步开始上传文件");
|
|
|
// 上传oaas
|
|
|
fYunFileService.uploadFileByCommand(finalFilePath.concat(folderName), ConstantFilePath.OSS_PREFIX.concat(subFolder));
|
|
|
|
|
|
+ scenePre.setOssPath(ConstantFilePath.OSS_PREFIX.concat(subFolder));
|
|
|
+
|
|
|
+ scenePre.setStatus(2);
|
|
|
+ scenePre.setUpdateTime(new Date());
|
|
|
+ scenePreService.updateById(scenePre);
|
|
|
log.info("文件上传成功,开始通知计算");
|
|
|
// 通知计算
|
|
|
sceneFileBuildService.copyDataAndBuild(null, dataSource, "V4", user);
|
|
|
log.info("通知计算成功");
|
|
|
+
|
|
|
+ scenePre.setStatus(3);
|
|
|
+ scenePre.setUpdateTime(new Date());
|
|
|
+ scenePreService.updateById(scenePre);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
log.error("上传失败", e);
|