package com.yc.ship.module.resource.service.audit;

import com.yc.ship.framework.common.pojo.PageResult;
import com.yc.ship.module.resource.controller.admin.audit.vo.AuditPageReqVO;
import com.yc.ship.module.resource.controller.admin.audit.vo.AuditSaveReqVO;
import com.yc.ship.module.resource.dal.dataobject.audit.AuditDO;

import javax.validation.Valid;

/**
 * 审核记录 Service 接口
 *
 * @author 管理员
 */
public interface AuditService {

    /**
     * 创建审核记录
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    String createAudit(@Valid AuditSaveReqVO createReqVO);

    /**
     * 更新审核记录
     *
     * @param updateReqVO 更新信息
     */
    void updateAudit(@Valid AuditSaveReqVO updateReqVO);

    /**
     * 删除审核记录
     *
     * @param id 编号
     */
    void deleteAudit(String id);

    /**
     * 获得审核记录
     *
     * @param id 编号
     * @return 审核记录
     */
    AuditDO getAudit(String id);

    /**
     * 获得审核记录分页
     *
     * @param pageReqVO 分页查询
     * @return 审核记录分页
     */
    PageResult<AuditDO> getAuditPage(AuditPageReqVO pageReqVO);

    /**
     * 获得最新的审核记录
     *
     * @param pageReqVO 查询
     * @return 审核记录
     */
    AuditDO getAuditNewInfo(AuditPageReqVO pageReqVO);

}
