feat(voucher): 实现券码核销功能模块

- 添加券码批次管理和券码管理相关接口和实现
- 新增券码生成、领取、使用等核心业务逻辑
- 实现了全场免费、商品降价、商品打折三种优惠模式
- 添加了券码状态管理和统计功能
- 优化了数据库表结构和索引
- 编写了详细的开发文档和使用示例
This commit is contained in:
2025-08-21 01:13:32 +08:00
parent 41269572c7
commit 85a179c5b4
19 changed files with 964 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
package com.ycwl.basic.voucher.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycwl.basic.voucher.entity.VoucherBatchEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface VoucherBatchMapper extends BaseMapper<VoucherBatchEntity> {
}

View File

@@ -0,0 +1,17 @@
package com.ycwl.basic.voucher.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycwl.basic.voucher.entity.VoucherCodeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface VoucherCodeMapper extends BaseMapper<VoucherCodeEntity> {
@Select("SELECT COUNT(*) FROM voucher_code WHERE scenic_id = #{scenicId} AND face_id = #{faceId} AND status != 0 AND deleted = 0")
Integer countByFaceIdAndScenicId(@Param("faceId") Long faceId, @Param("scenicId") Long scenicId);
@Select("SELECT * FROM voucher_code WHERE batch_id = #{batchId} AND status = 0 AND deleted = 0 LIMIT 1")
VoucherCodeEntity findFirstAvailableByBatchId(@Param("batchId") Long batchId);
}