package cn.com.ctop.common.module.mapper;

import cn.com.ctop.common.module.entity.MaterialInfo;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * 素材信息
 *
 * @author: jeecg-boot
 * @date: 2019-10-11
 * @cersion: V1.0
 */
public interface MaterialInfoMapper extends BaseMapper<MaterialInfo> {

    String selectUserNameById(@Param("auditorId") String auditorId);

    Integer selectCountByMap(Map<String, Object> requestMap);

    Integer getKuaishouUpVideoCount(@Param("code") String code);

    Integer getToutiaoUpVideoCount(@Param("code") String code);


    List<String> getEffiSignature();

    MaterialInfo getMaterialInfoByCode(@Param("code") String code);

    Long getProjectIdByAccountId(@Param("accountId") Long accountId);

    List<MaterialInfo> getListByDate(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<MaterialInfo> getListByParams(@Param("tagCode") String tagCode, @Param("type") String type, @Param("status") Integer status, @Param("materialName") String materialName, @Param("code") String code, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("userId") String userId, @Param("projectIds") List<Long> projectIds, @Param("ascription") String ascription, @Param("clipId") String clipId, @Param("shotId") String shotId, @Param("planId") String planId, @Param("offlineFlag") Integer offlineFlag);

    JSONArray getIdListByProject(Long projectId);

    List<String> getCodeList(@Param("date") String date);

    Integer getCountByCode(@Param("code") String code);

    void updateByCode(@Param("signature") String signature);

    List<String> getBytedanceCodeList(@Param("date") String date);

    Integer getBytedanceCountByCode(@Param("code") String code);

    void updateByteDanceByCode(@Param("code") String code);

    List<String> getDuxiaomanMaterialInfoByStatus(@Param("status") Integer status);

    List<String> getDuxiaomanMaterialInfoByTime();

    // List<MaterialInfo> getListByParams(String tagCode, String type, Integer status, String materialName, String code, String startDate, String endDate, List<Long> projectIds, String ascription, String clipId, String shotId, String planId, Integer offlineFlag);
}
