From 5b8a52d6cef6f6b1032cc576471b505e69304331 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 08 十一月 2024 15:47:38 +0800
Subject: [PATCH] 上传RTU升级文件接收端增加判断重名文件,重名文件不允许上传

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/UgRtuProgramMapper.java                       |    7 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramCtrl.java |    6 +++++-
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramSv.java   |   13 +++++++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuProgramMapper.xml                                      |   11 +++++++++++
 4 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/UgRtuProgramMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/UgRtuProgramMapper.java
index 808d942..0c97753 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/UgRtuProgramMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/UgRtuProgramMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.UgRtuProgram;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -71,6 +72,12 @@
      * @return 瀹炰綋闆嗗悎
      * */
     List<UgRtuProgram> selectAll() ;
+    /**
+     * 鏌ヨ鏁版嵁搴擄紝鏄惁瀛樺湪缁欏畾鍗囩骇鏂囦欢鍚嶇О
+     * @param programFileName 鏂囦欢鍚嶇О
+     * @return bool
+     */
+    Long selectByFileName(@Param("programFileName") String programFileName) ;
 
     /**
      * update record selective
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuProgramMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuProgramMapper.xml
index b281fdb..9aa7dbd 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuProgramMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuProgramMapper.xml
@@ -74,6 +74,17 @@
     where bd.deleted != 1
     order by bd.id DESC
   </select>
+  <select id="selectByFileName" parameterType="java.lang.String" resultType="java.lang.Long">
+    select
+    count(*)
+    from ug_rtu_program bd
+    where bd.deleted != 1
+    <trim prefix="and" suffixOverrides="and">
+      <if test="programFileName != null and programFileName != ''">
+        bd.hex_file_name = #{programFileName ,jdbcType=VARCHAR}
+      </if>
+    </trim>
+  </select>
 
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
     <!--@mbg.generated-->
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramCtrl.java
index 66872cd..33993ce 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramCtrl.java
@@ -151,6 +151,10 @@
         if(vo.file == null){
             return BaseResponseUtils.buildFail("RTU绋嬪簭鏂囦欢蹇呴』涓婁紶") ;
         }
+        String fileName = vo.file.getOriginalFilename() ;
+        if(this.sv.existFileName(fileName)){
+            return BaseResponseUtils.buildFail("RTU绋嬪簭鏂囦欢鍚嶅凡瀛樺湪") ;
+        }
 
         HexFileVo fileVo = null ;
         byte[] fileBytes = null ;
@@ -166,7 +170,7 @@
         }
         if(fileVo != null){
             UgRtuProgram po = new UgRtuProgram();
-            po.hexFileName = vo.file.getOriginalFilename() ;
+            po.hexFileName = fileName ;
             po.programCalculateBytes = (int)fileVo.calculateBytes ;
             po.programCrc16 = fileVo.bytesCrc16 ;
             po.programBytes = fileVo.bytes;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramSv.java
index e61e65d..83dd7c8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/program/UgRtuProgramSv.java
@@ -59,6 +59,19 @@
         rsVo.obj = this.dao.selectAll() ;
         return rsVo ;
     }
+    /**
+     * 鏌ヨ鏁版嵁搴擄紝鏄惁瀛樺湪缁欏畾鍗囩骇鏂囦欢鍚嶇О
+     * @param programFileName 鏂囦欢鍚嶇О
+     * @return bool
+     */
+    public boolean existFileName(String programFileName){
+        Long count = this.dao.selectByFileName(programFileName) ;
+        if(count != null && count > 0){
+            return true ;
+        }else{
+            return false ;
+        }
+    }
 
     /**
      * 鏂板淇濆瓨鍒嗘按鍙e疄浣�

--
Gitblit v1.8.0