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