package com.heyu.api.data.dao.vv;
/**
 * <p>
 * 包裹表 服务类
 * </p>
 *
 * @author quyixiao
 * @since 2025-08-23
 */

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.lz.mybatis.plugin.annotations.IFNullReturnEmpty;
import com.lz.mybatis.plugin.annotations.IN;
import com.lz.mybatis.plugin.annotations.LIMIT;
import com.lz.mybatis.plugin.annotations.NotIn;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface VvPackageDao extends BaseMapper<VvPackageEntity> {


    VvPackageEntity selectVvPackageById(@Param("id") Long id);


    Long insertVvPackage(VvPackageEntity vvPackage);


    Long insertOrUpdateVvPackage(VvPackageEntity vvPackage);


    int updateVvPackageById(VvPackageEntity vvPackage);


    int updateCoverVvPackageById(VvPackageEntity vvPackage);


    int deleteVvPackageById(@Param("id") Long id);


    List<VvPackageEntity> selectVvPackageByTrackNumbers(@IFNullReturnEmpty @IN List<String> trackNumber);

    @LIMIT
    VvPackageEntity selectVvPackageByTrackNumber(String trackNumber);

    List<VvPackageEntity> selectVvPackageByIsCheckNotIN(@NotIn List<String> ischeck);



    List<VvPackageEntity> selectVvPackageBySignReceiptStatus(String signReceiptStatus);

    @LIMIT
    VvPackageEntity selectVvPackageByReverseOrderId(Long reverseOrderId);
}