package com.ruoyi.mall.service;

import java.util.List;

import com.ruoyi.mall.domain.MallMemberUser;
import com.ruoyi.mall.domain.ReportIntelligence;
import com.ruoyi.mall.domain.Vo.ReportIntelligenceVo;

/**
 * 志愿报告条目Service接口
 * 
 * @author ruoyi
 * @date 2023-10-28
 */
public interface IReportIntelligenceService 
{
    /**
     * 查询志愿报告条目
     * 
     * @param itemId 志愿报告条目主键
     * @return 志愿报告条目
     */
    public ReportIntelligence selectReportIntelligenceByItemId(Long itemId);

    /**
     * 查询志愿报告条目列表
     * 
     * @param reportIntelligence 志愿报告条目
     * @return 志愿报告条目集合
     */
    public List<ReportIntelligence> selectReportIntelligenceList(ReportIntelligence reportIntelligence);

    /**
     * 查询志愿条目展示列表
     * 用于 xcx 报告 志愿详情列表
     */
    List<ReportIntelligenceVo> selectReportItemVoList(ReportIntelligence reportIntelligence,MallMemberUser user);
    /**
     * 新增志愿报告条目
     * 
     * @param reportIntelligence 志愿报告条目
     * @return 结果
     */
    public int insertReportIntelligence(ReportIntelligence reportIntelligence);
    /**
     * 批量新增
     */
     public int insertBatch(List<ReportIntelligenceVo> reportIntelligence);
    /**
     * 修改志愿报告条目
     * 
     * @param reportIntelligence 志愿报告条目
     * @return 结果
     */
    public int updateReportIntelligence(ReportIntelligence reportIntelligence);

    /** 批量更新志愿条目sort by itemId
     *
     * @param update
     * @return
     */
    int updateItemsSortByItemIds(List<ReportIntelligence> update);
    /**
     * 批量删除志愿报告条目
     * 
     * @param itemIds 需要删除的志愿报告条目主键集合
     * @return 结果
     */
    public int deleteReportIntelligenceByItemIds(Long[] itemIds);

    /**
     * 删除志愿报告条目信息
     * 
     * @param itemId 志愿报告条目主键
     * @return 结果
     */
    public int deleteReportIntelligenceByItemId(Long itemId);
}
