package com.cool.store.service.plan;

import com.cool.store.enums.DeliveryPlanStageEnum;
import com.cool.store.enums.DeliveryStatusEnum;
import com.cool.store.request.plan.NotifyDeliveryRequest;
import com.cool.store.request.plan.UpdateDeliveryItemRequest;
import com.cool.store.vo.plan.DeliveryDetailVO;
import com.cool.store.vo.plan.DeliveryInfoVO;

/**
 * 门店发货阶段服务接口
 */
public interface ShopDeliveryPlanService {

    /**
     * 通知发货
     * @param request 通知发货请求
     * @return 发货阶段枚举：待发货(1)
     */
    Boolean notifyDelivery(NotifyDeliveryRequest request);

    /**
     * 查询发货信息
     * @param shopId 门店ID
     * @return 发货信息VO
     */
    DeliveryInfoVO queryDeliveryInfo(Long shopId);

    /**
     * 更新发货项信息
     * @param request 更新发货项请求
     * @return 发货阶段枚举：待发货(1)、部分发货(2)、已完成(3)
     */
    Boolean updateDeliveryItem(UpdateDeliveryItemRequest request);

    /**
     * 根据门店查询发货详细信息
     * @param shopId 门店ID
     * @return 发货详细信息VO
     */
    DeliveryDetailVO queryDeliveryDetail(Long shopId);
}
