package com.fs.hisStore.service;

import java.util.List;

import com.fs.api.param.ExpressParam;
import com.fs.api.vo.ExpressVO;
import com.fs.common.core.domain.R;
import com.fs.hisStore.domain.FsExpressScrm;
import com.fs.hisStore.dto.ExpressInfoDTO;

/**
 * 快递公司Service接口
 * 
 * @author fs
 * @date 2022-03-15
 */
public interface IFsExpressScrmService
{
    /**
     * 查询快递公司
     * 
     * @param id 快递公司ID
     * @return 快递公司
     */
    public FsExpressScrm selectFsExpressById(Long id);

    /**
     * 查询快递公司列表
     * 
     * @param fsExpress 快递公司
     * @return 快递公司集合
     */
    public List<FsExpressScrm> selectFsExpressList(FsExpressScrm fsExpress);

    /**
     * 新增快递公司
     * 
     * @param fsExpress 快递公司
     * @return 结果
     */
    public int insertFsExpress(FsExpressScrm fsExpress);

    /**
     * 修改快递公司
     * 
     * @param fsExpress 快递公司
     * @return 结果
     */
    public int updateFsExpress(FsExpressScrm fsExpress);

    /**
     * 批量删除快递公司
     * 
     * @param ids 需要删除的快递公司ID
     * @return 结果
     */
    public int deleteFsExpressByIds(Long[] ids);

    /**
     * 删除快递公司信息
     *
     * @param id 快递公司ID
     * @return 结果
     */
    public int deleteFsExpressById(Long id);

    ExpressInfoDTO getExpressInfo(String OrderCode, String ShipperCode, String LogisticCode, String lastFourNumber);

    FsExpressScrm selectFsExpressByCode(String code);

    FsExpressScrm selectFsExpressByOmsCode(String s);

    FsExpressScrm selectFsExpressByName(String deliveryName);

    void subscribeEspress(String orderCode, String deliverySn, String deliveryId, String userPhone);

    R parseAddress(String content);


    List<ExpressVO> getExpressInfoAPI(ExpressParam param);
}
