package Ġpers . ac p . admin . deploy . controller Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġio . swagger . annotations .* Ċ import Ġorg . bouncycastle . util . en coders . Base 6 4 Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . security . access . pre post . Pre Authorize Ċ import Ġorg . springframework . validation . annotation . Validated Ċ import Ġorg . springframework . web . bind . annotation .* Ċ import Ġorg . springframework . web . multipart . Multipart File Ċ import Ġpers . ac p . admin . common . base . Base Controller Ċ import Ġpers . ac p . admin . common . vo . Info Vo Ċ import Ġpers . ac p . admin . deploy . constant . Deploy Api Ċ import Ġpers . ac p . admin . deploy . po . File Po Ċ import Ġpers . ac p . admin . permission . Base Expression Ċ import Ġpers . ac p . core . Common Tools Ċ import Ġpers . ac p . admin . deploy . domain . Deploy File Domain Ċ import Ġpers . ac p . admin . deploy . vo . File Vo Ċ import Ġpers . ac p . spring . boot . exceptions . Server Exception Ċ import Ġpers . ac p . spring . boot . interfaces . Log Adapter Ċ import Ġpers . ac p . spring . boot . vo . Error Vo Ċ import Ġjava . nio . charset . Charset Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . servlet . http . HttpServletResponse Ċ import Ġjavax . validation . Valid Ċ import Ġjavax . validation . constraints .* Ċ Ċ @ Validated Ċ @ RestController Ċ @ RequestMapping ( Deploy Api . basePath ) Ċ @ Api ( tags Ġ= Ġ[" æĸĩä»¶ ç®¡çĲĨ "]) Ċ class ĠDeploy File Controller Ġ@ Autowired Ċ constructor ( ĊĠĠĠ Ġlog Adapter : ĠLog Adapter , ĊĠĠĠ Ġprivate Ġval ĠobjectMapper : ĠObjectMapper , ĊĠĠĠ Ġprivate Ġval Ġdeploy File Domain : ĠDeploy File Domain Ċ ) Ġ: ĠBaseController ( log Adapter ) Ġ{ ĊĠĠĠ Ġ@ ApiOperation ( value Ġ= Ġ" åĪĽå»º æĸĩä»¶å¤¹ ") ĊĠĠĠ Ġ@ Api Responses ( ApiResponse ( code Ġ= Ġ 4 0 0 , Ġmessage Ġ= Ġ" åıĤæķ° æł¡éªĮ ä¸į éĢļè¿ĩ ï¼Ľ ", Ġresponse Ġ= ĠError Vo :: class )) ĊĠĠĠ Ġ@ Pre Authorize ( Base Expression . super Only ) ĊĠĠĠ Ġ@ Put Mapping ( value Ġ= Ġ[ Deploy Api . file ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġ@ Throws ( Server Exception :: class ) ĊĠĠĠ Ġfun Ġcreate Fold (@ RequestBody Ġ@ Valid Ġfile Po : ĠFile Po ): ĠResponseEntity < File Vo > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdeploy File Domain . create Fold ( file Po . path Ġ?: Ġ"", Ġfile Po . name !! ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponseEntity . ok ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( value Ġ= Ġ" æŁ¥è¯¢ æľįåĬ¡åĻ¨ æĸĩä»¶ ") ĊĠĠĠ Ġ@ Pre Authorize ( Base Expression . super Only ) ĊĠĠĠ Ġ@ GetMapping ( value Ġ= Ġ[ Deploy Api . file ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġ@ Throws ( Server Exception :: class ) ĊĠĠĠ Ġfun Ġquery File ( ĊĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" è·¯å¾Ħ ", Ġrequired Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ@ RequestParam ( required Ġ= Ġfalse ) Ġpath : ĠString ?, ĊĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" åĲįç§° ", Ġrequired Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ@ RequestParam ( required Ġ= Ġfalse ) Ġname : ĠString ? ĊĠĠĠ Ġ): ĠResponseEntity < List < File Vo >> Ġ= Ġ( path ?. let Ġ{ ĊĠĠĠĠĠĠĠ ĠString ( Base 6 4 . decode ( it ), ĠCharset . forName ( Common Tools . getDefault Charset ())) ĊĠĠĠ Ġ} Ġ?: Ġ""). let Ġ{ ĠbasePath Ġ-> ĊĠĠĠĠĠĠĠ Ġ( name ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString ( Base 6 4 . decode ( it ), ĠCharset . forName ( Common Tools . getDefault Charset ())) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġ""). let Ġ{ Ġfilter Name Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponseEntity . ok ( deploy File Domain . file List ( basePath , Ġfilter Name )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( value Ġ= Ġ" ä¸Ĭä¼ł æĸĩä»¶ ") ĊĠĠĠ Ġ@ Api Responses ( ApiResponse ( code Ġ= Ġ 4 0 0 , Ġmessage Ġ= Ġ" åıĤæķ° æł¡éªĮ ä¸į éĢļè¿ĩ ï¼Ľ ", Ġresponse Ġ= ĠError Vo :: class )) ĊĠĠĠ Ġ@ Pre Authorize ( Base Expression . super Only ) ĊĠĠĠ Ġ@ PostMapping ( value Ġ= Ġ[ Deploy Api . file ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġ@ Throws ( Server Exception :: class ) ĊĠĠĠ Ġfun Ġupload File ( ĊĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" è·¯å¾Ħ ", Ġrequired Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ@ RequestParam ( required Ġ= Ġfalse ) Ġpath : ĠString ?, ĊĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" æĸĩä»¶ ", Ġrequired Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ@ Request Part Ġfile : ĠMultip art File ĊĠĠĠ Ġ): ĠResponseEntity < File Vo > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( file . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠServer Exception (" è¯· éĢīæĭ© éľĢè¦ģ ä¸Ĭä¼ł çļĦæĸĩä»¶ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdeploy File Domain . upload File ( path Ġ?: Ġ"", Ġfile ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResponseEntity . ok ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( value Ġ= Ġ" åĪłéĻ¤ æĸĩä»¶ ") ĊĠĠĠ Ġ@ Api Responses ( ApiResponse ( code Ġ= Ġ 4 0 0 , Ġmessage Ġ= Ġ" åıĤæķ° æł¡éªĮ ä¸į éĢļè¿ĩ ï¼Ľ ", Ġresponse Ġ= ĠError Vo :: class )) ĊĠĠĠ Ġ@ Pre Authorize ( Base Expression . super Only ) ĊĠĠĠ Ġ@ Delete Mapping ( value Ġ= Ġ[ Deploy Api . file ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ JSON _ VALUE ]) ĊĠĠĠ Ġ@ Throws ( Server Exception :: class ) ĊĠĠĠ Ġfun Ġdelete File (@ RequestBody Ġ@ Valid Ġfile Po : ĠFile Po ): ĠResponseEntity < Info Vo > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdeploy File Domain . delete File ( file Po . path Ġ?: Ġ"", Ġfile Po . name !! ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponseEntity . ok ( Info Vo ( message Ġ= Ġ" æĸĩä»¶ åĪłéĻ¤ æĪĲåĬŁ ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ ApiOperation ( value Ġ= Ġ" ä¸ĭè½½ æĸĩä»¶ ") ĊĠĠĠ Ġ@ Api Responses ( ApiResponse ( code Ġ= Ġ 4 0 0 , Ġmessage Ġ= Ġ" åıĤæķ° æł¡éªĮ ä¸į éĢļè¿ĩ ï¼Ľ ", Ġresponse Ġ= ĠError Vo :: class )) ĊĠĠĠ Ġ@ GetMapping ( value Ġ= Ġ[ Deploy Api . file Down Load ], Ġproduces Ġ= Ġ[ MediaType . ALL _ VALUE ]) ĊĠĠĠ Ġ@ Throws ( Server Exception :: class ) ĊĠĠĠ Ġfun Ġdownload File ( ĊĠĠĠĠĠĠĠ Ġrequest : ĠHttpServletRequest , Ġresponse : ĠHttpServletResponse , ĊĠĠĠĠĠĠĠ Ġ@ Api Param ( value Ġ= Ġ" æĸĩä»¶ åĨħå®¹ ", Ġrequired Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ@ NotBlank ( message Ġ= Ġ" æĸĩä»¶ åĨħå®¹ ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠ Ġ@ RequestParam Ġparams : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Content Ġ= ĠobjectMapper . readValue ( params , ĠFile Po :: class . java ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Common Tools . isNull Str ( file Content . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠServer Exception (" æĸĩä»¶ åĲįç§° ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠbasePath Ġ= ĠString ( Base 6 4 . decode ( file Content . path ), ĠCharset . forName ( Common Tools . getDefault Charset ())) ĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= ĠString ( Base 6 4 . decode ( file Content . name ), ĠCharset . forName ( Common Tools . getDefault Charset ())) ĊĠĠĠĠĠĠĠ Ġdeploy File Domain . do Down Load File ( request , Ġresponse , ĠbasePath , ĠfileName ) ĊĠĠĠ Ġ} Ċ }