From 8d6bbb62a2304094456e08127e96e451e287aeda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Thu, 29 Aug 2024 18:40:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=85=8D=E7=BD=AE=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=93=8D=E4=BD=9C=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NodeDispositionController.java | 35 +++++++++++++++++++ .../service/INodeDispositionService.java | 2 ++ .../impl/NodeDispositionServiceImpl.java | 8 +++++ 3 files changed, 45 insertions(+) diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java b/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java index b62c1ee..9b9afcc 100644 --- a/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java +++ b/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java @@ -1,9 +1,14 @@ package com.muyu.quest.controller; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; + +import com.muyu.quest.domain.Node; import jakarta.servlet.http.HttpServletResponse; import javax.annotation.Resource; + +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -116,4 +121,34 @@ public class NodeDispositionController extends BaseController nodeDispositionService.removeBatchByIds(Arrays.asList(ids)); return success(); } + + /** + * 批量新增或修改 + */ + /** + * 节点批量删除再批量新增 + */ + @PostMapping("/batch") + @Transactional + public Result batch(@Validated @RequestBody ArrayList dispList){ + ArrayList addList = new ArrayList<>(); + ArrayList updList = new ArrayList<>(); + dispList.forEach(disp -> { + // 查询是否已存在 + if (nodeDispositionService.checkDispUnique(disp)) { + updList.add(disp); + }else{ + addList.add(disp); + } + }); + // 批量新增 + if (!addList.isEmpty()) { + nodeDispositionService.saveBatch(addList); + } + // 批量修改 + if (!updList.isEmpty()) { + nodeDispositionService.updateBatchById(updList); + } + return success(); + } } diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java index 111fbbb..55cc0c9 100644 --- a/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java @@ -35,4 +35,6 @@ public interface INodeDispositionService extends IService { Boolean checkIdUnique(NodeDisposition nodeDisposition); public NodeDisposition selectNodeDispositionByNodeCode(String nodeCode); + + Boolean checkDispUnique(NodeDisposition disp); } diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java index 7bad765..7a2a7e0 100644 --- a/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java @@ -82,4 +82,12 @@ public class NodeDispositionServiceImpl return this.getOne(queryWrapper); } + @Override + public Boolean checkDispUnique(NodeDisposition disp) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(NodeDisposition::getId, disp.getId()); + queryWrapper.eq(NodeDisposition::getNodeCode, disp.getNodeCode()); + return this.exists(queryWrapper); + } + }