From 8dbb3cc53bfdb47e5b65738fa9abfde56f9ddd32 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 13 三月 2024 10:39:44 +0800
Subject: [PATCH] 点位优化

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java             |    3 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java    |   32 ++++++++++++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java               |    1 
 ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java    |    7 +++
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java |   26 ++++++++++++-
 ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java          |    8 ++++
 6 files changed, 73 insertions(+), 4 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index 46aba3e..ba79866 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.domain.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
@@ -37,7 +38,7 @@
     private LocalDateTime endTime;
 
     @ApiModelProperty("杩愮淮鍗曚綅")
-    @TableField("unit_id")
+    @TableField(value = "unit_id", updateStrategy = FieldStrategy.IGNORED)
     private Integer unitId;
 
     @ApiModelProperty("杩愮淮鐘舵��")
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java
new file mode 100644
index 0000000..9e200fb
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java
@@ -0,0 +1,32 @@
+package com.ycl.platform.domain.form;
+
+import com.ycl.system.domain.group.Add;
+import com.ycl.system.domain.group.Update;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/3/13 9:42
+ */
+@Data
+public class BatchEditPointForm {
+
+    @NotEmpty(message = "璇烽�夋嫨鐐逛綅")
+    private List<Integer> ids;
+
+    private Integer unitId;
+
+    @NotNull(message = "鐐逛綅寮�濮嬫椂闂翠笉鑳戒负绌�", groups = {Add.class, Update.class})
+    private LocalDateTime startTime;
+
+    @NotNull(message = "鐐逛綅缁撴潫鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+    private LocalDateTime endTime;
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
index 9632866..0d38715 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
@@ -36,7 +36,6 @@
     private Integer unitId;
     private String unitName;
 
-    private String unitName;
     /** 杩愮淮鐘舵�� */
     private String status;
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
index 102d8ee..1203544 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/YwPointController.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.controller;
 
+import com.ycl.platform.domain.form.BatchEditPointForm;
 import com.ycl.system.domain.group.Update;
 import com.ycl.system.domain.group.Add;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -50,6 +51,12 @@
         return ywPointService.update(form);
     }
 
+    @PutMapping("/batch")
+    @ApiOperation(value = "鎵归噺淇敼杩愮淮鍗曚綅", notes = "鎵归噺淇敼杩愮淮鍗曚綅")
+    public Result batchEdit(@RequestBody @Validated BatchEditPointForm form) {
+        return ywPointService.batchEdit(form);
+    }
+
     @DeleteMapping("/{id}")
     @ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎")
     public Result removeById(@PathVariable("id") String id) {
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index fec069e..6aa4057 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -2,6 +2,7 @@
 
 import com.ycl.platform.domain.entity.YwPoint;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.platform.domain.form.BatchEditPointForm;
 import com.ycl.system.Result;
 import com.ycl.platform.domain.form.YwPointForm;
 import com.ycl.platform.domain.query.YwPointQuery;
@@ -69,4 +70,11 @@
      * @return
      */
     Result batchAdd(List<YwPointForm> form);
+
+    /**
+     * 鎵归噺淇敼杩愮淮鍗曚綅
+     * @param form
+     * @return
+     */
+    Result batchEdit(BatchEditPointForm form);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index adaec69..60cf212 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -1,7 +1,9 @@
 package com.ycl.platform.service.impl;
 
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.ycl.platform.domain.entity.YwPoint;
 import com.ycl.platform.domain.entity.YwUnit;
+import com.ycl.platform.domain.form.BatchEditPointForm;
 import com.ycl.platform.mapper.YwPointMapper;
 import com.ycl.platform.mapper.YwUnitMapper;
 import com.ycl.platform.service.YwPointService;
@@ -15,17 +17,16 @@
 
 import com.ycl.system.entity.SysDept;
 import com.ycl.system.service.ISysDeptService;
-import org.apache.commons.lang3.StringUtils;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.system.page.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import java.util.ArrayList;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
@@ -75,6 +76,27 @@
         return Result.ok("娣诲姞鎴愬姛");
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Result batchEdit(BatchEditPointForm form) {
+        if (Objects.nonNull(form.getUnitId())) {
+            new LambdaUpdateChainWrapper<>(baseMapper)
+                    .in(YwPoint::getId, form.getIds())
+                    .set(YwPoint::getUnitId, form.getUnitId())
+                    .set(YwPoint::getStartTime, form.getStartTime())
+                    .set(YwPoint::getEndTime, form.getEndTime())
+                    .update();
+        } else {
+            new LambdaUpdateChainWrapper<>(baseMapper)
+                    .in(YwPoint::getId, form.getIds())
+                    .set(YwPoint::getUnitId, form.getUnitId())
+                    .set(YwPoint::getStartTime, null)
+                    .set(YwPoint::getEndTime, null)
+                    .update();
+        }
+        return Result.ok("淇敼鎴愬姛");
+    }
+
     /**
      * 淇敼
      * @param form

--
Gitblit v1.8.0