package com.hai.goods.service;

import com.hai.entity.GoodsDeliveryAddress;

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

/**
 * @serviceName deliveryAddressService.java
 * @author Sum1Dream
 * @version 1.0.0
 * @Description // 收货地址业务
 * @createTime 17:33 2023/4/13
 **/
public interface DeliveryAddressService {

    /**
     * @Author Sum1Dream
     * @Name insertGoodsDeliveryAddress
     * @Description // 新增收货地址
     * @Date 15:08 2023/4/11
     * @Param [GoodsDeliveryAddress]
     * @Return void
     */
    void insertDeliveryAddress(GoodsDeliveryAddress deliveryAddress);

    /**
     * @Author Sum1Dream
     * @Name updateGoodsDeliveryAddress
     * @Description // 更新收货地址
     * @Date 15:14 2023/4/11
     * @Param [GoodsDeliveryAddress]
     * @Return void
     */
    void updateDeliveryAddress(GoodsDeliveryAddress deliveryAddress);

    /**
     * @Author Sum1Dream
     * @Name getGoodsDeliveryAddressList
     * @Description // 查询收货地址
     * @Date 15:17 2023/4/11
     * @Param [map]
     * @Return java.util.List<com.hai.entity.GoodsDeliveryAddress>
     */
    List<GoodsDeliveryAddress> getDeliveryAddressList(Map<String , Object> map);


    /**
     * @Author Sum1Dream
     * @Name findGoodsDeliveryAddressById
     * @Description // 根据id查询详情
     * @Date 16:19 2023/4/11
     * @Param [id]
     * @Return com.hai.entity.GoodsDeliveryAddress
     */
    GoodsDeliveryAddress findDeliveryAddressById(Long id);

    /**
     * @Author Sum1Dream
     * @Name deleteDeliveryAddress
     * @Description // 删除收货地址
     * @Date 17:37 2023/4/13
     * @Param [id]
     * @Return void
     */
    void deleteDeliveryAddress(Long id);

    /**
     * @Author Sum1Dream
     * @Name cleanDeliveryAddressDefault
     * @Description // 清空所有的默认收货地址
     * @Date 10:33 2023/4/17
     * @Param [userId]
     * @Return void
     */
    void cleanDeliveryAddressDefault(Long userId);
}
