Bläddra i källkod

迁移上传视频接口和删除接口

zhujinghui 4 år sedan
förälder
incheckning
24784b9e1e

+ 1 - 1
4dkankan-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java

@@ -120,5 +120,5 @@ public interface ISceneProService extends IBaseService<SceneProEntity, String> {
     Result uploadROIVideo(String sceneNum, String fileName, MultipartFile file, String planId, String rect,
     Result uploadROIVideo(String sceneNum, String fileName, MultipartFile file, String planId, String rect,
                           String videoDirMatrix, String dir, String hfov, String vfov) throws Exception;
                           String videoDirMatrix, String dir, String hfov, String vfov) throws Exception;
 
 
-
+    Result deleteROIVideo(String sceneNum, String fileName, String planId) throws Exception;
 }
 }

+ 61 - 0
4dkankan-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -3811,4 +3811,65 @@ public class SceneProServiceImpl extends BaseServiceImpl<SceneProEntity, String>
         return Result.success();
         return Result.success();
     }
     }
 
 
+    @Override
+    public Result deleteROIVideo(String sceneNum, String fileName, String planId) throws Exception {
+        if(StringUtils.isEmpty(sceneNum) || StringUtils.isEmpty(fileName) || StringUtils.isEmpty(planId)){
+            throw new BaseRuntimeException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
+        }
+
+        SceneProEntity sceneProEntity = sceneProMapper.findByNum(sceneNum);
+        if(sceneProEntity == null){
+            throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
+        }
+
+        StringBuffer dataBuf = new StringBuffer()
+                .append("data").append(File.separator)
+                .append("data").append(sceneProEntity.getNum())
+                .append(File.separator);
+
+        StringBuffer dataBuffer = new StringBuffer(ConstantFilePath.SCENE_PATH).append(dataBuf.toString());
+
+        String strsceneInfos = FileUtils.readFile(dataBuffer.toString() + "scene.json");
+        JSONObject scenejson = new JSONObject();
+        if(strsceneInfos!=null) {
+            scenejson = JSONObject.parseObject(strsceneInfos);
+        }
+
+        JSONArray newArray = new JSONArray();
+        JSONArray jsonArray = new JSONArray();
+        JSONObject jsonObject = new JSONObject();
+
+        if(scenejson.containsKey("videosUser")){
+            jsonArray = JSON.parseArray(scenejson.getString("videosUser"));
+            for(int i = 0, len = jsonArray.size(); i < len; i++){
+                jsonObject = jsonArray.getJSONObject(i);
+                if(planId.equals(jsonObject.getString("panoId"))){
+                    continue;
+                }
+                if(!newArray.contains(jsonObject)){
+                    newArray.add(jsonObject);
+                }
+            }
+        }
+
+        scenejson.put("videosUser", newArray.toJSONString());
+        scenejson.put("imagesVersion", scenejson.getIntValue("imagesVersion") + 1);
+
+        FileUtils.writeFile(dataBuffer.toString() + "scene.json", scenejson.toString());
+
+        SceneProEditEntity sceneProEditEntity = sceneProEditMapper.findByProId(sceneProEntity.getId());
+        if(sceneProEditEntity != null){
+            sceneProEditEntity.setImagesVersion(sceneProEditEntity.getImagesVersion() + 1);
+            sceneProEditMapper.updateByPrimaryKey(sceneProEditEntity);
+        }
+
+        uploadToOssUtil.delete("video/video"+ sceneProEntity.getNum() + File.separator +
+                fileName.substring(0, fileName.lastIndexOf(".")) + ".mp4");
+        uploadToOssUtil.delete("video/video"+ sceneProEntity.getNum() + File.separator +
+                fileName.substring(0, fileName.lastIndexOf(".")) + ".flv");
+
+        FileUtils.deleteFile(ConstantFilePath.SCENE_PATH + "video/video"+ sceneProEntity.getNum() + File.separator + fileName);
+        return Result.success();
+    }
+
 }
 }

+ 16 - 0
4dkankan-web/src/main/java/com/fdkankan/web/controller/SceneEditController.java

@@ -1120,4 +1120,20 @@ public class SceneEditController extends BaseController {
         return sceneProService.uploadROIVideo(sceneNum, fileName, file, planId, rect, videoDirMatrix, dir, hfov, vfov);
         return sceneProService.uploadROIVideo(sceneNum, fileName, file, planId, rect, videoDirMatrix, dir, hfov, vfov);
     }
     }
 
 
+    /**
+     * 删除绿幕抠图视频
+     */
+    @ApiOperation("删除绿幕抠图视频")
+    @CheckCurrentUser(description = "删除绿幕抠图视频")
+    @RequestMapping(value = "/deleteROIVideo", method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "sceneNum", value = "场景编码", dataType = "String"),
+            @ApiImplicitParam(name = "planId", value = "页面显示的下标", dataType = "String"),
+            @ApiImplicitParam(name = "fileName", value = "文件全名", dataType = "String")})
+    public Result deleteROIVideo(HttpServletRequest request) throws Exception{
+        String sceneNum = request.getParameter("sceneNum");
+        String fileName = request.getParameter("fileName");
+        String planId = request.getParameter("planId");
+        return sceneProService.deleteROIVideo(sceneNum, fileName, planId);
+    }
 }
 }