package Ġcom . my world . s we alth . common Ċ Ċ import Ġorg . apache . commons . codec . binary . Base 6 4 Ċ import Ġorg . apache . commons . lang . StringUtils Ċ import Ġorg . apache . logging . log 4 j . Log Manager Ċ import Ġjava . util . regex . Pattern Ċ Ċ /** Ċ Ġ* Ġ åŃĹç¬¦ä¸² å¤ĦçĲĨ ç±» Ċ Ġ* Ġsub mail ä¸Ń åı¯èĥ½ éľĢè¦ģ ä½¿çĶ¨ ç¬¬äºĮ ä¸ª æĸ¹æ³ķ Ċ Ġ*/ Ċ object ĠString Util Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLog Manager . getRoot Logger () ĊĠĠĠ Ġprivate Ġval Ġplace Suffix Ġ= ĠarrayOf (" èĩªæ²» å·ŀ ", Ġ" èĩªæ²» åİ¿ ", Ġ" èĩªæ²» æĹ Ĺ ", Ġ" èģĶ åĲĪ æĹ Ĺ ", Ġ" å¸Ĥ è¾ ĸ åĮº ", Ġ" åľ° åĮº ", Ġ" è¾ ĸ åĮº ", Ġ" å·¦ æĹ Ĺ ", Ġ" åı³ æĹ Ĺ ", Ġ" åīį æĹ Ĺ ", Ġ" åĲİ æĹ Ĺ ", Ġ" ä¸Ń æĹ Ĺ ", Ġ" è¡ Ĺ éģĵ ", Ġ" æĸ° åĮº ", Ġ" é«ĺ æĸ° åĮº ", Ġ" å¼Ģåıĳ åĮº ", Ġ" çľģ ", Ġ" å¸Ĥ ", Ġ" åĮº ", Ġ" åİ¿ ") ĊĊĠĠĠ Ġfun Ġis NotNull ( string : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠStringUtils . isNotEmpty ( string ) Ġ&& Ġ" null " Ġ!= Ġstring ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Null OrEmpty ( text : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtext Ġ== Ġnull Ġ|| Ġtext . trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ}. isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä¸¤ç§į è¿ĩæ»¤ åĮ¹éħį æĸ¹å¼ı ĊĠĠĠĠ Ġ* Ġ 1 ãĢģ åİ» æİī çī¹å®ļ åĲİ ç¼Ģ åĲįç§° ĊĠĠĠĠ Ġ* Ġ 2 ãĢģ æŃ£ åĪĻ è¡¨è¾¾å¼ı åĮ¹éħį ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfilter Place Name ( name : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġname Copy Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġ// Ġ åİ» æİī çī¹å®ļ åĲİ ç¼Ģ ï¼Į å¦Ĥæŀľ åī © ä½Ļ name åŃĹ æķ° å¤§äºİ çŃīäºİ 2 çļĦ ï¼Į åĪĻ è¿ĶåĽŀ ĊĠĠĠĠĠĠĠ Ġfor Ġ( suffix Ġin Ġplace Suffix ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name Copy . contains ( suffix )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Copy Ġ= Ġname Copy . replace ( suffix , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( name Copy . length Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" åİ» æİī åĲİ ç¼Ģ åĲİçļĦ åŁİ å¸Ĥ åĲįåŃĹ æĺ¯ ï¼ļ $ name Copy ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġname Copy ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åİ» æİī åĲİ ç¼Ģ åĲİ ï¼Į name åıª åī © ä¸ĭ 1 ä¸ª åŃĹ äºĨ ï¼Į åĪĻ ä½¿çĶ¨ æŃ£ åĪĻ è¡¨è¾¾å¼ı éĩįæĸ° åĮ¹éħį ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile (" ([ \\ u 4 e 0 0 - \\ u 9 fa 5 ]{ 2 , }) [ å¸Ĥ | åĮº | åİ¿ | çĽ Ł | æĹ Ĺ ]") ĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( matcher . find ()) Ġmatcher . group ( 1 ) Ġelse Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġis Chinese Letters ( word : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ("[ \\ u 4 e 0 0 - \\ u 9 fa 5 ]+ ") ĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( word ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmatcher . find () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġhas WhiteSpace ( word : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ("\\ s +") ĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( word . trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġmatcher . find () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġis Integer ( str : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ("^ [ 0 - 9 ]+ $ ") ĊĠĠĠĠĠĠĠ Ġval Ġis Int Ġ= Ġpattern . matcher ( str ) ĊĠĠĠĠĠĠĠ Ġreturn Ġis Int . matches () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠgetFile MimeType ( file Suffix : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Suffix Net Ġ= Ġfile Suffix . split (". ")[ 1 ] ĊĠĠĠĠĠĠĠ Ġvar ĠmimeType Ġ= Ġ" application /$ file Suffix Net " ĊĠĠĠĠĠĠĠ Ġwhen Ġ( file Suffix Net ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" text " Ġ-> ĠmimeType Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" docx " Ġ-> ĠmimeType Ġ= Ġ" application / vnd . open xm lform ats - off iced ocument . word processing ml . document " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" doc " Ġ-> ĠmimeType Ġ= Ġ" application / ms word " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ppt x " Ġ-> ĠmimeType Ġ= Ġ" application / vnd . open xm lform ats - off iced ocument . presentation ml . presentation " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ppt " Ġ-> ĠmimeType Ġ= Ġ" application / vnd . ms - power point " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" xlsx " Ġ-> ĠmimeType Ġ= Ġ" application / vnd . open xm lform ats - off iced ocument . spreadsheet ml . sheet " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" xls " Ġ-> ĠmimeType Ġ= Ġ" application / vnd . ms - excel " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" zip " Ġ-> ĠmimeType Ġ= Ġ" application / x - zip - compressed " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" rar " Ġ-> ĠmimeType Ġ= Ġ" application / octet - stream " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pdf " Ġ-> ĠmimeType Ġ= Ġ" application / pdf " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" jpg " Ġ-> ĠmimeType Ġ= Ġ" image / jpeg " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" png " Ġ-> ĠmimeType Ġ= Ġ" image / png " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" apk " Ġ-> ĠmimeType Ġ= Ġ" application / vnd . android . package - archive " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" html " Ġ-> ĠmimeType Ġ= Ġ" text / html " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" htm " Ġ-> ĠmimeType Ġ= Ġ" text / html " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" stm " Ġ-> ĠmimeType Ġ= Ġ" text / html " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠmimeType ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbase 6 4 ToBytes ( base 6 4 : ĠString ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġbase 6 4 Copy Ġ= Ġbase 6 4 ĊĠĠĠĠĠĠĠ Ġbase 6 4 Copy Ġ= Ġbase 6 4 Copy . replace (" data : image / jpeg ; base 6 4 , ". to Regex (), Ġ"") ĊĠĠĠĠĠĠĠ Ġreturn ĠBase 6 4 . decode Base 6 4 ( base 6 4 Copy ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbytes To Base 6 4 ( bytes : ĠByteArray ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBase 6 4 . encode Base 6 4 String ( bytes ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ