From 1aa1d2ac646d2e0e1a100a61295ef2cb34f37211 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 24 四月 2026 13:14:25 +0800
Subject: [PATCH] [feat] 活动策略,关联用户的设置

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java |   33 +++++++++++++++++++++------------
 1 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
index c613971..6fbc0d8 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java
@@ -21,6 +21,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -75,24 +76,32 @@
 
         XpActivity activity = new XpActivity();
         BeanUtils.copyBeanProp(activity, dto);
+        save(activity);
 
         List<XpActicityStrategy> strategy = dto.getStrategy();
         List<XpActicityUser> activityUser = dto.getActivityUser();
-
+        strategy.forEach(e -> e.setActitcityId(activity.getId().intValue()));
         strategyService.saveBatch(strategy);
 
-//        strategy.setActitcityId(activity.getId().intValue());
+        Map<String, XpActicityStrategy> strategyMap = strategy.stream().collect(Collectors.toMap(
+                XpActicityStrategy::getName,
+                Function.identity()
+        ));
+        activityUser.forEach(item -> {
+            item.setActitcityId(activity.getId().intValue());
+            item.setActitcityStrategeId(strategyMap.get(item.getStrategyName()).getId());
+        });
+        userService.saveBatch(activityUser);
+    }
 
-//        Map<String, List<XpActicityStrategy>> strategyMap = strategy.stream().collect(Collectors.groupingBy(XpActicityStrategy::getName));
-//        activityUser.forEach(item -> {
-//            item.setActitcityId(activity.getId().intValue());
-//            item.setActitcityStrategeId(strategyMap.get(item.getStrategyName()));
-//        });
-//
-//
-//        activityUser.setActitcityId(activity.getId().intValue());
-//
-//        userService.save(activityUser);
+    @Override
+    public XpActivityDto detail(Long id) {
+        XpActivity byId = getById(id);
+        XpActivityDto ret = new XpActivityDto();
+        BeanUtils.copyBeanProp(ret, byId);
+        ret.setStrategy(strategyService.listByActicityId(id));
+        ret.setActivityUser(userService.listByActicityId(id));
+        return ret;
     }
 
 }

--
Gitblit v1.7.1