diff --git a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherPrintServiceImpl.java b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherPrintServiceImpl.java index 41b6dcf..72ad396 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherPrintServiceImpl.java +++ b/src/main/java/com/ycwl/basic/pricing/service/impl/VoucherPrintServiceImpl.java @@ -81,6 +81,14 @@ public class VoucherPrintServiceImpl implements VoucherPrintService { // 验证faceId是否属于当前用户 validateFaceOwnership(request.getFaceId(), currentUserId); + + ScenicConfigManager config = scenicRepository.getScenicConfigManager(face.getScenicId()); + Long brokerId = config.getLong("voucher_broker_id"); + if (brokerId != null) { + if (!request.getBrokerId().equals(brokerId)) { + return null; + } + } // 使用Redis分布式锁防止重复打印 String lockKey = String.format(PRINT_LOCK_KEY, request.getFaceId(), request.getBrokerId(), request.getScenicId()); @@ -107,7 +115,7 @@ public class VoucherPrintServiceImpl implements VoucherPrintService { if (availableVoucher == null) { throw new BaseException("暂无可用优惠券"); } - + // 生成流水号 String code = generateCode();