package com.ycwl.basic.pricing.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycwl.basic.pricing.entity.VoucherPrintRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 优惠券打印记录Mapper
 */
@Mapper
public interface VoucherPrintRecordMapper extends BaseMapper<VoucherPrintRecord> {
    
    /**
     * 根据faceId、brokerId、scenicId查询已存在的打印记录
     * @param faceId 用户faceId
     * @param scenicId 景区ID
     * @return 打印记录
     */
    VoucherPrintRecord selectByFaceBrokerScenic(@Param("faceId") Long faceId,
                                                @Param("scenicId") Long scenicId);
    
    /**
     * 根据券码ID查询是否已被打印
     * @param voucherCodeId 券码ID
     * @return 打印记录
     */
    VoucherPrintRecord selectByVoucherCodeId(@Param("voucherCodeId") Long voucherCodeId);
    
    /**
     * 更新打印状态
     * @param id 记录ID
     * @param printStatus 打印状态
     * @param errorMessage 错误信息（可为null）
     * @return 影响行数
     */
    int updatePrintStatus(@Param("id") Long id, 
                          @Param("printStatus") Integer printStatus, 
                          @Param("errorMessage") String errorMessage);
}