package com.keyware.shandan.bianmu.service;

import com.keyware.shandan.bianmu.entity.ReviewRecordVo;
import com.keyware.shandan.bianmu.enums.ReviewStatus;
import com.keyware.shandan.common.service.IBaseService;

/**
 * <p>
 * 审核记录表 服务类
 * </p>
 *
 * @author GuoXin
 * @since 2021-06-03
 */
public interface ReviewRecordService extends IBaseService<ReviewRecordVo, String> {

    /**
     * 审核操作
     *
     * @param entityId   数据ID
     * @param entityType 数据对象类型
     * @param status     审核状态
     * @param opinion    审核意见
     * @return -
     * @throws Exception -
     */
    Boolean review(String entityId, String entityType, String status, String opinion, String metadataName, String proType) throws Exception;

    /**
     * 数据资源审核通过
     *
     * @param id         资源ID
     * @param status     审核状态
     * @param opinion    审核意见
     * @param sendNotice 是否发送通知
     * @return 结果
     */
    Boolean metadataReview(String id, ReviewStatus status, String opinion, Boolean sendNotice);

    /**
     * 资源目录审核通过
     *
     * @param id         目录ID
     * @param status     审核状态
     * @param opinion    审核意见
     * @param sendNotice 是否发送通知
     * @return 结果
     * @throws Exception -
     */
    Boolean directoryReview(String id, ReviewStatus status, String opinion, Boolean sendNotice) throws Exception;

    /**
     * 资源目录文件审核通过
     *
     * @param id         目录ID
     * @param status     审核状态
     * @param opinion    审核意见
     * @param sendNotice 是否发送通知
     * @return 结果
     * @throws Exception -
     * xiongcl 20240412
     */
    Boolean directoryFileReview(String id, ReviewStatus status, String opinion, Boolean sendNotice) throws Exception;
}
