package com.hzs.activity.pick;

import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description: 提货相关dubbo服务入口
 * @Author: jiang chao
 * @Time: 2023/5/15 11:20
 * @Classname: IAcPickServiceApi
 * @PackageName: com.hzs.activity.base
 */
public interface IAcPickServiceApi {

    /**
     * 提货订单处理
     *
     * @param pkMember  会员ID
     * @param orderCode 订单编号
     * @return
     */
    R<?> handlePickOrder(Long pkMember, String orderCode);

    /*
     * @description: 更新提货单
     * @author: sui q
     * @date: 2023/5/30 19:49
     * @param: null null
     **/
    R<Boolean> updatePickUse(List<AcPickExt> acPickExtList, Integer signSource, List<AcPickMemberLog> acPickMemberLogList);

    /*
     * @description: 更新提货单
     * @author: sui q
     * @date: 2023/5/30 19:49
     * @param: null null
     **/
    R<Boolean> updatePickUse(List<AcPickExt> acPickExtList, List<AcPickMemberLog> acPickMemberLogList);

    /*
     * @description: 查询会员提货使用记录
     * @author: sui q
     * @date: 2023/6/3 10:51
     * @param: null null
     **/
    R<List<AcPickMemberLog>> queryPickMemberLog(List<SaOrderExt> saOrderExtList);

    /**
     * 根据订单查询邮费
     *
     * @param orderCode   订单编号
     * @param recProvince 省
     * @param recCity     市
     * @param pkCountry   国家
     * @return
     */
    R<BigDecimal> queryOrderPostage(String orderCode, Integer recProvince, Integer recCity, Integer pkCountry);

}
