package com.hwrj.cloud.admin.service;

import com.hwrj.cloud.admin.dto.UmsCompanyDto;
import com.hwrj.cloud.admin.dto.param.CompanyWebPageParam;
import com.hwrj.cloud.admin.dto.param.SelectNewVo;
import com.hwrj.cloud.admin.dto.param.SelectVo;
import com.hwrj.cloud.admin.excelEntity.UmsCompanyInfoExcel;
import com.hwrj.cloud.admin.model.UmsAdmin;
import com.hwrj.cloud.admin.model.UmsCompanyFile;
import com.hwrj.cloud.admin.model.UmsCompanyInfo;
import com.hwrj.cloud.admin.model.UmsCompanyShop;
import com.hwrj.cloud.common.api.CommonPage;

import java.util.List;
import java.util.Map;

public interface UmsCompanyService {

    /**
     * excel导入供应商
     * @param dto
     */
    public void add(UmsCompanyDto dto);

    /**
     * excel导入供应商
     * @param dto
     */
    public void update(UmsCompanyDto dto);

    /**
     * excel导入供应商
     * @param id
     */
    public void delete(Long id);



    /**
     * excel导入供应商
     * @param infoExcels
     */
    public String importExcel(List<UmsCompanyInfoExcel> infoExcels);


    /**
     * excel导入供应商
     *
     */
    public Map<String,Object> getCompanyInfoList(CompanyWebPageParam companyWebPageParam);


    /**
     * 获取供应商详情
     *
     */
    public UmsCompanyDto getDetailCompany(Long companyId);

    /**
     * 通过供应商id获取对应的供应商图片
     * @param compId
     * @return
     */
    public List<UmsCompanyFile> getCompanyFile(Long compId);

    /**
     * 通过供应商id获取对应的供应商商店
     * @param compId
     * @return
     */
    public List<UmsCompanyShop> getCompanyShop(Long compId);

    /**
     * 修改供应商文件
     * @param umsCompanyFile
     */
    public void updateCompanyFile(UmsCompanyFile umsCompanyFile);


    /**
     * 删除供应商照片
     * @param shopId
     * @param userId
     */
    public void deleteCompanyFile(Long shopId,Long userId);


    /**
     * 修改供应商文件
     * @param umsCompanyShop
     */
    public void updateCompanyShop(UmsCompanyShop umsCompanyShop);


    /**
     * 删除供应商照片
     * @param shopId
     * @param userId
     */
    public void deleteCompanyShop(Long shopId,Long userId);


    /**
     * 通过供应商id删除文件
     * @param compId
     * @param userId
     */
    public void deleteCompanyFileByCompId(Long compId,Long userId);


    /**
     * 通过供应商id来删除供应商商店
     * @param compId
     * @param userId
     */
    public void deleteCompanyShopByCompId(Long compId,Long userId);


    public List<UmsCompanyInfo>  searchCompanyInfo(String key, int pageNo, int pageSize, Long compId);



    List<SelectNewVo> selectList();

    List<SelectVo> alllist();
}
