package com.hzs.sale.deliver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.sale.deliver.SaDeliverBarCode;
import com.hzs.sale.deliver.param.BindCodeParam;

import java.util.List;

/**
 * 发货条码表 服务类
 *
 * @author hzs
 * @since 2022-11-02
 */
public interface ISaDeliverBarCodeService extends IService<SaDeliverBarCode> {

    /**
     * 重置条码
     *
     * @param id        发货条码ID
     * @param pkCountry 国家ID
     * @param userId    用户ID
     */
    void codeReset(Long id, Integer pkCountry, Long userId);

    /**
     * 解绑条码
     *
     * @param idList    发货条码ID列表
     * @param pkCountry 国家ID
     * @param userId    用户ID
     */
    void codeClear(List<Integer> idList, Integer pkCountry, Long userId);

    /**
     * 绑定条码
     *
     * @param paramList 绑定条码参数
     * @param userId    用户ID
     * @param pkCountry 国家ID
     * @return
     */
    void codeBind(List<BindCodeParam> paramList, Long userId, Integer pkCountry);

    /**
     * 批量插入
     *
     * @param list
     * @return
     */
    int insertBatch(List<SaDeliverBarCode> list);

}
