package com.hai.goods.service;

import com.alibaba.fastjson.JSONObject;
import com.hai.entity.GoodsLogistics;

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

/**
 * @serviceName GoodsLogisticsService.java
 * @author Sum1Dream
 * @version 1.0.0
 * @Description // 物流信息业务
 * @createTime 18:39 2023/4/13
 **/
public interface GoodsLogisticsService {
    /**
     * @Author Sum1Dream
     * @Name insertGoodsLogistics
     * @Description // 新增物流信息
     * @Date 15:08 2023/4/11
     * @Param [GoodsLogistics]
     * @Return void
     */
    void insertGoodsLogistics(GoodsLogistics goodsLogistics);

    /**
     * @Author Sum1Dream
     * @Name updateGoodsLogistics
     * @Description // 更新物流信息
     * @Date 15:14 2023/4/11
     * @Param [GoodsLogistics]
     * @Return void
     */
    void updateGoodsLogistics(GoodsLogistics goodsLogistics);

    /**
     * @Author Sum1Dream
     * @Name getGoodsLogisticsList
     * @Description // 查询物流信息列表
     * @Date 15:17 2023/4/11
     * @Param [map]
     * @Return java.util.List<com.hai.entity.GoodsLogistics>
     */
    List<GoodsLogistics> getGoodsLogisticsList(Map<String , Object> map);


    /**
     * @Author Sum1Dream
     * @Name findGoodsLogisticsById
     * @Description // 根据id查询物流信息
     * @Date 16:19 2023/4/11
     * @Param [id]
     * @Return com.hai.entity.GoodsLogistics
     */
    GoodsLogistics findGoodsLogisticsById(Long id);

    /**
     * @Author Sum1Dream
     * @Name findGoodsLogisticsById
     * @Description // 根据id查询物流信息
     * @Date 16:19 2023/4/11
     * @Param [id]
     * @Return com.hai.entity.GoodsLogistics
     */
    GoodsLogistics findGoodsLogistics(Long orderId);

    /**
     * @Author Sum1Dream
     * @Name findGoodsLogisticsByNum
     * @Description // 根据快递单号查询物流信息
     * @Date 11:41 2023/4/14
     * @Param [num]
     * @Return com.hai.entity.GoodsLogistics
     */
    GoodsLogistics findGoodsLogisticsByNum(String num);

    /**
     * @Author Sum1Dream
     * @Name editLogistics
     * @Description // 编辑物流信息
     * @Date 11:33 2023/4/14
     * @Param [goodsLogistics]
     * @Return void
     */
    GoodsLogistics editLogistics(JSONObject object);

    /**
     * @Author Sum1Dream
     * @Name getLogisticsMsg
     * @Description // 查询物流信息
     * @Date 16:19 2023/4/20
     * @Param [num]
     * @Return com.alibaba.fastjson.JSONObject
     */
    Object getLogisticsMsg(String num);

    /**
     * @Author Sum1Dream
     * @Name getLogisticsMsg
     * @Description // 查询物流信息
     * @Date 16:19 2023/4/20
     * @Param [num]
     * @Return com.alibaba.fastjson.JSONObject
     */
    Object getLogisticsMsg(Long orderId);


}
