package com.hfkj.service.goods;

import com.alibaba.fastjson.JSONObject;
import com.hfkj.entity.BsOrderGoods;
import com.hfkj.entity.GoodsLogistics;

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

public interface BsOrderGoodsService {
    /**
     * @Author Sum1Dream
     * @Name create
     * @Description // 创建
     * @Date 15:11 2024/4/19
     * @Param GoodsBrand
     * @return void
     */
    void create(BsOrderGoods orderGoods);

    /**
     * @Author Sum1Dream
     * @Name update
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param GoodsBrand
     * @return void
     */
    void update(BsOrderGoods orderGoods);

    /**
     * @Author Sum1Dream
     * @Name delete
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param id
     * @return void
     */
    void delete(Long id , Boolean fullDelete);

    /**
     * @Author Sum1Dream
     * @Name queryDetail
     * @Description // 根据ID查询产品类型详情
     * @Date 15:12 2024/4/19
     * @Param id
     * @return com.hfkj.entity.GoodsBrand
     */
    BsOrderGoods queryDetail(Long id);

    /**
     * @Author Sum1Dream
     * @Name findGoodsOrder
     * @Description // 查询详情
     * @Date 15:44 2023/4/20
     * @Param [orderNo]
     * @Return com.hai.entity.GoodsOrder
     */
    BsOrderGoods findGoodsOrder(String orderNo);

    /**
     * @MethodName findGoodsOrderLogisticsNo
     * @Description: 根据物流单好查询
     * @param logisticsNo
     * @return: com.hfkj.entity.BsOrderGoods
     * @Author: Sum1Dream
     * @Date: 2024/8/13 上午9:50
     */
    BsOrderGoods findGoodsOrderLogisticsNo(String logisticsNo);

    /**
     * @MethodName findGoodsOrderByChild
     * @Description:
     * @param orderChildNo
     * @return: com.hfkj.entity.BsOrderGoods
     * @Author: Sum1Dream
     * @Date: 2024/7/31 上午10:37
     */
    BsOrderGoods findGoodsOrderByChild(String orderChildNo);

    /**
     * @Author Sum1Dream
     * @Name queryDetailByMap
     * @Description // 根据多条件查询产品类型
     * @Date 15:12 2024/4/19
     * @Param map
     * @return com.hfkj.entity.GoodsBrand
     */
    BsOrderGoods queryDetailByMap(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name getList
     * @Description // 根据多条件查询列表
     * @Date 15:13 2024/4/19
     * @Param map
     * @return java.util.List<com.hfkj.entity.GoodsBrand>
     */
    List<BsOrderGoods> getList(Map<String , Object> map);
    List<BsOrderGoods> getList();

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

    /**
     * @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 logisticsNo , String mobile);

    /**
     * @Author Sum1Dream
     * @Name getLogisticsMsg
     * @Description // 确认收货
     * @Date 16:19 2023/4/20
     * @Param [num]
     * @Return com.alibaba.fastjson.JSONObject
     */
    void confirmReceipt(Long orderGoodsId);
}
