package cn.iocoder.yudao.framework.common.base;

import tk.mybatis.mapper.common.ConditionMapper;
import tk.mybatis.mapper.common.IdsMapper;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

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

/**
 * 功能描述: 公共 Mapper
 * <p>
 * 作者: July
 * 日期: 2020-09-16 18:57
 * @author Administrator
 */
public interface BaseMapper<T> extends
        Mapper<T>,
        MySqlMapper<T>,
        IdsMapper<T>,
        ConditionMapper<T> {
    //TODO
    //FIXME 特别注意，该接口不能被扫描到，否则会出错
    /***
     * 批量更新
     * @param list
     * @return
     */
    int batch(List<T> list);

    /***
     * 批量更新
     * @param params
     * @return
     */
    List<T> queryPage(Map<String, Object> params);

    /***
     * 删除
     * @param month
     * @return
     */
    Long clean(int month);

    /**
     * 清空
     * @return
     */
    void truncate();
}
