package com.ycwl.basic.pricing.service; import com.github.pagehelper.PageInfo; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReq; import com.ycwl.basic.pricing.dto.req.VoucherBatchCreateReqV2; import com.ycwl.basic.pricing.dto.req.VoucherBatchQueryReq; import com.ycwl.basic.pricing.dto.resp.VoucherBatchResp; import com.ycwl.basic.pricing.dto.resp.VoucherBatchStatsResp; import com.ycwl.basic.pricing.entity.PriceVoucherBatchConfig; public interface VoucherBatchService { Long createBatch(VoucherBatchCreateReq req); /** * 创建券码批次(支持可重复使用) */ Long createBatchV2(VoucherBatchCreateReqV2 req); PageInfo queryBatchList(VoucherBatchQueryReq req); VoucherBatchResp getBatchDetail(Long id); VoucherBatchStatsResp getBatchStats(Long id); void updateBatchStatus(Long id, Integer status); void updateBatchClaimedCount(Long batchId); void updateBatchUsedCount(Long batchId); PriceVoucherBatchConfig getAvailableBatch(Long scenicId, Long brokerId); }