From 66db1d15cf5d4b51a346a42b66f0505bd7f31ce0 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期三, 03 一月 2024 15:23:47 +0800
Subject: [PATCH] 解压

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

diff --git a/src/main/java/com/whyc/service/SoftwareService.java b/src/main/java/com/whyc/service/SoftwareService.java
index 007b72a..255be48 100644
--- a/src/main/java/com/whyc/service/SoftwareService.java
+++ b/src/main/java/com/whyc/service/SoftwareService.java
@@ -180,11 +180,9 @@
             e.printStackTrace();
         }
         //璁板綍鏃ュ織
-        DocUser docUser= ActionUtil.getUser();
-        String operationDetail="鍏蜂綋杞欢鍚嶇О涓�:"+software.getFileName();
-        String opreationMsg="鎵ц浜嗚蒋浠朵笅杞芥搷浣�";
-        String terminalIp=req.getRemoteAddr();
-        logService.recordOperationLog(docUser.getId(),docUser.getName(), UserOperation.TYPE_DOWNLOAD.getType(),new Date(),terminalIp,opreationMsg,operationDetail);
+        logService.recordOperationLogDownLoad(ActionUtil.getUser().getId(),ActionUtil.getUser().getName(), UserOperation.TYPE_DOWNLOAD_SOFWARE.getType(),new Date(),req.getRemoteAddr()
+                ,filename,fileDirName+File.separator+software.getFileUrl(),"",String.valueOf(id),software.getVersion());
+
     }
 
     @Transactional
@@ -238,6 +236,7 @@
                 .set("local_reason","杞欢鐗堟湰鍗囩骇")
                 .eq("board_number",boardNumber)
                 .eq("type",type)
+                .ne("lock_flag",-1)
                 .in("apply_material_code",materialCodeList);
         mapper.update(null,update);
     }
@@ -271,10 +270,13 @@
             UpdateWrapper<Software> update = Wrappers.update();
             update.eq("file_name",softwareDB.getFileName());
             mapper.delete(update);
+            String fontUpdateTime = softwareDB.getFontUpdateTime();
             softwareList.forEach(software2 -> {
                 software2.setFileUrl(softwareDB.getFileUrl());
                 software2.setExcelUrl(softwareHttpUrl + File.separator + originalFilename);
                 software2.setCreateTime(new Date());
+                software2.setLockFlag(-1);
+                software2.setFontUpdateTime(fontUpdateTime);
             });
             mapper.insertBatchSomeColumn(softwareList);
 
@@ -286,29 +288,44 @@
      * 鏍规嵁杞欢鍞竴鍊煎瓧娈典慨鏀硅蒋浠堕攣瀹氱姸鎬�,杩欓噷閫夊彇fileUrl
      *
      * @param fileUrl
+     * @param lockFlagNow
      * @param lockFlag
      * @param localReason
      * @return
      */
-    public Response updateSoftwareLock(String fileUrl,int lockFlag,String localReason) {
+    public Response updateSoftwareLock(String fileUrl, int lockFlagNow, int lockFlag, String localReason) {
         String userName = ActionUtil.getUser().getName();
         if(lockFlag ==0){
             //鍙湁鏉庢鍗庢墠鑳借В閿� 寰呮祴璇曢攣瀹氱殑杞欢
             QueryWrapper<Software> query = Wrappers.query();
-            query.eq("file_url",fileUrl).last(" limit 1");
-            Software softwareInDB = mapper.selectOne(query);
+            query.eq("file_url",fileUrl);
+            List<Software> softwareListInDB = mapper.selectList(query);
+            Software softwareInDB = softwareListInDB.get(0);
             if(softwareInDB.getLockFlag() == -1){
-                if(!userName.equals("鏉庢鍗�")){
-                    return new Response().set(1,false,"鏃犳潈闄愯В閿� 寰呮祴璇曠殑杞欢");
-                }
+                //if(!userName.equals("鏉庢鍗�")){
+                //    return new Response().set(1,false,"鏃犳潈闄愯В閿� 寰呮祴璇曠殑杞欢");
+                //}else{
+                    //閿佸畾鍘熸潵鐨勬墍鏈夌増鏈�:鏍规嵁鐗堝彿鍜岃蒋浠剁被鍨�,鎺掗櫎寰呮祴璇曠増鏈�
+                    List<String> materialCodeList = softwareListInDB.stream().map(Software::getApplyMaterialCode).collect(Collectors.toList());
+                    lockByBoardNumberAndTypeAndMaterialCode(softwareInDB.getBoardNumber(),softwareInDB.getType(),materialCodeList);
+
+                //}
             }
         }
         UpdateWrapper uwrapper=new UpdateWrapper();
         uwrapper.set("lock_flag",lockFlag);
         uwrapper.set("local_reason",localReason);
         uwrapper.eq("file_url",fileUrl);
+        uwrapper.eq("lock_flag",lockFlagNow);
         int flag=mapper.update(null,uwrapper);
         return new Response().set(1,flag>0,"閿佸畾/瑙i攣鎴愬姛");
     }
-
+    //鏍规嵁杞欢鍚嶇О瀹炵幇杞欢鍒犻櫎
+    public Response deleteSoftware(String fileName,String version) {
+        UpdateWrapper wrapper=new UpdateWrapper();
+        wrapper.eq("file_name",fileName);
+        wrapper.eq("version",version);
+        int flag=mapper.delete(wrapper);
+        return new Response().set(1,flag>0,"浠秈d瀹炵幇杞欢鍒犻櫎");
+    }
 }

--
Gitblit v1.9.1