From ad08bf184ca45affe429b192751244d2654b954a Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期二, 30 九月 2025 17:20:56 +0800
Subject: [PATCH] 店铺扫码抽奖功能

---
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/StorePrizeVO.java            |    4 ++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java |    5 +++++
 framework/src/main/resources/mapper/lmk/ScanPrizeMapper.xml                        |    4 +++-
 3 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StorePrizeVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StorePrizeVO.java
index 580ebfe..ce994f5 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StorePrizeVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/StorePrizeVO.java
@@ -50,6 +50,10 @@
     @ApiModelProperty("鍚敤鐘舵��")
     private String enableStatus;
 
+
+    @ApiModelProperty("棰嗗彇鐘舵��")
+    private String claimStatus;
+
     @ApiModelProperty("寮圭獥鍐呭")
     private Boolean popup;
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
index cc7d618..df4f826 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
@@ -234,6 +234,7 @@
         return prizeClaimRecord;
     }
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result claimPrize(String id) {
         AuthUser currentUser = UserContext.getCurrentUser();
         if (currentUser == null) {
@@ -320,6 +321,10 @@
         if (!PrizeActivityStatusEnum.ON.name().equals(storePrize.getEnableStatus())) {
             throw new ServiceException("褰撳墠娲诲姩娌℃湁寮�鍚�");
         }
+        if (!ClaimStatusEnum.NOT_CLAIM.name().equals(storePrize.getClaimStatus())) {
+            throw new ServiceException("褰撳墠鎶藉鏈轰細琚鍙�");
+        }
+
         String activityCover = storePrize.getActivityCover();
         if (StringUtils.isNotBlank(activityCover)&&!activityCover.contains("http")) {
             storePrize.setActivityCover(cosUtil.getPreviewUrl(activityCover));
diff --git a/framework/src/main/resources/mapper/lmk/ScanPrizeMapper.xml b/framework/src/main/resources/mapper/lmk/ScanPrizeMapper.xml
index cbe91b8..335ad44 100644
--- a/framework/src/main/resources/mapper/lmk/ScanPrizeMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/ScanPrizeMapper.xml
@@ -68,6 +68,7 @@
         <result property="activityCover" column="activity_cover"/>
         <result property="enableStatus" column="enable_status"/>
         <result property="popup" column="popup"/>
+        <result property="claimStatus" column="claim_status"/>
     </resultMap>
     <select id="getStorePrize" resultMap="getStorePrizeMap">
         SELECT
@@ -81,7 +82,8 @@
             lpa.end_time,
             lpa.activity_cover,
             lpa.enable_status,
-            lpa.popup
+            lpa.popup,
+            pcr.claim_status
         FROM
             lmk_prize_claim_record pcr
                 JOIN lmk_prize_activity lpa ON pcr.prize_activity_id = lpa.id

--
Gitblit v1.8.0