
package com.tmerclub.cloud.multishop.mapper;

import com.tmerclub.cloud.multishop.dto.ShopCompanyAuditingDTO;
import com.tmerclub.cloud.multishop.model.ShopCompanyAuditing;
import com.tmerclub.cloud.multishop.vo.ShopCompanyAuditingVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author chiley
 * @date 2022/9/13 14:42
 */

public interface CompanyAuditingMapper {

    /**
     * 根据信息id获取店铺工商审核信息
     *
     * @param shopCompanyAuditingId 店铺工商审核信息id
     * @return 店铺工商审核信息
     */
    ShopCompanyAuditing getById(@Param("shopCompanyAuditingId") Long shopCompanyAuditingId);

    /**
     * 新增店铺工商审核信息
     * @param shopCompanyAuditing 店铺工商审核信息
     * @return companyAuditingId
     */
    Long insert(@Param("shopCompanyAuditing") ShopCompanyAuditing shopCompanyAuditing);

    /**
     * 更新店铺工商审核信息
     * @param shopCompanyAuditing 店铺工商审核信息
     */
    void update(@Param("shopCompanyAuditing") ShopCompanyAuditing shopCompanyAuditing);

    /**
     * 根据店铺工商信息id删除店铺工商信息
     * @param shopCompanyAuditingId
     */
    void deleteById(@Param("shopCompanyAuditingId") Long shopCompanyAuditingId);

    /**
     * 根据店铺id获取最近一条工商审核信息
     * @param shopId
     * @return
     */
    ShopCompanyAuditingVO getLatestAuditingByShopId(@Param("shopId") Long shopId);

    /**
     * 获取待审核的工商信息审核列表
     *
     * @param shopCompanyAuditingDTO 搜索参数
     * @return 工商信息审核列表
     */
    List<ShopCompanyAuditingVO> list(@Param("shopCompanyAuditingDTO") ShopCompanyAuditingDTO shopCompanyAuditingDTO);

    /**
     * 获取需要审核驳回的工商申请
     * @return
     */
    List<ShopCompanyAuditingVO> getNeedAuditList();
}
