package Ġcom . tencent . bk . code cc . api query . service . impl Ċ Ċ import Ġcom . tencent . bk . code cc . api query . def ect . dao . Defect Dao Ċ import Ġcom . tencent . bk . code cc . api query . def ect . dao . Statistic Dao Ċ import Ġcom . tencent . bk . code cc . api query . def ect . model . Stat Defect Model Ċ import Ġcom . tencent . bk . code cc . api query . def ect . model . Stat Statistic Model Ċ import Ġcom . tencent . bk . code cc . api query . pojo . Defect QueryParam Ċ import Ġcom . tencent . bk . code cc . api query . service . I Defect Query Warning Service Ċ import Ġcom . tencent . bk . code cc . api query . utils . Page Utils Ċ import Ġcom . tencent . bk . code cc . api query . vo . Defect Query Req VO Ċ import Ġcom . tencent . bk . code cc . api query . vo . Task Tool Info Req VO Ċ import Ġcom . tencent . bk . code cc . api query . vo . Tool Defect Rsp VO Ċ import Ġcom . tencent . bk . code cc . api query . vo . openapi . Checker Defect Stat VO Ċ import Ġcom . tencent . devops . common . api . exception . Code CC Exception Ċ import Ġcom . tencent . devops . common . api . pojo . Page Ċ import Ġcom . tencent . devops . common . constant . Common Message Code Ċ import Ġcom . tencent . devops . common . util . Json Util Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Local Time Ċ import Ġjava . time . Zone Id Ċ import Ġjava . util . Collections Ċ Ċ @ Service (" STAT Query Warning Biz Service ") Ċ class ĠStat Query Warning Biz ServiceImpl Ġ@ Autowired Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġdefect Dao : ĠDef ect Dao , ĊĠĠĠ Ġprivate Ġval Ġstatistic Dao : ĠStat istic Dao Ċ ) Ġ: ĠI Defect Query Warning Service < Stat Defect Model , ĠStat Statistic Model > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġquery Lint Defect Detail ( ĊĠĠĠĠĠĠĠ Ġdefect QueryParam : ĠDef ect QueryParam , ĊĠĠĠĠĠĠĠ Ġpage Num : ĠInt ?, ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġsort Field : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsort Type : ĠString ? ĊĠĠĠ Ġ): ĠPage < Stat Defect Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage able Ġ= ĠPage Utils . convert PageSize To Page able ( pageNum , ĠpageSize , Ġsort Field , Ġsort Type ) ĊĠĠĠĠĠĠĠ Ġvar ĠstartTime Ġ= Ġdefect QueryParam . startTime ĊĠĠĠĠĠĠĠ Ġvar ĠendTime Ġ= Ġdefect QueryParam . endTime ĊĠĠĠĠĠĠĠ Ġif Ġ( startTime Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbegin Ġ= ĠLocalDateTime . of ( LocalDate . now (), ĠLocal Time . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime Ġ= Ġbegin . at Zone ( Zone Id . system Default ()). to Instant (). to Epoch Milli () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( endTime Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend Ġ= ĠLocalDateTime . of ( LocalDate . now (). plus Days ( 1 ), ĠLocal Time . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠendTime Ġ= Ġend . at Zone ( Zone Id . system Default ()). to Instant (). to Epoch Milli () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdoc List Ġ= Ġdefect Dao . find Stat By TaskId And Tool Name And Time ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefect QueryParam . task IdList , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefect QueryParam . tool Name !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠendTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage able ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠCollections . emptyList () ĊĠĠĠĠĠĠĠ Ġlogger . info (" stat Ġfind Ġ${ doc List . size } Ġdefect s Ġat Ġ$ pageNum Ġof Ġ$ pageSize ") ĊĠĠĠĠĠĠĠ Ġval Ġdefect List Ġ= Ġmutable ListOf < Stat Defect Model >() ĊĠĠĠĠĠĠĠ Ġdoc List . forEach Ġ{ Ġdocument Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefect List . add ( Stat Defect Model ( Json Util . toMap ( document . toJson ()))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠPage ( page able . pageNumber Ġ+ Ġ 1 , Ġpage able . pageSize , Ġ 0 L , Ġdefect List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġquery Lint Defect Statistic ( ĊĠĠĠĠĠĠĠ Ġtask IdList : ĠList < Long >, ĊĠĠĠĠĠĠĠ Ġtool Name : ĠString ?, ĊĠĠĠĠĠĠĠ ĠstartTime : ĠLong ?, ĊĠĠĠĠĠĠĠ ĠendTime : ĠLong ?, ĊĠĠĠĠĠĠĠ Ġfilter Fields : ĠList < String > ?, ĊĠĠĠĠĠĠĠ Ġbuild Id : ĠString ?, ĊĠĠĠĠĠĠĠ Ġpage Num : ĠInt ?, ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġsort Field : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsort Type : ĠString ? ĊĠĠĠ Ġ): ĠPage < Stat Statistic Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPage ( 0 , Ġ 0 , Ġ 0 L , Ġempty List ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Stat Query Warning Biz ServiceImpl :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæŁ¥è¯¢ å·¥åħ· åĳĬ èŃ¦ æ¸ħ åįķ ( ä»İ def ect è¿ ģ ç§» è¿ĩ æĿ¥çļĦ éĢļ çĶ¨ æİ¥åı£ ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġquery Tool Defect List ( ĊĠĠĠĠĠĠĠ ĠtaskId : ĠLong , ĊĠĠĠĠĠĠĠ Ġquery Warning Req : ĠDef ect Query Req VO , ĊĠĠĠĠĠĠĠ Ġpage Num : ĠInt ?, ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġsort Field : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsort Type : ĠString ? ĊĠĠĠ Ġ): ĠTool Defect Rsp VO Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTool Defect Rsp VO () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstat Checker Defect ( req VO : ĠTask Tool Info Req VO , Ġpage Num : ĠInt ?, ĠpageSize : ĠInt ?): ĠPage < Checker Defect Stat VO > Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠCode CC Exception ( Common Message Code . PARAMETER _ IS _ INVALID , ĠarrayOf (" tool Name ")) ĊĠĠĠ Ġ} Ċ Ċ } Ċ