/* Ċ Ġ* Ġ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 . store . service . atom . impl Ċ Ċ import Ġcom . tencent . devops . common . api . constant . Common Message Code Ċ import Ġcom . tencent . devops . common . api . pojo . Result Ċ import Ġcom . tencent . devops . common . service . utils . Message Code Util Ċ import Ġcom . tencent . devops . store . dao . atom . Market Atom Dao Ċ import Ġcom . tencent . devops . store . pojo . common . Store Member Req Ċ import Ġcom . tencent . devops . store . pojo . common . enums . Store TypeEnum Ċ import Ġcom . tencent . devops . store . service . common . impl . Store Member ServiceImpl Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ Ċ abstract Ġclass ĠAtom Member ServiceImpl Ġ: ĠStore Member ServiceImpl () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġmarket Atom Dao : ĠMarket Atom Dao ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Atom Member ServiceImpl :: class . java ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł æıĴä»¶ æĪĲåĳĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġadd ( ĊĠĠĠĠĠĠĠ ĠuserId : ĠString , ĊĠĠĠĠĠĠĠ Ġstore Member Req : ĠStore Member Req , ĊĠĠĠĠĠĠĠ Ġstore Type : ĠStore TypeEnum , ĊĠĠĠĠĠĠĠ Ġcollaboration Flag : ĠBoolean ?, ĊĠĠĠĠĠĠĠ Ġsend Notify : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġcheck Permission Flag : ĠBoolean ĊĠĠĠ Ġ): ĠResult < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" add Atom Member ĠuserId Ġis :$ userId , store Member Req Ġis :$ store Member Req , store Type Ġis :$ store Type ") ĊĠĠĠĠĠĠĠ Ġval Ġatom Code Ġ= Ġstore Member Req . store Code ĊĠĠĠĠĠĠĠ Ġval Ġatom Record Ġ= Ġmarket Atom Dao . get Latest Atom By Code ( dsl Context , Ġatom Code ) ĊĠĠĠĠĠĠĠ Ġlogger . info (" add Atom Member Ġatom Record Ġis :$ atom Record ") ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġatom Record ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMessage Code Util . generate Response DataObject ( Common Message Code . PARAMETER _ IS _ INVALID , ĠarrayOf ( atom Code )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( check Permission Flag Ġ&& Ġ! store Member Dao . is Store Admin ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Context Ġ= Ġd sl Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstore Code Ġ= Ġatom Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstore Type Ġ= Ġstore Type . type . to Byte () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMessage Code Util . generate Response DataObject ( Common Message Code . PERMISSION _ DEN IED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrepository Hash Id Ġ= Ġatom Record . repository Hash Id ĊĠĠĠĠĠĠĠ Ġval Ġadd Repo Member Result Ġ= Ġadd Repo Member ( store Member Req , ĠuserId , Ġrepository Hash Id ) ĊĠĠĠĠĠĠĠ Ġlogger . info (" add Repo Member Result Ġis :$ add Repo Member Result ") ĊĠĠĠĠĠĠĠ Ġif Ġ( add Repo Member Result . isNot Ok ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult ( status Ġ= Ġadd Repo Member Result . status , Ġmessage Ġ= Ġadd Repo Member Result . message , Ġdata Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Member Req Ġ= Ġstore Member Req , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Type Ġ= Ġstore Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcollaboration Flag Ġ= Ġcollaboration Flag , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Notify Ġ= Ġsend Notify , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Permission Flag Ġ= Ġcheck Permission Flag ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġadd Repo Member ( store Member Req : ĠStore Member Req , ĠuserId : ĠString , Ġrepository Hash Id : ĠString ): ĠResult < Boolean > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ æıĴä»¶ æĪĲåĳĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdelete ( ĊĠĠĠĠĠĠĠ ĠuserId : ĠString , ĊĠĠĠĠĠĠĠ Ġid : ĠString , ĊĠĠĠĠĠĠĠ Ġstore Code : ĠString , ĊĠĠĠĠĠĠĠ Ġstore Type : ĠStore TypeEnum , ĊĠĠĠĠĠĠĠ Ġcheck Permission Flag : ĠBoolean ĊĠĠĠ Ġ): ĠResult < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" delete Atom Member ĠuserId Ġis :$ userId , id Ġis :$ id , store Code Ġis :$ store Code , store Type Ġis :$ store Type ") ĊĠĠĠĠĠĠĠ Ġval Ġatom Record Ġ= Ġmarket Atom Dao . get Latest Atom By Code ( dsl Context , Ġstore Code ) ĊĠĠĠĠĠĠĠ Ġlogger . info (" add Atom Member Ġatom Record Ġis :$ atom Record ") ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġatom Record ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMessage Code Util . generate Response DataObject ( Common Message Code . PARAMETER _ IS _ INVALID , ĠarrayOf ( store Code )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġmember Record Ġ= Ġstore Member Dao . getById ( dsl Context , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĠMessage Code Util . generate Response DataObject ( Common Message Code . PARAMETER _ IS _ INVALID , ĠarrayOf ( id )) ĊĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ åĪłéĻ¤ çļĦæĺ¯ ç®¡çĲĨåĳĺ ï¼Į åıª åī © ä¸Ģä¸ª ç®¡çĲĨåĳĺ åĪĻ ä¸į åħģè®¸ åĪłéĻ¤ ĊĠĠĠĠĠĠĠ Ġif Ġ(( member Record . type ). toInt () Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalidate Admin Result Ġ= Ġis Store Has Admin s ( store Code , Ġstore Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( validate Admin Result . isNot Ok ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult ( status Ġ= Ġvalidate Admin Result . status , Ġmessage Ġ= Ġvalidate Admin Result . message , Ġdata Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġmember Record . username ĊĠĠĠĠĠĠĠ Ġval Ġrepository Hash Id Ġ= Ġatom Record . repository Hash Id ĊĠĠĠĠĠĠĠ Ġval Ġdelete Repo Member Result Ġ= Ġdelete Repo Member ( userId , Ġusername , Ġrepository Hash Id ) ĊĠĠĠĠĠĠĠ Ġlogger . info (" delete Repo Member Result Ġis :$ delete Repo Member Result ") ĊĠĠĠĠĠĠĠ Ġif Ġ( delete Repo Member Result . isNot Ok ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult ( status Ġ= Ġdelete Repo Member Result . status , Ġmessage Ġ= Ġdelete Repo Member Result . message , Ġdata Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . delete ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Code Ġ= Ġstore Code , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Type Ġ= Ġstore Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Permission Flag Ġ= Ġcheck Permission Flag ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġdelete Repo Member ( userId : ĠString , Ġusername : ĠString , Ġrepository Hash Id : ĠString ): ĠResult < Boolean > ĊĊĠĠĠ Ġoverride Ġfun Ġget Store Name ( store Code : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmarket Atom Dao . get Latest Atom By Code ( dsl Context , Ġstore Code )?. name Ġ?: Ġ"" ĊĠĠĠ Ġ} Ċ }