package com.trade.client.enterprise.companyrelated.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.trade.service.enterprise.companyrelated.domain.ImporterEntity;
import com.trade.service.enterprise.companyrelated.domain.vo.ImporterEntitySearch;
import com.trade.service.enterprise.companyrelated.domain.vo.ImporterEntityVO;

/**
 * <p>
 * 进口商信息 C端 服务类
 * </p>
 *
 * @author zhangchenm
 * @since 2024-09-03
 */
public interface ImporterEntityCService extends IService<ImporterEntity> {

    /**
     * 新增进口商企业信息
     * 
     * @param addEntity 进口商信息VO
     */
    void add(ImporterEntity addEntity);

    /**
     * 更新进口商信息
     * 
     * @param addEntity 进口商信息VO
     */
    void update(ImporterEntity addEntity);

    /**
     * 根据进口商ID删除进口商信息
     * 
     * @param entityId 进口商ID
     */
    void deleteByEntityId(Long entityId);

    PageInfo<ImporterEntityVO> queryListBySearch(ImporterEntitySearch search);

    /**
     * 根据用户ID获取进口商信息列表
     *
     * @param userId Long 用户ID
     * @return List<ImporterEntity>
     */
    List<ImporterEntity> getListByUserId(Long userId);

    /**
     * 根据用户ID获取生效的进口商信息列表
     *
     * @param userId Long 用户ID
     * @return List<ImporterEntity>
     */
    List<ImporterEntity> getEnabledListByUserId(Long userId);

    /**
     * 根据进口商ID获取进口商信息
     *
     * @param entityId 进口商ID
     * @return ImporterEntity
     */
    ImporterEntityVO getByEntityId(Long entityId);
}
