package Ġcom . q ing zh en yun . user file . repository Ċ Ċ import Ġcom . q ing zh en yun . common . constants . User File Constants Ċ import Ġcom . q ing zh en yun . common . constants . User File Oper ate Ċ import Ġcom . q ing zh en yun . common . entity . Record Page Ċ import Ġcom . q ing zh en yun . common . entity . Trusted Path Ċ import Ġcom . q ing zh en yun . common . jooq . service . Abstract J oo q Dsl Repository Ċ import Ġcom . q ing zh en yun . generated . file . Tables Ċ import Ġcom . q ing zh en yun . generated . file . tables . po jos . User File Ċ import Ġcom . q ing zh en yun . generated . file . tables . records . User File Record Ċ import Ġorg . jooq . Condition Ċ import Ġorg . jooq . DSL Context Ċ import Ġorg . jooq . Sort Field Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service Ċ class ĠUser File Repository ( dsl Context : ĠDSL Context ) Ġ: ĠAbstract J oo q Dsl Repository < User File Record , ĠString , ĠUser File >( dsl Context , ĠTables . USER _ FILE , ĠUser File :: class . java ) Ġ{ ĊĠĠĠ Ġfun Ġget Dsl Context ( userId : ĠLong , ĠreadOnly : ĠBoolean Ġ= Ġfalse ): ĠDSL Context Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( userId Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . get Dsl Context () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( readOnly ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . get Dsl Context () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . get Dsl Context () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġlist Directory Page ( userId : ĠLong , Ġuuid : ĠString ?, Ġtype : ĠInt , Ġpage : ĠInt , ĠpageSize : ĠInt , ĠorderBy : ĠInt , Ġclazz : ĠClass < T >): ĠRecord Page < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġthis . get Dsl Context ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġvar Ġcondition Ġ= Ġtable . USER _ ID . eq ( userId ). and ( table . PARENT . eq ( uuid )) ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcondition Ġ= Ġcondition . and ( table . TYPE . eq ( type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis . getPage ( page , ĠpageSize , Ġclazz , Ġget OrderBy ( userId , ĠorderBy ), Ġcondition , Ġd sl Context , Ġtable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget OrderBy ( userId : ĠLong , ĠorderBy : ĠInt ?): ĠList < Sort Field <* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġval ĠorderBy Condition : ĠSort Field < *> Ġ= Ġtable . TYPE . desc () ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( orderBy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 2 Ġ-> Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠlistOf ( orderBy Condition , Ġtable . CT IME . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠlistOf ( table . NAME . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠlistOf ( table . NAME . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠlistOf ( table . TYPE . desc (), Ġtable . NAME . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠlistOf ( table . TYPE . asc (), Ġtable . NAME . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> ĠlistOf ( table . TYPE . desc (), Ġtable . NAME . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> ĠlistOf ( table . TYPE . asc (), Ġtable . NAME . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ-> ĠlistOf ( table . TYPE . desc (), Ġtable . SIZE . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ-> ĠlistOf ( table . TYPE . asc (), Ġtable . SIZE . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ-> ĠlistOf ( table . TYPE . desc (), Ġtable . SIZE . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 Ġ-> ĠlistOf ( table . TYPE . asc (), Ġtable . SIZE . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 Ġ-> ĠlistOf ( table . SIZE . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 Ġ-> ĠlistOf ( table . SIZE . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 Ġ-> ĠlistOf ( table . TYPE . desc (), Ġtable . CT IME . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 Ġ-> ĠlistOf ( table . TYPE . asc (), Ġtable . CT IME . desc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 6 Ġ-> ĠlistOf ( table . TYPE . desc (), Ġtable . CT IME . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 7 Ġ-> ĠlistOf ( table . TYPE . asc (), Ġtable . CT IME . asc ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠlistOf ( orderBy Condition , Ġtable . CT IME . desc ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġlist Directory ( userId : ĠLong , Ġuuid : ĠString ?, Ġtype : ĠInt , Ġstart : ĠInt , Ġsize : ĠInt , ĠorderBy : ĠInt , Ġclazz : ĠClass < T >): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġthis . get Dsl Context ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġvar Ġcondition Ġ= Ġtable . USER _ ID . eq ( userId ). and ( table . PARENT . eq ( uuid )) ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcondition Ġ= Ġcondition . and ( table . TYPE . eq ( type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . getList ( start , Ġsize , Ġclazz , Ġget OrderBy ( userId , ĠorderBy ), Ġcondition , Ġd sl Context , Ġtable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġlist Directory ( userId : ĠLong , Ġcondition : ĠCondition ?, Ġstart : ĠInt , Ġsize : ĠInt , ĠorderBy : ĠInt , Ġclazz : ĠClass < T >): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġthis . get Dsl Context ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . getList ( start , Ġsize , Ġclazz , Ġget OrderBy ( userId , ĠorderBy ), Ġcondition , Ġd sl Context , Ġtable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpre Oper ate ( userId : ĠLong , Ġuuid : ĠList < String >, Ġoperate : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( uuid . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġget Dsl Context ( userId , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġtable . USER _ ID . eq ( userId ). and ( table . UUID .` in `( uuid )) ĊĠĠĠĠĠĠĠ Ġreturn Ġd sl Context . update ( table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . LOCK ING , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . M TIME , ĠSystem . currentTimeMillis ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . OP , Ġoperate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( condition ). execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpre Oper ate ( userId : ĠLong , Ġuuid : ĠString ?, Ġoperate : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( uuid . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġget Dsl Context ( userId , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġtable . USER _ ID . eq ( userId ). and ( table . UUID . eq ( uuid )) ĊĠĠĠĠĠĠĠ Ġreturn Ġd sl Context . update ( table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . LOCK ING , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . M TIME , ĠSystem . currentTimeMillis ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . OP , Ġoperate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( condition ). execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġun Lock ( userId : ĠLong , Ġuuid : ĠString ?, Ġoperate : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( uuid . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġget Dsl Context ( userId , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġtable . USER _ ID . eq ( userId ). and ( table . UUID . eq ( uuid )) ĊĠĠĠĠĠĠĠ Ġreturn Ġd sl Context . update ( table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . LOCK ING , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . M TIME , ĠSystem . currentTimeMillis ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ( table . OP , Ġoperate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( condition ). execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( userId : ĠLong , Ġuuid : ĠString ?, Ġother Dsl Context : ĠDSL Context ? Ġ= Ġnull , Ġtable : Ġcom . q ing zh en yun . generated . file . tables . User File ? Ġ= Ġnull ): ĠUser File Record ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġc Table Ġ= Ġtable Ġ?: Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġif Ġ( uuid . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfind Root ( userId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġc Table . USER _ ID . eq ( userId ). and ( c Table . UUID . eq ( uuid )) ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġother Dsl Context Ġ?: Ġget Dsl Context ( userId ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . get ( condition , Ġd sl Context , Ġc Table ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfind Root ( userId : ĠLong , Ġother Dsl Context : ĠDSL Context ? Ġ= Ġnull , Ġtable : Ġcom . q ing zh en yun . generated . file . tables . User File ? Ġ= Ġnull ): ĠUser File Record Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġc Table Ġ= Ġtable Ġ?: Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġother Dsl Context Ġ?: Ġget Dsl Context ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġtrusted Path Ġ= ĠTr usted Path ("") ĊĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġc Table . USER _ ID . eq ( userId ). and ( c Table . UUID . eq ( trusted Path . uuid )) ĊĠĠĠĠĠĠĠ Ġval Ġrecord Ġ= Ġthis [ condition , Ġd sl Context ] ĊĠĠĠĠĠĠĠ Ġif Ġ( record Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġrecord ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnew Record Ġ= Ġthis . create ( dsl Context , Ġc Table ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġnew Record . set UserId ( userId ). setSize ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set A time ( current ). set M time ( current ). set C time ( current ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Op ( User File Oper ate . ADD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName ( User File Constants . ROOT _ NAME ). set Lock ing ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( trusted Path . path ). set Uuid ( trusted Path . uuid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setParent ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Version ( 0 ). type Ġ= ĠUser File Constants . DIRECTORY _ TYPE ĊĠĠĠĠĠĠĠ Ġnew Record . store () ĊĠĠĠĠĠĠĠ Ġreturn Ġnew Record ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġdelete ( userId : ĠLong , Ġuuid : ĠString ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( uuid . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġd sl Context Ġ= Ġget Dsl Context ( userId , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġget Table ( userId ) ĊĠĠĠĠĠĠĠ Ġval Ġcondition Ġ= Ġtable . USER _ ID . eq ( userId ). and ( table . UUID . eq ( uuid )) ĊĠĠĠĠĠĠĠ Ġreturn Ġd sl Context . delete From ( table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( condition ). execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Table ( userId : ĠLong ): Ġcom . q ing zh en yun . generated . file . tables . User File Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( userId Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTables . USER _ FILE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠTables . USER _ FILE . rename (" cross ") ĊĠĠĠ Ġ} Ċ }