package Ġcom . hub t work . job . load match Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . hub t work . jpa . domain . Match List Ċ import Ġcom . hub t work . jpa . domain . Sum mon er Ċ import Ġcom . hub t work . jpa . repository . Sum mon er Repository Ċ import Ġcom . hub t work . ri ot . dto . api . v 4 . match . Match DTO Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . batch . item . Item Processor Ċ Ċ class ĠSum mon er From Match Processor ( ĊĠĠĠ Ġprivate Ġval Ġgson : ĠGson , ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠSum mon er Repository Ċ ) Ġ: ĠItem Processor < Match List , ĠList < Sum mon er >> Ċ { ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Load Match List Processor :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess ( item : ĠMatch List ): ĠList < Sum mon er > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠresultSet Ġ= Ġmutable ListOf < Sum mon er >() ĊĠĠĠĠĠĠĠ Ġval Ġmatch Data Ġ= Ġgson . fromJson ( item . match Data , ĠMatch DTO :: class . java ) ĊĠĠĠĠĠĠĠ Ġlogger . info (" ---- ĠGet ĠMatch Data Ġfrom ĠDB Ġ[ Ġmatch Id Ġ: Ġ${ match Data . game Id } Ġ] ") ĊĠĠĠĠĠĠĠ Ġmatch Data . participant Id entities . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! repository . exists ById ( it . player . accountId )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġit . player ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠaccountId Ġ= Ġplayer . accountId ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplatform Ġ= Ġplayer . platform Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsum mon er Id Ġ= Ġplayer . sum mon er Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠresultSet . add ( Sum mon er ( platform , ĠaccountId , Ġsum mon er Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlogger . info (" ---- ĠSum mon ers Ġfrom ĠMatch ĠMapping ĠCompleted . Ġ") ĊĠĠĠĠĠĠĠ Ġreturn ĠresultSet ĊĠĠĠ Ġ} Ċ Ċ }