package com.fdkankan.scene.service;

import com.alibaba.fastjson.JSONObject;
import com.fdkankan.mq.message.BuildSceneMqMessage;
import com.fdkankan.scene.entity.SceneEditControls;
import com.fdkankan.scene.entity.SceneEditInfo;
import com.fdkankan.scene.entity.ScenePro;
import com.fdkankan.scene.entity.SceneProExt;
import java.io.IOException;
import java.util.Date;
import java.util.Map;

/**
 * <p>
 * TODO
 * </p>
 *
 * @author dengsixing
 * @since 2022/3/1
 **/
public interface IBuildScenePreService {

    Map<String, String> getTypeString(String cameraType, String algorithm, String resolution, JSONObject dataJson);

    String getPath(BuildSceneMqMessage buildSceneMqMessage) throws Exception;

    void downLoadSource(BuildSceneMqMessage buildSceneMqMessage, String path) throws Exception;

    Map<String, String> uploadFileMapHandler(String num, int cameraType, Map<String, String> map);

    void uploadCaches(String num, Map<String,String> map, String path);

    void copyToEditDir(String num) throws IOException;

    void sendSms(Integer pushChannel, String pushToken, int cameraType, String sceneName, String webSite);

    void handFail(String reason, String serverPath, String num, String hostName, String contentExt);

    Long calUseSpace(Map<String, String> uploadFile);

    void uploadLogFile(String num, String dataSource);

    JSONObject getVideosJson(String path, Integer videoVersion, String projectNum, int cameraType) throws Exception ;

    String writeSceneJson(String num, JSONObject videoJson, SceneEditInfo sceneEditInfo, SceneEditControls sceneEditControls, ScenePro scenePro, SceneProExt sceneProExt) throws Exception;



}
