From 43caa9d021870b1abe03ef5a298fd0a8cd6e3a54 Mon Sep 17 00:00:00 2001 From: wanxiaoli Date: Tue, 30 Dec 2025 18:02:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=8E=A5=E5=8F=A3=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../css/controller/EventController.java | 41 +++++++++++++++++++ .../com/yfd/business/css/domain/Event.java | 3 ++ 2 files changed, 44 insertions(+) diff --git a/business-css/src/main/java/com/yfd/business/css/controller/EventController.java b/business-css/src/main/java/com/yfd/business/css/controller/EventController.java index 1b10ea7..30e62ee 100644 --- a/business-css/src/main/java/com/yfd/business/css/controller/EventController.java +++ b/business-css/src/main/java/com/yfd/business/css/controller/EventController.java @@ -8,6 +8,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.transaction.annotation.Transactional; import org.springframework.security.core.Authentication; import org.springframework.security.authentication.AnonymousAuthenticationToken; @@ -41,6 +42,7 @@ public class EventController { */ @PostMapping public ResponseEntity> addEvent(@RequestBody Event event) { + event.setModifier(currentUsername()); eventService.save(event); Event savedEvent = event; return ResponseEntity.ok(Map.of( @@ -61,9 +63,48 @@ public class EventController { @PutMapping public boolean update(@RequestBody Event event) { event.setModifier(currentUsername()); + event.setUpdatedAt(LocalDateTime.now()); return eventService.updateById(event); } + /** + * 批量新增或修改事件 + * @param events + * @return + */ + @PostMapping("/batchSave") + @Transactional + public ResponseEntity> batchSaveOrUpdateEvents(@RequestBody List events) { + String currentUser = currentUsername(); + LocalDateTime now = LocalDateTime.now(); + + List savedEvents = new ArrayList<>(); + + for (Event event : events) { + if (event.getEventId() != null && eventService.getById(event.getEventId()) != null) { + // 更新逻辑 + event.setModifier(currentUser); + event.setUpdatedAt(now); + eventService.updateById(event); + savedEvents.add(event); + } else { + // 新增逻辑 + event.setCreatedAt(now); + event.setModifier(currentUser); + event.setUpdatedAt(now); + eventService.save(event); + savedEvents.add(event); + } + } + + return ResponseEntity.ok(Map.of( + "code", 0, + "msg", "批量保存或更新成功", + "data", savedEvents + )); + } + + /** * 修改 Event 的 attr_changes */ diff --git a/business-css/src/main/java/com/yfd/business/css/domain/Event.java b/business-css/src/main/java/com/yfd/business/css/domain/Event.java index b118745..2985cd7 100644 --- a/business-css/src/main/java/com/yfd/business/css/domain/Event.java +++ b/business-css/src/main/java/com/yfd/business/css/domain/Event.java @@ -36,6 +36,9 @@ public class Event implements Serializable { @TableField("created_at") private LocalDateTime createdAt; + @TableField("updated_at") + private LocalDateTime updatedAt; + @TableField("modifier") private String modifier; }