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