From 8898f00c2150048a03ca561b7ed98dbf9c80732b Mon Sep 17 00:00:00 2001
From: wenminjie <1036699586@qq.com>
Date: 星期四, 06 八月 2026 16:18:51 +0800
Subject: [PATCH] flyway、对接小程序
---
talent-card-server/src/main/java/com/talentcard/server/service/BenefitVerificationService.java | 42 +++---------------------------------------
1 files changed, 3 insertions(+), 39 deletions(-)
diff --git a/talent-card-server/src/main/java/com/talentcard/server/service/BenefitVerificationService.java b/talent-card-server/src/main/java/com/talentcard/server/service/BenefitVerificationService.java
index d9d7ee7..0493eb4 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/service/BenefitVerificationService.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/service/BenefitVerificationService.java
@@ -100,10 +100,6 @@
if (!verifyCode.startsWith(BenefitVerificationCodeService.MOVIE_TOKEN_PREFIX)) {
throw new BusinessException(ErrorCode.CONFLICT, "电影票核销码必须由二期生成核销码接口生成");
}
- if (movieCodeExpired(probe.getUpdatedAt())) {
- expireMovieClaim(probe.getId());
- throw new BusinessException(ErrorCode.CONFLICT, "电影票核销码已过期");
- }
quotaService.current(BenefitQuotaService.MOVIE_TICKET, probe.getCardId(), probe.getTalentId(), probe.getMerchantId(), null);
BenefitCinemaCouponClaim claim = movieClaimByCode(verifyCode, true);
@@ -117,8 +113,7 @@
.eq("id", claim.getId())
.eq("deleted", 0)
.eq("exchange_code", verifyCode)
- .apply("upper(coalesce(code_status, 'ACTIVE')) = 'ACTIVE'")
- .apply("updated_at > date_sub(now(), interval 300 second)"));
+ .apply("upper(coalesce(code_status, 'ACTIVE')) = 'ACTIVE'"));
if (updated != 1) {
throw new BusinessException(ErrorCode.CONFLICT, "电影票核销码已使用或已过期");
}
@@ -231,40 +226,13 @@
throw new BusinessException(ErrorCode.NOT_FOUND, "电影票核销码不存在");
}
BenefitCinemaCoupon coupon = couponMapper.selectById(claim.getCouponId());
- if (!"ACTIVE".equals(upper(claim.getCodeStatus())) || movieCodeExpired(claim.getUpdatedAt())) {
+ if (!"ACTIVE".equals(upper(claim.getCodeStatus()))) {
throw new BusinessException(ErrorCode.CONFLICT, "电影票核销码已过期");
}
if (coupon == null || expiredDate(claim.getValidEnd()) || intValue(coupon.getStatus()) != 1) {
throw new BusinessException(ErrorCode.CONFLICT, "电影票权益券当前不可用");
}
}
-
- private void expireMovieClaim(Long claimId) {
- BenefitCinemaCouponClaim claim = claimMapper.selectOne(new QueryWrapper<BenefitCinemaCouponClaim>()
- .eq("id", claimId)
- .eq("deleted", 0)
- .last("limit 1 for update"));
- if (claim == null) {
- return;
- }
- if ("ACTIVE".equals(upper(claim.getCodeStatus()))
- && startsWithMoviePrefix(claim.getExchangeCode())
- && movieCodeExpired(claim.getUpdatedAt())) {
- int updated = claimMapper.update(null, new UpdateWrapper<BenefitCinemaCouponClaim>()
- .set("code_status", "EXPIRED")
- .set("status", "EXPIRED")
- .eq("id", claimId)
- .eq("deleted", 0)
- .apply("upper(coalesce(code_status, 'ACTIVE')) = 'ACTIVE'"));
- if (updated == 1) {
- couponMapper.update(null, new UpdateWrapper<BenefitCinemaCoupon>()
- .setSql("stock = stock + 1")
- .eq("id", claim.getCouponId())
- .eq("deleted", 0));
- }
- }
- }
-
private BenefitCinemaCouponClaim movieClaimByCode(String code, boolean lock) {
return claimMapper.selectOne(new QueryWrapper<BenefitCinemaCouponClaim>()
.eq("deleted", 0)
@@ -441,10 +409,6 @@
return parsed > 0 ? parsed : null;
}
- private boolean movieCodeExpired(LocalDateTime updatedAt) {
- return updatedAt != null && !updatedAt.plusSeconds(BenefitVerificationCodeService.CODE_SECONDS).isAfter(LocalDateTime.now());
- }
-
private boolean startsWithMoviePrefix(String code) {
return code != null && code.startsWith(BenefitVerificationCodeService.MOVIE_TOKEN_PREFIX);
}
@@ -505,4 +469,4 @@
private record FreeStayCodeContext(BenefitFreeStayVerificationCode code, BenefitFreeStayVoucher voucher) {
}
-}
\ No newline at end of file
+}
--
Gitblit v1.7.1