/* Ċ Ġ* ĠTencent Ġis Ġplease d Ġto Ġsupport Ġthe Ġopen Ġsource Ġcommunity Ġby Ġmaking ĠB K - CI Ġ èĵĿ é² ¸ æĮģ ç»Ń éĽĨ æĪĲ å¹³åı° Ġavailable . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠTH L ĠA 2 9 ĠLimited , Ġa ĠTencent Ġcompany . Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠB K - CI Ġ èĵĿ é² ¸ æĮģ ç»Ń éĽĨ æĪĲ å¹³åı° Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense . Ċ Ġ* Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠMIT ĠLicense Ġis Ġincluded Ġin Ġthis Ġfile . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠTerms Ġof Ġthe ĠMIT ĠLicense : Ċ Ġ* Ġ------------------------------------------------ --- Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ċ Ġ* Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ċ Ġ* Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ċ Ġ* Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ċ Ġ* Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT Ċ Ġ* ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN Ċ Ġ* ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , Ċ Ġ* ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE Ċ Ġ* ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . tencent . devops . project . service Ċ Ċ import Ġcom . tencent . devops . common . api . util . Json Util Ċ import Ġcom . tencent . devops . common . api . util . timestamp milli Ċ import Ġcom . tencent . devops . model . project . tables . records . T Notice Record Ċ import Ġcom . tencent . devops . project . dao . Notice Dao Ċ import Ġcom . tencent . devops . project . pojo . Notice Ċ import Ġcom . tencent . devops . project . pojo . Notice Request Ċ import Ġorg . jooq . DSL Context Ċ import Ġorg . jooq . Result Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service Ċ class ĠNotice Service Ġ@ Autowired Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġd sl Context : ĠDSL Context , ĊĠĠĠ Ġprivate Ġval Ġnotice Dao : ĠNotice Dao Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOG Ġ= ĠLoggerFactory . getLogger ( Notice Service :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Valid Notice (): ĠNotice ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnotice Ġ= Ġnotice Dao . get Valid Notice ( dsl Context ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( notice Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Notice ( notice ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Notice List ( notices : ĠResult < T Notice Record > ?, Ġnotice List : ĠMutable List < Notice >) Ġ{ ĊĠĠĠĠĠĠĠ Ġnotices ?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotice List . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotice ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġit . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Title Ġ= Ġit . notice Title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeffect Date Ġ= Ġit . effect Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Date Ġ= Ġit . invalid Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Date Ġ= Ġit . create Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Date Ġ= Ġit . update Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Content Ġ= Ġit . notice Content , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredirect Url Ġ= Ġit . redirect Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Type Ġ= Ġit . notice Type . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Service Ġ= Ġif Ġ( it . serviceName . isNull Or Blank ()) Ġnull Ġelse Ġit . serviceName ?. split (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetAll Notice (): ĠList < Notice > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnotice List Ġ= Ġmutable ListOf < Notice >() ĊĠĠĠĠĠĠĠ Ġval Ġnotices Ġ= Ġnotice Dao . getAll Notice ( dsl Context ) ĊĠĠĠĠĠĠĠ Ġhandle Notice List ( notices , Ġnotice List ) ĊĠĠĠĠĠĠĠ Ġreturn Ġnotice List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Notice ( id : ĠLong ): ĠNotice ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnotice Ġ= Ġnotice Dao . get Notice ( dsl Context , Ġid ) ĊĠĠĠĠĠĠĠ ĠLOG . info (" the Ġnotice Ġis Ġ: {}", ĠJson Util . getObject Mapper (). writeValue AsString ( notice )) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( notice Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Notice ( notice ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhandle Notice ( id : ĠLong ? Ġ= Ġnull , Ġnotice Request : ĠNotice Request ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotice Dao . handle Notice ( dsl Context , Ġid , Ġnotice Request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Notice ( id : ĠLong ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotice Dao . delete Notice ( dsl Context , Ġid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconvert Notice ( notice Record : ĠT Notice Record ): ĠNotice Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNotice ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġnotice Record . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Title Ġ= Ġnotice Record . notice Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeffect Date Ġ= Ġnotice Record . effect Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Date Ġ= Ġnotice Record . invalid Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Date Ġ= Ġnotice Record . create Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Date Ġ= Ġnotice Record . update Date . timestamp milli (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Content Ġ= Ġnotice Record . notice Content , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġredirect Url Ġ= Ġnotice Record . redirect Url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Type Ġ= Ġnotice Record . notice Type . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotice Service Ġ= Ġif Ġ( notice Record . serviceName . isNull Or Blank ()) Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġnotice Record . serviceName ?. split (",") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ