package Ġtop . z be boy . isy . glue . system Ċ Ċ import Ġcom . alibaba . fastjson . JSONObject Ċ import Ġorg . elasticsearch . index . query . QueryBuilder Ċ import Ġorg . elasticsearch . index . query . Query Builders Ċ import Ġorg . elasticsearch . search . sort . Sort Builders Ċ import Ġorg . elasticsearch . search . sort . SortOrder Ċ import Ġorg . springframework . data . domain . Page Ċ import Ġorg . springframework . data . elasticsearch . core . query . Native Search QueryBuilder Ċ import Ġorg . springframework . stereotype . Repository Ċ import Ġorg . springframework . util . Object Utils Ċ import Ġorg . springframework . util . StringUtils Ċ import Ġtop . z be boy . isy . elastic . pojo . System Mailbox Elastic Ċ import Ġtop . z be boy . isy . elastic . repository . System Mailbox Elastic Repository Ċ import Ġtop . z be boy . isy . glue . plugin . Elastic Plugin Ċ import Ġtop . z be boy . isy . glue . util . Result Utils Ċ import Ġtop . z be boy . isy . service . util . DateTime Utils Ċ import Ġtop . z be boy . isy . service . util . SQL Query Utils Ċ import Ġtop . z be boy . isy . web . bean . system . mailbox . System Mailbox Bean Ċ import Ġtop . z be boy . isy . web . util . Data Tables Utils Ċ import Ġjava . util .* Ċ import Ġjavax . annotation . Resource Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġz be boy Ġ 2 0 1 7 - 1 1 - 1 1 Ġ. Ċ Ġ**/ Ċ @ Repository (" system Mailbox Gl ue ") Ċ open Ġclass ĠSystem Mailbox Gl ue Impl Ġ: ĠElastic Plugin < System Mailbox Bean >(), ĠSystem Mailbox Gl ue Ġ{ ĊĊĠĠĠ Ġ@ Resource ĊĠĠĠ Ġopen Ġlateinit Ġvar Ġsystem Mailbox Elastic Repository : ĠSystem Mailbox Elastic Repository ĊĊĠĠĠ Ġoverride Ġfun ĠfindAll By Page ( dataTables Utils : ĠData Tables Utils < System Mailbox Bean >): ĠResult Utils < List < System Mailbox Bean >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Ġ= Ġdata Tables Utils . search ĊĠĠĠĠĠĠĠ Ġval Ġresult Utils Ġ= ĠResult Utils < List < System Mailbox Bean >>() ĊĠĠĠĠĠĠĠ Ġval Ġsystem Mailbox Elastic Page Ġ= Ġsystem Mailbox Elastic Repository . search ( build Search Query ( search , Ġdata Tables Utils , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult Utils . data ( data Builder ( system Mailbox Elastic Page )). total Elements ( system Mailbox Elastic Page . total Elements ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcount All (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsystem Mailbox Elastic Repository . count () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave ( system Mailbox Elastic : ĠSystem Mailbox Elastic ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsystem Mailbox Elastic Repository . save ( system Mailbox Elastic ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æŀĦå»º æĸ° æķ°æį® ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsystem Mailbox Elastic Page ĠåĪĨ é¡µ æķ°æį® ĊĠĠĠĠ Ġ* Ġ@ return Ġ æĸ° æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġdata Builder ( system Mailbox Elastic Page : ĠPage < System Mailbox Elastic >): ĠList < System Mailbox Bean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsystem Mail boxes Ġ= ĠArrayList < System Mailbox Bean >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( system Mailbox Elastic Ġin Ġsystem Mailbox Elastic Page . content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsystem Mailbox Bean Ġ= ĠSystem Mailbox Bean () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Mailbox Bean . system Mailbox Id Ġ= Ġsystem Mailbox Elastic . system Mailbox Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Mailbox Bean . send Time Ġ= Ġsystem Mailbox Elastic . send Time ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Mailbox Bean . accept Mail Ġ= Ġsystem Mailbox Elastic . accept Mail ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Mailbox Bean . send Condition Ġ= Ġsystem Mailbox Elastic . send Condition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDateTime Utils . timestamp ToDate ( system Mailbox Elastic . send Time !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Mailbox Bean . send Time New Ġ= ĠDateTime Utils . format Date ( date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsystem Mail boxes . add ( system Mailbox Bean ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsystem Mail boxes ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç³»ç»Ł éĤ®ä»¶ åħ¨å±Ģ æĲľç´¢ æĿ¡ä»¶ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsearch Ġæ Ĳ ľç´¢ åıĤæķ° ĊĠĠĠĠ Ġ* Ġ@ return Ġæ Ĳ ľç´¢ æĿ¡ä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġsearch Condition ( search : ĠJSONObject ?): ĠQuery Builder ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbl uer Builder Ġ= ĠQuery Builders . bool Query () ĊĠĠĠĠĠĠĠ Ġif Ġ(! Object Utils . isEmpty ( search )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccept Mail Ġ= ĠStringUtils . trim Whitespace ( search !!. getString (" accept Mail ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( StringUtils . has Length ( accept Mail )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwildcard QueryBuilder Ġ= ĠQuery Builders . wildcard Query (" accept Mail ", ĠSQL Query Utils . elastic Like All Param ( accept Mail )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbl uer Builder . must ( wildcard QueryBuilder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbl uer Builder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç³»ç»Ł éĤ®ä»¶ æİĴåºı ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdata Tables Utils ĠĠĠĠĠĠĠĠĠ Ġdat at ables å·¥åħ· ç±» ĊĠĠĠĠ Ġ* Ġ@ param Ġnative Search QueryBuilder ĠæŁ¥è¯¢ åĻ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġsort Condition ( dataTables Utils : ĠData Tables Utils < System Mailbox Bean >, Ġnative Search QueryBuilder : ĠNative Search QueryBuilder ): ĠNative Search QueryBuilder ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġorder ColumnName Ġ= Ġdata Tables Utils . order ColumnName ĊĠĠĠĠĠĠĠ Ġval Ġorder Dir Ġ= Ġdata Tables Utils . order Dir ĊĠĠĠĠĠĠĠ Ġval Ġis Asc Ġ= Ġ" asc ". equals ( order Dir , Ġignore Case Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġif Ġ( StringUtils . has Length ( order ColumnName )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" system _ mailbox _ id ". equals ( order ColumnName , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Asc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" system Mailbox Id . keyword "). order ( SortOrder . ASC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" system Mailbox Id . keyword "). order ( SortOrder . DESC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" send _ time ". equals ( order ColumnName , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Asc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" send Time "). order ( SortOrder . ASC ). un mapped Type (" long ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" send Time "). order ( SortOrder . DESC ). un mapped Type (" long ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" accept _ mail ". equals ( order ColumnName , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Asc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" accept Mail . keyword "). order ( SortOrder . ASC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" system Mailbox Id . keyword "). order ( SortOrder . ASC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" accept Mail . keyword "). order ( SortOrder . DESC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" system Mailbox Id . keyword "). order ( SortOrder . DESC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" send _ condition ". equals ( order ColumnName , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Asc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" send Condition . keyword "). order ( SortOrder . ASC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" system Mailbox Id . keyword "). order ( SortOrder . ASC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" send Condition . keyword "). order ( SortOrder . DESC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Search QueryBuilder . with Sort ( Sort Builders . field Sort (" system Mailbox Id . keyword "). order ( SortOrder . DESC ). un mapped Type (" string ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnative Search QueryBuilder ĊĠĠĠ Ġ} Ċ Ċ }