You've already forked FrameTour-BE
fix(pricing): 完善券码验证逻辑并优化使用权限判断
- 新增用户在指定批次下的使用次数统计和最后使用时间获取功能 - 重构券码验证逻辑,支持未领取券码的使用权限判断 - 优化已领取券码的使用限制检查,包括使用次数和间隔时间- 改进日志记录,增加剩余使用次数信息 -修复一些潜在的逻辑问题和边界情况处理
This commit is contained in:
@@ -89,6 +89,26 @@ public interface PriceVoucherUsageRecordMapper extends BaseMapper<PriceVoucherUs
|
||||
@Select("SELECT COUNT(*) FROM price_voucher_usage_record WHERE batch_id = #{batchId} AND deleted = 0")
|
||||
Integer countByBatchId(@Param("batchId") Long batchId);
|
||||
|
||||
/**
|
||||
* 统计用户在指定批次下的使用次数
|
||||
*
|
||||
* @param faceId 用户faceId
|
||||
* @param batchId 批次ID
|
||||
* @return 使用次数
|
||||
*/
|
||||
@Select("SELECT COUNT(*) FROM price_voucher_usage_record WHERE face_id = #{faceId} AND batch_id = #{batchId} AND deleted = 0")
|
||||
Integer countByFaceIdAndBatchId(@Param("faceId") Long faceId, @Param("batchId") Long batchId);
|
||||
|
||||
/**
|
||||
* 获取用户在指定批次下最后一次使用时间
|
||||
*
|
||||
* @param faceId 用户faceId
|
||||
* @param batchId 批次ID
|
||||
* @return 最后使用时间
|
||||
*/
|
||||
@Select("SELECT MAX(use_time) FROM price_voucher_usage_record WHERE face_id = #{faceId} AND batch_id = #{batchId} AND deleted = 0")
|
||||
Date getLastUseTimeByFaceIdAndBatchId(@Param("faceId") Long faceId, @Param("batchId") Long batchId);
|
||||
|
||||
/**
|
||||
* 分页查询券码使用记录
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user