package com.admin.major.mapper;

import java.util.List;
import com.admin.major.domain.Proposal;
import com.admin.major.domain.ProposalFile;

/**
 * 用户建议记录Mapper接口
 * 
 * @author zewei
 * @date 2022-05-31
 */
public interface ProposalMapper 
{
    /**
     * 查询用户建议记录
     * 
     * @param id 用户建议记录主键
     * @return 用户建议记录
     */
    public Proposal selectProposalById(Long id);

    /**
     * 查询用户建议记录列表
     * 
     * @param proposal 用户建议记录
     * @return 用户建议记录集合
     */
    public List<Proposal> selectProposalList(Proposal proposal);

    /**
     * 新增用户建议记录
     * 
     * @param proposal 用户建议记录
     * @return 结果
     */
    public int insertProposal(Proposal proposal);

    /**
     * 修改用户建议记录
     * 
     * @param proposal 用户建议记录
     * @return 结果
     */
    public int updateProposal(Proposal proposal);

    /**
     * 删除用户建议记录
     * 
     * @param id 用户建议记录主键
     * @return 结果
     */
    public int deleteProposalById(Long id);

    /**
     * 批量删除用户建议记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProposalByIds(Long[] ids);

    /**
     * 批量删除${subTable.functionName}
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProposalFileByProposalIds(Long[] ids);
    
    /**
     * 批量新增${subTable.functionName}
     * 
     * @param proposalFileList ${subTable.functionName}列表
     * @return 结果
     */
    public int batchProposalFile(List<ProposalFile> proposalFileList);
    

    /**
     * 通过用户建议记录主键删除${subTable.functionName}信息
     * 
     * @param id 用户建议记录ID
     * @return 结果
     */
    public int deleteProposalFileByProposalId(Long id);
}
