From 4b358047c2d8b0a305c2ef9fbfe4fe7eaaea7a37 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 29 四月 2026 20:10:10 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpActicityServiceImpl.java |   54 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 35 insertions(+), 19 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 ce44d05..e5b5920 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
@@ -5,18 +5,12 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xiaopeng.api.dto.operation.XpActivityDto;
 import com.xiaopeng.api.feignClient.order.XpOrderClient;
-import com.xiaopeng.api.model.operation.XpActicityStrategy;
-import com.xiaopeng.api.model.operation.XpActicityUser;
-import com.xiaopeng.api.model.operation.XpActivity;
-import com.xiaopeng.api.model.operation.XpActivityNotice;
+import com.xiaopeng.api.model.operation.*;
 import com.xiaopeng.api.query.operation.XpActivityPageListQuery;
 import com.xiaopeng.common.core.utils.bean.BeanUtils;
 import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.operation.mapper.XpActicityMapper;
-import com.xiaopeng.operation.service.IXpActicityService;
-import com.xiaopeng.operation.service.IXpActicityStrategyService;
-import com.xiaopeng.operation.service.IXpActicityUserService;
-import com.xiaopeng.operation.service.IXpActivityNoticeService;
+import com.xiaopeng.operation.service.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -49,6 +43,9 @@
 
     @Resource
     private XpOrderClient xpOrderClient;
+
+    @Resource
+    private IXpActicityCouponService xpActicityCouponService;
 
 
 
@@ -92,29 +89,43 @@
     }
 
     @Override
-    @Transactional
     public void save(XpActivityDto dto) {
 
         XpActivity activity = new XpActivity();
         BeanUtils.copyBeanProp(activity, dto);
+        activity.setActicityType(dto.getActivityType());
+        activity.setAggregateLimit(dto.getEnableTotalLimit() ? 1 : 0);
+        activity.setLimitation(dto.getTotalLimit());
+        activity.setCoverImage(dto.getImg());
+        activity.setRemarks(dto.getRichText());
         save(activity);
 
         List<XpActicityStrategy> strategy = dto.getStrategy();
         List<XpActicityUser> activityUser = dto.getActivityUser();
-        XpActivityNotice notice = dto.getNotice();
-        strategy.forEach(e -> e.setActitcityId(activity.getId().intValue()));
-        strategyService.saveBatch(strategy);
+        for (XpActicityStrategy xpActicityStrategy : strategy) {
+            xpActicityStrategy.setActitcityId(activity.getId().intValue());
+            xpActicityStrategy.setDeleted(false);
+            strategyService.save(xpActicityStrategy);
+
+            List<Long> couponIds = xpActicityStrategy.getCouponIds();
+            for (Long couponId : couponIds) {
+                XpActicityCoupon xpActicityCoupon = new XpActicityCoupon();
+                xpActicityCoupon.setActicityStrategyId(xpActicityStrategy.getId().longValue());
+                xpActicityCoupon.setCouponId(couponId);
+                xpActicityCoupon.setActivityId(activity.getId());
+                xpActicityCouponService.save(xpActicityCoupon);
+            }
+
+        }
         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());
-        });
-        notice.setActivityId(activity.getId());
-        userService.saveBatch(activityUser);
-        activityNotice.save(notice);
+        for (XpActicityUser xpActicityUser : activityUser) {
+            xpActicityUser.setActitcityId(activity.getId().intValue());
+            xpActicityUser.setActitcityStrategeId(strategyMap.get(xpActicityUser.getStrategyName()).getId());
+            userService.save(xpActicityUser);
+        }
     }
 
     @Override
@@ -122,6 +133,11 @@
         XpActivity byId = getById(id);
         XpActivityDto ret = new XpActivityDto();
         BeanUtils.copyBeanProp(ret, byId);
+        ret.setActicityType(byId.getActicityType());
+        ret.setEnableTotalLimit(byId.getAggregateLimit() == 1);
+        ret.setTotalLimit(byId.getLimitation());
+        ret.setImg(byId.getCoverImage());
+        ret.setRichText(byId.getRemarks());
         ret.setStrategy(strategyService.listByActicityId(id));
         ret.setActivityUser(userService.listByActicityId(id));
         return ret;

--
Gitblit v1.7.1