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