package Ġcom . github . aly 8 2 4 6 . core . dispatcher Ċ Ċ import Ġcom . github . aly 8 2 4 6 . core . annotation . Command Ċ import Ġcom . github . aly 8 2 4 6 . core . driver . Mongo Connection Ċ import Ġcom . github . aly 8 2 4 6 . core . exception . Week end Exception Ċ import Ġnet . sf . js ql parser . parser . CC JS ql Parser Manager Ċ import Ġnet . sf . js ql parser . statement . insert . Insert Ċ import Ġjava . io . String Reader Ċ import Ġjava . lang . reflect . Method Ċ import Ġjava . lang . reflect . Parameter Ċ import Ġjava . sql . Statement Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ open Ġclass ĠOriginal Dispatcher < T >( proxy : ĠAny , Ġmethod : ĠMethod , Ġargs : ĠArray < Any > ?, Ġmongo Connection : ĠMongo Connection , Ġtarget : ĠClass < T >) Ġ: ĠInitial izer Dispatcher < T >( proxy , Ġmethod , Ġargs , Ġmongo Connection , Ġtarget ) Ġ{ ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġcommand Annotation : ĠCommand ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġoriginal Command : ĠString ĊĊĠĠĠ Ġoverride Ġfun Ġresolver Base Command ( method : ĠMethod ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Annotation Ġ= Ġmethod . getDeclared Annotation ( Command :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcommand Annotation . value . join ToString ("") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtransmit Original Command ( original Command : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . original Command Ġ= Ġoriginal Command ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresolver PrimaryKey ( original Command : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprimary Key Ġ= Ġthis . command Annotation . primaryKey ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġstatement Ġ= ĠCC JS ql Parser Manager (). parse ( String Reader ( original Command . trim ()))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInsert Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġstatement . columns ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( column Ġin Ġcolumns ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( column . toString (). replace (" `", Ġ"") Ġ== Ġprimary Key Ġ|| Ġcolumn . toString (). replace (" `", Ġ"") Ġ== Ġ" id ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn . columnName Ġ= Ġ"_ id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstatement . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ æ²¡æľī æĺ¾ å¼ı æĮĩå®ļ primaryKey çļĦåĢ¼ æĪĸèĢħ primaryKey ä¸įåŃĺåľ¨ åĪĹ ä¸Ń ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪĹ ä¸Ń æ²¡æľī é»ĺè®¤ id åĲįç§° id Ġ æĪĸèĢħ Ġ_ id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns . stream (). any Match Ġ{ Ġe Ġ-> Ġe . columnName . replace (" `", Ġ"") Ġ== Ġ" id " Ġ|| Ġe . columnName . replace (" `", Ġ"") Ġ== Ġ"_ id " Ġ} Ġ-> Ġreturn Ġstatement . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġoriginal Command ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠWeek end Exception (" ä¸į æĺİ ç¡® çļĦ ä¸»éĶ® ç±»åŀĭ , æĹ¢ ä¸įæĺ¯ id æĪĸèĢħ _ id , åıĪ æ²¡æľī æĮĩå®ļ command æ³¨è§£ çļĦ primaryKey ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// æıĲä¾Ľ ç»Ļ åŃĲ ç±» éĩį åĨĻ , ä½¿ åŃĲ ç±» åı¯ä»¥ éĩį åĨĻ template æĿ¥ éĢīæĭ© æ¨¡æĿ¿ å¼ķ æĵ İ ĊĠĠĠ Ġoverride Ġfun Ġtemplate ( base Command : ĠString , Ġparam : ĠMutable Map < String , ĠAny ?> ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . template ( base Command , Ġparam ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġselect Statement ( statement : ĠStatement , Ġcommand : ĠString , Ġparam : ĠMutable Map < String , ĠAny ? >, Ġstatement 1 : ĠStatement ): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . select Statement ( statement , Ġcommand , Ġparam , Ġstatement ) ĊĠĠĠ Ġ} Ċ }