package ${packageName}.service;

import java.util.List;
import com.qiaoba.common.database.entity.PageQuery;
import com.qiaoba.common.database.entity.TableDataInfo;
import ${packageName}.entity.${ClassName};
import ${packageName}.entity.dto.${ClassName}Dto;
import ${packageName}.entity.param.${ClassName}Param;

/**
 * ${functionName} 服务层
 *
 * @author ${author}
 * @version 1.0
 * @since ${datetime}
 */
public interface ${ClassName}Service {

    /**
     * 查询${functionName}列表
     *
     * @param param 查询条件
     * @return ${functionName}集合
     */
    List<${ClassName}> selectList(${ClassName}Param param);

    /**
     * 分页查询${functionName}列表
     *
     * @param param 查询条件
     * @param pageQuery 分页信息
     * @return ${functionName}集合
     */
    TableDataInfo<${ClassName}> selectPageList(${ClassName}Param param, PageQuery pageQuery);

    /**
     * 查询${functionName}
     *
     * @param ${pkColumn.javaField} ${pkColumn.javaField}
     * @param allowNull 允许空
     * @return ${functionName}
     */
    ${ClassName} selectById(String ${pkColumn.javaField}, boolean allowNull);

    /**
     * 新增${functionName}
     *
     * @param dto dto
     * @return 结果
     */
    int insert(${ClassName}Dto dto);

    /**
     * 修改${functionName}
     *
     * @param dto dto
     * @return 结果
     */
    int updateById(${ClassName}Dto dto);

    /**
     * 删除${functionName}信息
     *
     * @param ${pkColumn.javaField} ${pkColumn.javaField}
     * @return 结果
     */
    int deleteById(String ${pkColumn.javaField});

    /**
     * 批量删除${functionName}
     *
     * @param ${pkColumn.javaField}s ${pkColumn.javaField}s
     * @return 结果
     */
    int deleteByIds(List<String> ${pkColumn.javaField}s);

}
