package com.hzs.activity.pick.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.pick.param.AcRetailPickParam;
import com.hzs.common.domain.activity.pick.AcRetailPick;
import com.hzs.common.domain.activity.pick.ext.AcRetailPickExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems;

import java.util.Date;
import java.util.List;

/**
 * 新零售会员提货数量 服务类
 *
 * @author hzs
 * @since 2025-01-09
 */
public interface IAcRetailPickService extends IService<AcRetailPick> {

    /**
     * 支付提货订单
     *
     * @param retailPick       提货信息
     * @param saOrder          订单信息
     * @param saOrderItemsList 订单明细信息
     * @return
     */
    String payOrder(AcRetailPick retailPick, SaOrder saOrder, List<SaOrderItems> saOrderItemsList);

    /**
     * 取消新零售提货订单
     *
     * @param pkOrder 订单ID
     * @param userId  会员ID
     * @return
     */
    boolean cancelRetailPickOrder(Long pkOrder, Long userId);

    /**
     * 提货批量操作
     *
     * @param pkBaseId 活动ID
     * @param nowDate  当前时间
     * @return
     */
    int handlePick(Long pkBaseId, Date nowDate);

    /**
     * 列表数据
     *
     * @param param 查询入参
     * @return
     */
    List<AcRetailPickExt> listData(AcRetailPickParam param);

}
