zoujiajian 1 vuosi sitten
vanhempi
sitoutus
0971c80b21

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/request/ChangeTicketReq.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: ChangeTicketReq
+ * 创建者: JavaZou
+ * 创建时间:2024/10/28 17:10
+ */
+@Getter
+@Setter
+public class ChangeTicketReq {
+	private List<Long> relationIds;
+}

+ 17 - 3
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -19,6 +19,7 @@ import com.cyksj.common.snowflake.Sequence;
 import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.common.util.GoogleGenerator;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.*;
@@ -1072,10 +1073,23 @@ public class GroupRelationController {
     /**
      * 申请更换车票
      */
-    @PostMapping("/change/ticket/{relationId}")
-    public Result<String> changeTicket(@PathVariable Long relationId) {
+    @PostMapping("/change/ticket")
+    public Result<String> changeTicket(@RequestBody ChangeTicketReq changeTicketReq) {
         long userId = StpUserUtil.getLoginIdAsLong();
-        groupRelationFrontService.changeTicket(userId, relationId);
+        List<Long> relationIds = changeTicketReq.getRelationIds();
+        if (CollUtil.isEmpty(relationIds)) {
+            return GatewayResponse.SUCCESS.newBuilder().toResult();
+        }
+        relationIds.forEach(relationId -> {
+            try {
+                groupRelationFrontService.changeTicket(userId, relationId);
+            } catch (Exception e) {
+                log.error("更换车票失败:{}", StringUtil.getErrorText(e));
+                if (relationIds.size() == 1) {
+                    throw BusinessRuntimeException.getInstance(e.getMessage());
+                }
+            }
+        });
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 }