New file |
| | |
| | | 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 ; |
| | | } |
| | | |
| | | } |