package com.sckw.manage.api;

import com.sckw.manage.api.model.dto.res.*;

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

/**
 * @author czh
 * @desc 基础信息+合作管理远程接口
 * @date 2023/7/31
 */
public interface RemoteManageService {

    /**
     * @param idList 企业id集合
     * @return Map<Long, List<EntAddressResDto>>
     * @desc: 根据企业id查下面的地址
     * @author: czh
     * @date: 2023/7/31
     */
    Map<Long, List<EntAddressResDto>> queryEntAddressByEntIdList(List<Long> idList);

    /**
     * @param entId 当前企业id  targetEntId对方企业id  cooperateType合作关系(对方对于我来说是什么合作属性)[CooperateTypeEnum]
     * @return  FindEntCooperateResVo
     * @desc: 查询合作信息
     * @author: czh
     * @date: 2023/8/16
     */
    List<FindEntCooperateResVo> findEntCooperate(Long entId, Long targetEntId, Integer cooperateType);

    /**
     * @param entId 集团企业id
     * @return FindEntCooperateResVo
     * @desc: 查询集团企业包括其主体单位下的合作单位所属的集团企业
     * @author: czh
     * @date: 2023/9/1
     */
    List<FindEntCooperateResVo> findAllCooperateEnt(Long entId);


    List<FindCooperateByEntResVo> findCooperateByEnt(FindCooperateByEntReqVo reqVo);

    /**
     * 获取路线地址信息
     * @param lineFreightId
     * @return
     */
    Map<Long, LineFreightAddressRes> findLineFreightAddress(List<Long> lineFreightId);

    /**
     * 通过ids获取地址信息
     *
     * @param addressIds
     */
    Map<Long, EntAddressResDto> queryAddressListByAddressIdList(List<String> addressIds);
}
