package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.domain.DemEnforceReportComplaint;
import com.usky.fire.domain.DemEnforceReportLabel;
import com.usky.fire.service.vo.ParameterVo;
import com.usky.fire.service.vo.DemEnforceReportComplaintVO;

import java.util.List;

/**
 * <p>
 * 监督检查举报投诉信息 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-09-23
 */
public interface DemEnforceReportComplaintService extends CrudService<DemEnforceReportComplaint> {

    /**
     * 举报信息管理-列表查询
     *
     * @param serialNumber 流水号
     * @param reportPhone  举报电话
     * @param pageNum      当前页
     * @param pageSize     每页条数
     * @return
     */
    CommonPage<Object> enforceReportComplaintList(String serialNumber, String reportPhone, Integer id, Integer pageNum, Integer pageSize);

    /**
     * 举报信息管理-列表查询-导出
     *
     * @param serialNumber 流水号
     * @param reportPhone  举报电话
     */
    List<DemEnforceReportComplaintVO> enforceReportComplaintListExport(String serialNumber, String reportPhone);

    /**
     * 举报信息管理-标签添加
     *
     * @param demEnforceReportLabel
     */
    void addLabel(DemEnforceReportLabel demEnforceReportLabel);

    /**
     * 举报信息管理-标签绑定
     *
     * @param parameterVo
     */
    void bindLabel(ParameterVo parameterVo);

    /**
     * 举报信息管理-修改
     *
     * @param demEnforceReportComplaint
     */
    void updateEnforceReportComplaint(DemEnforceReportComplaint demEnforceReportComplaint);

    /**
     * 举报信息管理-删除
     *
     * @param id 主键ID
     */
    void delEnforceReportComplaint(Integer id);

    /**
     * 举报信息管理-操作异常
     *
     * @param demEnforceReportLabel
     */
    void abnormalData(DemEnforceReportLabel demEnforceReportLabel);

    /**
     * 举报信息管理-标签-删除
     *
     * @param id 主键ID
     */
    void delEnforceReportLabel(Integer id);
}
