
package com.tmerclub.cloud.supplier.service;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.supplier.dto.AuditingSupplierInfoDTO;
import com.tmerclub.cloud.supplier.model.SupplierAuditing;
import com.tmerclub.cloud.supplier.vo.SupplierAuditingInfoVO;
import com.tmerclub.cloud.supplier.vo.SupplierAuditingVO;

import java.util.List;

/**
 * 供应商审核信息
 *
 * @author lhd
 * @date 2022-03-14 17:04:32
 */
public interface SupplierAuditingService {

    /**
     * 分页获取商家审核信息列表
     * @param pageDTO 分页参数
     * @return 商家审核信息列表分页数据
     */
    PageVO<SupplierAuditingVO> page(PageDTO pageDTO);

    /**
     * 根据商家审核信息id获取商家审核信息
     *
     * @param supplierAuditingId 商家审核信息id
     * @return 商家审核信息
     */
    SupplierAuditingVO getBySupplierAuditingId(Long supplierAuditingId);

    /**
     * 保存商家审核信息
     * @param supplierAuditing 商家审核信息
     */
    void save(SupplierAuditing supplierAuditing);

    /**
     * 更新商家审核信息
     * @param supplierAuditing 商家审核信息
     */
    void update(SupplierAuditing supplierAuditing);

    /**
     * 根据商家审核信息id删除商家审核信息
     * @param supplierAuditingId
     */
    void deleteById(Long supplierAuditingId);

    /**
     * 获取指定供应商的申请信息
     * @param supplierId
     * @return
     */
    SupplierAuditingVO getBySupplierId(Long supplierId);

    /**
     * 获取供应商审请分页
     * @param pageDTO
     * @param auditingInfoDTO
     * @return
     */
    PageVO<SupplierAuditingInfoVO> auditingInfoPage(PageDTO pageDTO, AuditingSupplierInfoDTO auditingInfoDTO);

    /**
     * 更新供应商的开店申请为失败
     * @param supplierIds
     */
    void updateToFail(List<Long> supplierIds);

}
