From 67ae0a7a860a1957b6e0beed1dd67a35765a85ea Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期二, 06 十二月 2022 10:12:38 +0800
Subject: [PATCH] 上传时之前所有版本锁定

---
 src/main/java/com/whyc/service/SoftwareService.java |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/SoftwareService.java b/src/main/java/com/whyc/service/SoftwareService.java
index f820dba..b335a49 100644
--- a/src/main/java/com/whyc/service/SoftwareService.java
+++ b/src/main/java/com/whyc/service/SoftwareService.java
@@ -185,6 +185,7 @@
         logService.recordOperationLog(docUser.getId(),docUser.getName(), UserOperation.TYPE_DOWNLOAD.getType(),new Date(),terminalIp,opreationMsg,operationDetail);
     }
 
+    @Transactional
     public Response upload(MultipartFile file1, MultipartFile file2, String fontUpdateTime, List<Software> softwareList) throws IOException {
         String file1Name = file1.getOriginalFilename();
         String file2Name = file2.getOriginalFilename();
@@ -218,11 +219,22 @@
             software1.setExcelUrl(softwareHttpUrl+File.separator+file2Name);
             software1.setCreateTime(date);
         }
+        //閿佸畾鍘熸潵鐨勬墍鏈夌増鏈�:鏍规嵁鐗堝彿鍜岃蒋浠剁被鍨�
+        lockByBoardNumberAndType(software.getBoardNumber(),software.getType());
         //鍐欏叆鏁版嵁搴�
         insertBatch(softwareList);
         return new Response().set(1,true,"涓婁紶瀹屾垚");
     }
 
+    private void lockByBoardNumberAndType(String boardNumber, String type) {
+        UpdateWrapper<Software> update = Wrappers.update();
+        update.set("lock_flag",1)
+                .set("lock_reason","杞欢鐗堟湰鍗囩骇")
+                .eq("board_number",boardNumber)
+                .eq("type",type);
+        mapper.update(null,update);
+    }
+
     private Software getByFilename(String fileName) {
         QueryWrapper<Software> query = Wrappers.query();
         query.eq("file_name",fileName).last(" limit 1");

--
Gitblit v1.9.1