From e67870fff62635cd14beb0d5988f08aeef4b22fa Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 07 四月 2025 21:27:06 +0800 Subject: [PATCH] 添加远程关阀式终止灌溉计划,未测试 --- pipIrr-platform/pipIrr-web/pipIrr-web-file/src/main/java/com/dy/pipIrrWebFile/fm/RestHashDeal.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 95 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-file/src/main/java/com/dy/pipIrrWebFile/fm/RestHashDeal.java b/pipIrr-platform/pipIrr-web/pipIrr-web-file/src/main/java/com/dy/pipIrrWebFile/fm/RestHashDeal.java new file mode 100644 index 0000000..e404408 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-file/src/main/java/com/dy/pipIrrWebFile/fm/RestHashDeal.java @@ -0,0 +1,95 @@ +package com.dy.pipIrrWebFile.fm; + +import com.dy.common.util.MurmurHash; + +public class RestHashDeal { + + + /** + * 鏂囦欢鍚嶇О璁$畻杞崲 + * @param fileName + * @param rvo + * @return + * @throws Exception + */ + public FileRestVo fileTransRest(String fileName, FileRestVo rvo) throws Exception{ + if(fileName != null + && !fileName.trim().equals("") + && rvo != null){ + if(DyFmListener.dyFileGroup == null + || DyFmListener.dyFileGroup.list == null + || DyFmListener.dyFileGroup.list.size() == 0){ + throw new Exception("涓ラ噸閿欒锛屾枃浠舵湇鍔″櫒restful鏈厤缃紒") ; + }else{ + DyFileSvConf.Vo confVo = null ; + Integer hash = null ; + if(DyFmListener.dyFileGroup.list.size() == 1){ + confVo = DyFmListener.dyFileGroup.list.get(0) ; + }else{ + hash = new MurmurHash().hash16_plus(fileName) ; + for(DyFileSvConf.Vo lvo : DyFmListener.dyFileGroup.list){ + if(hash >= lvo.hashStart.intValue() + && hash <= lvo.hashEnd.intValue()){ + confVo = lvo ; + break ; + } + } + } + if(confVo != null){ + rvo.fileSysId = confVo.id; + rvo.fileNameHash = hash; + rvo.fileSysAbsolutePath = confVo.fileSysAbsolutePath; + rvo.fileSysRelativePath = confVo.fileSysRelativePath; + rvo.fileSysRestUrl = confVo.restUrl; + rvo.fileWebUrl = confVo.webUrl ; + rvo.fileWebDownloadPath = confVo.webDownloadPath ; + } + } + } + return rvo ; + } + + + /** + * 鍝堝笇鍊艰绠楄浆鎹� + * @param hashcode + * @param rvo + * @return + * @throws Exception + */ + public FileRestVo fileTransRest(Integer hashcode, FileRestVo rvo) throws Exception{ + if(hashcode != null + && rvo != null){ + if(DyFmListener.dyFileGroup == null + || DyFmListener.dyFileGroup.list == null + || DyFmListener.dyFileGroup.list.size() == 0){ + throw new Exception("涓ラ噸閿欒锛屾枃浠舵湇鍔″櫒restful鏈厤缃紒") ; + }else{ + DyFileSvConf.Vo confVo = null ; + Integer hash = hashcode ; + if(DyFmListener.dyFileGroup.list.size() == 1){ + confVo = DyFmListener.dyFileGroup.list.get(0) ; + }else{ + for(DyFileSvConf.Vo lvo : DyFmListener.dyFileGroup.list){ + if(hash >= lvo.hashStart.intValue() + && hash <= lvo.hashEnd.intValue()){ + confVo = lvo ; + break ; + } + } + } + if(confVo != null){ + rvo.fileSysId = confVo.id; + rvo.fileNameHash = hash; + rvo.fileSysAbsolutePath = confVo.fileSysAbsolutePath; + rvo.fileSysRelativePath = confVo.fileSysRelativePath; + rvo.fileSysRestUrl = confVo.restUrl; + rvo.fileWebUrl = confVo.webUrl ; + rvo.fileWebDownloadPath = confVo.webDownloadPath ; + } + } + } + return rvo ; + } + +} -- Gitblit v1.8.0