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