From 095c52c6ec7882ce11177178b49d33e6c886af61 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 17 十一月 2025 15:02:38 +0800
Subject: [PATCH] 添加已完成标识

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java |   62 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 7 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
index 5a03622..2c80580 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
@@ -10,10 +10,7 @@
 import cn.lili.modules.lmk.domain.entity.*;
 import cn.lili.modules.lmk.domain.form.AddPrizeNumForm;
 import cn.lili.modules.lmk.domain.query.PrizeRecordTimeQuery;
-import cn.lili.modules.lmk.domain.vo.PrizeDetailVO;
-import cn.lili.modules.lmk.domain.vo.PrizeProbabilityVO;
-import cn.lili.modules.lmk.domain.vo.PrizeRecordTimeVO;
-import cn.lili.modules.lmk.domain.vo.PrizeResultVO;
+import cn.lili.modules.lmk.domain.vo.*;
 import cn.lili.modules.lmk.enums.general.*;
 import cn.lili.modules.lmk.service.*;
 import cn.lili.modules.member.entity.dos.Member;
@@ -577,11 +574,20 @@
                 log.info("褰撳墠鍒嗕韩涓嶆槸浠婂ぉ鐨勫垎浜珄}",shareId);
                 return Result.ok().data(0);
             }
-            if (currentUser.getId().equals(userId)) {
-                //鍒嗕韩鐨勭敤鎴疯嚜宸辩偣鍑讳簡
-                log.info("鐢ㄦ埛鑷繁鐐瑰嚮浜嗚嚜宸辩殑鍒嗕韩");
+            // 闄や簡瑙嗛澶栭渶瑕佹牎楠岀敤鎴锋槸鍚﹁嚜宸辩偣鍑讳簡鑷繁鐨勫垎浜�
+            PrizeUserActionEnum actionEnum = PrizeUserActionEnum.select(addPrizeNumForm.getAddType());
+            if (actionEnum == null) {
+                log.info("褰撳墠绫诲瀷涓嶅瓨鍦�");
                 return Result.ok().data(0);
             }
+            if (!PrizeUserActionEnum.SHARE_GOODS_VIDEO.name().equals(actionEnum.name())) {
+                if (currentUser.getId().equals(userId)) {
+                    //鍒嗕韩鐨勭敤鎴疯嚜宸辩偣鍑讳簡
+                    log.info("鐢ㄦ埛鑷繁鐐瑰嚮浜嗚嚜宸辩殑鍒嗕韩");
+                    return Result.ok().data(0);
+                }
+            }
+
         }
 
         String userId = addPrizeNumForm.getUserId();
@@ -829,4 +835,46 @@
         LambdaQueryWrapper<AddPrizeRule> one = Wrappers.<AddPrizeRule>lambdaQuery().eq(AddPrizeRule::getRuleCode, ruleCode);
         return addPrizeRuleService.getOne(one);
     }
+
+    @Override
+    public Result getPrizeRule() {
+        List<AddPrizeRule> list = addPrizeRuleService.list(Wrappers.<AddPrizeRule>lambdaQuery().orderByDesc(AddPrizeRule::getId));
+        AuthUser currentUser = UserContext.getCurrentUser();
+        if (Objects.nonNull(currentUser)) {
+            String id = currentUser.getId();
+            LambdaQueryWrapper<PrizeActivity> eq = Wrappers.<PrizeActivity>lambdaQuery()
+                    .eq(PrizeActivity::getDeleteFlag, Boolean.FALSE)
+                    .eq(PrizeActivity::getEnableStatus, PrizeActivityStatusEnum.ON.name())
+                    .eq(PrizeActivity::getPopup, Boolean.TRUE);
+            List<PrizeActivity> activities = prizeActivityService.list(eq);
+            PrizeActivity activity = activities.get(0);
+            if (Objects.nonNull(activity)) {
+                try {
+                    List<PrizeNumber> prizeNumberList = getPrizeNumberList(activity.getId(), id);
+                    Set<String> completedActionSet = prizeNumberList.stream().map(PrizeNumber::getUserAction).collect(Collectors.toSet());
+                    List<AddPrizeRule> finalRuleList = list.stream()
+                            .map(rule -> {
+                                if (Objects.isNull(rule.getRuleCode())) {
+                                    return rule;
+                                }
+                                boolean isCompleted = completedActionSet.contains(rule.getRuleCode());
+                                if (!isCompleted) {
+                                    return rule;
+                                }
+                                AddPrizeRule completedRule = new AddPrizeRule();
+                                BeanUtils.copyProperties(rule, completedRule);
+                                String originalName = Optional.ofNullable(completedRule.getRuleName()).orElse("");
+                                if (!originalName.contains("(宸插畬鎴�)")) {
+                                    completedRule.setRuleName(originalName + "(宸插畬鎴�)");
+                                }
+                                return completedRule;
+                            }).collect(Collectors.toList());
+                    return Result.ok().data(finalRuleList);
+                } catch (Exception e) {
+                    return Result.ok().data(list);
+                }
+            }
+        }
+        return Result.ok().data(list);
+    }
 }

--
Gitblit v1.8.0