
package com.tmerclub.cloud.multishop.service;

import com.tmerclub.cloud.common.database.dto.PageDTO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.multishop.dto.AuditingInfoDTO;
import com.tmerclub.cloud.multishop.model.ShopAuditing;
import com.tmerclub.cloud.multishop.vo.ShopAuditingInfoVO;
import com.tmerclub.cloud.multishop.vo.ShopAuditingVO;

import java.util.List;

/**
 * 商家审核信息
 *
 * @author YXF
 * @date 2021-02-01 17:10:35
 */
public interface ShopAuditingService {

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

    /**
     * 根据商家审核信息id获取商家审核信息
     *
     * @param shopAuditingId 商家审核信息id
     * @return 商家审核信息
     */
    ShopAuditingVO getByShopAuditingId(Long shopAuditingId);

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

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

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

    /**
     * 获取指定店铺的申请信息
     * @param shopId
     * @return
     */
    ShopAuditingVO getByshopId(Long shopId);

    /**
     * 获取店铺审请分页
     * @param pageDTO
     * @param auditingInfoDTO
     * @return
     */
    PageVO<ShopAuditingInfoVO> auditingInfoPage(PageDTO pageDTO, AuditingInfoDTO auditingInfoDTO);

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

}
