package com.slodon.b2b2c.dao.read.system;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.slodon.b2b2c.seller.pojo.StoreProfileList;
import com.slodon.b2b2c.system.example.SysMediaExample;
import com.slodon.b2b2c.system.pojo.SysMedia;
import org.apache.ibatis.annotations.Param;

public interface SysMediaReadMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table sys_media
     *
     * @mbg.generated Thu Oct 13 14:15:00 CST 2022
     */
    long countByExample(SysMediaExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table sys_media
     *
     * @mbg.generated Thu Oct 13 14:15:00 CST 2022
     */
    List<SysMedia> selectByExample(SysMediaExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table sys_media
     *
     * @mbg.generated Thu Oct 13 14:15:00 CST 2022
     */
    SysMedia selectByPrimaryKey(Long id);


    /**
     * 列表分页总条数
     * @param type
     * @param fileTypeList
     * @param startTime
     * @param endTime
     * @param storeId
     * @return
     */
    Integer mediaListPageCount(@Param("typeLike")String type,
                               @Param("fileTypeLike") ArrayList<String> fileTypeList,
                               @Param("startTimeLike") String startTime,
                               @Param("endTimeLike")String endTime,
                               @Param("storeId")Long storeId,
                               @Param("nameLike")String name);


    /**
     * 列表分页
     * @param type
     * @param fileTypeList
     * @param startTime
     * @param endTime
     * @param startRow
     * @param size
     * @param storeId
     * @return
     */
    List<SysMedia> mediaListPage(@Param("typeLike")String type,
                                 @Param("fileTypeLike")ArrayList<String> fileTypeList,
                                 @Param("startTimeLike") String startTime,
                                 @Param("endTimeLike")String endTime,
                                 @Param("startRow")Integer startRow,
                                 @Param("size")Integer size,
                                 @Param("storeId")Long storeId,
                                 @Param("nameLike")String name);


}