package org.jeecg.modules.orderplatform.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.orderplatform.entity.PlatformMaterial;

import java.util.List;
import java.util.Map;

/**
 * 物料审批流程
 */
public interface IPlatformMaterialService extends IService<PlatformMaterial> {

    /**
     *  设计参与的物料信息
     *  逻辑是拿当前登录人userId查询物料列表的plan、clip、shot 取全集
     */
    List<JSONObject> queryMaterialsByDesignUserId(String materialStatus, String designUserId);

    /**
     *  运营需要审核的订单
     *  查询逻辑先查当前登录人参与的项目，在通过项目关联订单物料查询出需要审批的物料流程
     */
    List<JSONObject> queryMaterialsByOperatorUserId(String operatorUserId);

    /**
     *  脚本详情页
     *  根据脚本id关联脚本库、物料、订单信息
     */
    JSONObject queryScriptDetailById(String scriptId);

    /**
     *  视频详情页
     *  根据视频id关联脚本库、物料、订单信息
     */
    JSONObject queryVideoDetailById(String videoId);

    /**
     *  查询上传视频是否出现在其他物料中
     */
    int queryCountByMaterialAndVideo(String materialCode, String videoMd5);
    /**
     *  同步视频到汇创素材库（包括关联的项目）
     */
    boolean syncVideo2CTopMaterial(PlatformMaterial platformMaterial);

    /**
     *  视频驳回编辑回显
     */
    Map<String,Object> videoEcho(String videoId);

    /**
     *  根据materialCode 查询企业微信通知人
     */
    JSONObject getMaterialRelatePersonByMaterialCode(String materialCode);

    /**
     *  根据orderCode 查询企业微信通知人
     */
    JSONObject getOrderRelatePersonByMaterialCode(String orderCode);

}
