package Ġcom . hu ot u . android . m if ang . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Message Ċ import Ġandroid . support . v 7 . widget . Grid LayoutManager Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . Keyboard Shortcut Group Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . hu ot u . android . library . lib pay . alipay . Ali Order Info Ċ import Ġcom . hu ot u . android . library . lib pay . alipay V 2 . Ali Pay Result V 2 Ċ import Ġcom . hu ot u . android . m if ang . R Ċ import Ġcom . hu ot u . android . m if ang . adapter . Payment Adapter Ċ import Ġcom . hu ot u . android . m if ang . base . Base Activity Ċ import Ġcom . hu ot u . android . m if ang . bean .* Ċ import Ġcom . hu ot u . android . m if ang . mvp . contract . Buy Contract Ċ import Ġcom . hu ot u . android . m if ang . mvp . presenter . Buy Presenter Ċ import Ġcom . hu ot u . android . m if ang . util . Density Utils Ċ import Ġcom . hu ot u . android . m if ang . util . Key b ord Utils Ċ import Ġcom . hu ot u . android . m if ang . util . Pay Utils Ċ import Ġcom . hu ot u . android . m if ang . widget . Oper ate Dialog Ċ import Ġcom . hu ot u . android . m if ang . widget . Province City Area Dialog Ċ import Ġkotlinx . android . synt hetic . main . activity _ apply agent .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ buy .* Ċ import Ġkotlinx . android . synt hetic . main . layout _ header .* Ċ import Ġorg . w 3 c . dom . Text Ċ import Ġjava . math . BigDecimal Ċ Ċ /** Ċ Ġ* Ġ çĶ³è¯· ä»£çĲĨ åķĨ Ċ Ġ*/ Ċ class ĠApply Agent Activity Ġ: ĠBase Activity < Buy Contract . Presenter >() ĊĠĠĠĠĠĠĠ Ġ, ĠBu y Contract . View ĊĠĠĠĠĠĠĠ Ġ, ĠHandler . Callback ĊĠĠĠĠĠĠĠ Ġ, Province City Area Dialog . On Oper ate Listener ĊĠĠĠĠĠĠĠ Ġ, Oper ate Dialog . On Oper ate Listener < Address Bean > ĊĠĠĠĠĠĠĠ Ġ, ĠBase Quick Adapter . On ItemClickListener ĊĠĠĠĠĠĠĠ Ġ, View . OnClickListener { ĊĊĠĠĠ Ġprivate Ġvar Ġi Presenter = ĠBu y Presenter ( this ) ĊĠĠĠ Ġprivate Ġvar Ġpayment Adapter : Payment Adapter Ġ?= null ĊĠĠĠ Ġprivate Ġvar Ġgoods Bean : Agent Upgrade Goods Bean ?= null ĊĠĠĠ Ġprivate Ġvar Ġhandler = Handler ( this ) ĊĠĠĠ Ġprivate Ġvar Ġaddress : Address Bean ?= null ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ apply agent ) ĊĊĠĠĠĠĠĠĠ Ġheader _ title . text Ġ= Ġ" çĶ³è¯· ä»£çĲĨ åķĨ " ĊĠĠĠĠĠĠĠ Ġheader _ left _ image . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġapply agent _ lay _ three . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġapply agent _ operate . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġprovince _ city _ area _ dialog _ lay _ address . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġpayment Adapter Ġ= ĠPayment Adapter ( ArrayList ()) ĊĠĠĠĠĠĠĠ Ġpayment Adapter !!. on ItemClickListener = this ĊĠĠĠĠĠĠĠ Ġapply agent _ re cyclerView . layout Manager Ġ= ĠGrid LayoutManager ( this Ġ, 3 ) ĊĠĠĠĠĠĠĠ Ġapply agent _ re cyclerView . adapter Ġ= Ġpayment Adapter ĊĊĠĠĠĠĠĠĠ Ġi Presenter . get Payment Items () ĊĠĠĠĠĠĠĠ Ġi Presenter . get Agent Upgrade Goods () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĊĠĠĠĠĠĠĠ Ġif ( Ġhandler != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . remove Callbacks And Messages ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Progress ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . show Progress ( msg ) ĊĠĠĠĠĠĠĠ Ġapply agent _ progress . visibility = View . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . hide Progress () ĊĠĠĠĠĠĠĠ Ġapply agent _ progress . visibility = View . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( adapter : ĠBase Quick Adapter < *, Ġ*> ?, Ġview : ĠView ?, Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcurrent Ġ=( adapter !!. getItem ( position ) Ġas ĠPayment Item ) ĊĠĠĠĠĠĠĠ Ġfor ( bean Ġin Ġadapter !!. data ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġitem Ġ=( bean Ġas ĠPayment Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Ġitem . Payment Type Ġ== Ġcurrent . Payment Type ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . checked = ! item . checked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . checked = false ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadapter !!. notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( v !!. id ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . header _ left _ image ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey b ord Utils . close Keyboard ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . apply agent _ operate ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit Order () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . apply agent _ lay _ three ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Province Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . province _ city _ area _ dialog _ lay _ address ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Presenter . getAddress List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Province Dialog (){ ĊĠĠĠĠĠĠĠ Ġvar Ġdialog Ġ= ĠPro vince City Area Dialog ( this Ġ, Ġthis ) ĊĠĠĠĠĠĠĠ Ġdialog . show (" ",""," ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġoperate ( key Value : ĠAddress Bean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapply agent _ zone . text Ġ= Ġkey Value . province +"/ "+ key Value . city +"/ "+ key Value . county ĊĠĠĠĠĠĠĠ Ġapply agent _ address . setText ( Ġkey Value . address ) ĊĠĠĠĠĠĠĠ Ġapply agent _ username . setText ( Ġkey Value . name ) ĊĠĠĠĠĠĠĠ Ġapply agent _ mobile . setText ( key Value . mobile ) ĊĊĠĠĠĠĠĠĠ Ġaddress Ġ= Ġkey Value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġoperate ( province : ĠPro vince City Area , Ġcity : ĠPro vince City Area , Ġarea : ĠPro vince City Area ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġapply agent _ zone . text Ġ= Ġprovince . text +"/ "+ city . text + Ġif ( area == null ) Ġ"" Ġelse Ġ Ġ"/ "+ area . text ĊĊĠĠĠĠĠĠĠ Ġaddress Ġ= ĠAddress Bean ( 0 Ġ," "," ", province . text Ġ, Ġcity . text Ġ, Ġarea !!. text Ġ, Ġ"" Ġ, Ġprovince . value , Ġcity . value , Ġarea . value Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubmit Order (){ ĊĊĠĠĠĠĠĠĠ Ġif ( payment Adapter !!. data . isEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯· éĢīæĭ© æĶ¯ä»ĺ æĸ¹å¼ı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġpayment Type Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġfor ( bean Ġin Ġpayment Adapter !!. data ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( bean . checked ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpayment Type Ġ= Ġbean . Payment Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( payment Type == - 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯· éĢīæĭ© æĶ¯ä»ĺ æĸ¹å¼ı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( goods Bean !!. Need Addr == 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Presenter . submit Agent Upgrade Order ("", Ġ"", Ġ"", Ġ"", Ġ"", Ġpayment Type ) ĊĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġship Name Ġ= Ġapply agent _ username . text . trim (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġship mobile Ġ= Ġapply agent _ mobile . text . trim (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġship address Ġ= Ġapply agent _ address . text . trim (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġship area Ġ= Ġapply agent _ zone . text . trim (). toString () ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( TextUtils . isEmpty ( Ġapply agent _ zone . text . trim () Ġ )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯· éĢīæĭ© çľģ å¸Ĥ åĮº ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Province Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( ĠText Utils . isEmpty ( Ġship address )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯·è¾ĵåħ¥ è¯¦ç»Ĩ åľ°åĿĢ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply agent _ address . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey b ord Utils . open Key b ord ( this , apply agent _ address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( TextUtils . isEmpty ( ship Name )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯·è¾ĵåħ¥ æĶ¶ ä»¶ äºº å§ĵ åĲį ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply agent _ username . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey b ord Utils . open Key b ord ( this , apply agent _ username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( TextUtils . isEmpty ( ship mobile )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯·è¾ĵåħ¥ æĶ¶ ä»¶ äºº æīĭæľº åı· çłģ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapply agent _ mobile . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey b ord Utils . open Key b ord ( this , apply agent _ mobile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( address == null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯· éĢīæĭ© çľģ å¸Ĥ åĮº ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey b ord Utils . close Keyboard ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġship are ac ode Ġ= Ġaddress !!. province Code +"/ "+ address !!. city Code +"/ "+ address !!. county Code ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Presenter . submit Agent Upgrade Order ( ship Name , Ġship mobile , Ġship address , Ġship area , Ġship are ac ode , Ġpayment Type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Address List Callback ( api Result : ĠApi Result < ArrayList < Address Bean >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( api Result . code != Api ResultCode Enum . SUCCESS . code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( api Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( api Result . data == null Ġ|| Ġapi Result . data !!. size < 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" æĹł åľ°åĿĢ åı¯ éĢīæĭ© ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġdialog Ġ= ĠOper ate Dialog ( this Ġ, Ġthis Ġ, Ġapi Result . data !! , Ġ" éĢīæĭ© åľ°åĿĢ ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġscreen Height Ġ= ĠD ensity Utils . get Screen Height ( this ) ĊĠĠĠĠĠĠĠ Ġ// dialog . setSize ( ĠViewGroup . LayoutParams . MATCH _ PARENT Ġ, Ġ Ġscreen Height / 2 ) ĊĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĊĊĊ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Agent Upgrade Goods Callback ( api Result : ĠApi Result < Agent Upgrade Goods Bean >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( process Common ErrorCode ( api Result )){ return } ĊĠĠĠĠĠĠĠ Ġif ( api Result . code Ġ!= ĠApi ResultCode Enum . SUCCESS . code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( api Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgoods Bean Ġ= Ġapi Result . data ĊĠĠĠĠĠĠĠ Ġapply agent _ goods name . text Ġ= goods Bean !!. Goods Name ĊĠĠĠĠĠĠĠ Ġvar Ġprice Ġ= Ġgoods Bean !!. Goods Price . strip Trailing Z eros (). to Plain String () ĊĠĠĠĠĠĠĠ Ġapply agent _ price . text Ġ= Ġprice Ġ+" åħĥ " ĊĠĠĠĠĠĠĠ Ġapply agent _ logo . setImage URI ( Ġgoods Bean !!. Goods Img URL Ġ) ĊĠĠĠĠĠĠĠ Ġapply agent _ lay _ address . visibility Ġ= Ġif ( goods Bean !!. Need Addr == 0 ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġapply agent _ money . text = Ġprice ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Payment Items Callback ( api Result : ĠApi Result < ArrayList < Payment Item >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( process Common ErrorCode ( api Result )){ return } ĊĠĠĠĠĠĠĠ Ġif ( api Result . code Ġ!= ĠApi ResultCode Enum . SUCCESS . code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( api Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( api Result . data == null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" ç¼º å°ĳ æĶ¯ä»ĺ æĸ¹å¼ı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpayment Adapter !!. set New Data ( api Result . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Renew Goods Callback ( api Result : ĠApi Result < Goods Bean >) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubmit Agent Upgrade Order Callback ( api Result : ĠApi Result < Invite Order Bean >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( process Common ErrorCode ( api Result )){ return } ĊĠĠĠĠĠĠĠ Ġif ( api Result . code Ġ!= ĠApi ResultCode Enum . SUCCESS . code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( api Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( api Result . data == null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" ç¼º å°ĳ æĶ¯ä»ĺ ä¿¡æģ¯ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( api Result . data !!. pay Type Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwe chat Pay ( api Result . data !! ) ĊĠĠĠĠĠĠĠ Ġ} else Ġif ( api Result . data !!. pay Type == 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġali Pay ( api Result . data !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubmit Order Callback ( api Result : ĠApi Result < Invite Order Bean >) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwe chat Pay ( order Bean : ĠInv ite Order Bean ){ ĊĠĠĠĠĠĠĠ Ġvar Ġext Data Ġ= Ġ"{ order No :" Ġ+ Ġorder Bean . Union OrderId Ġ+ Ġ" }" ĊĠĠĠĠĠĠĠ Ġvar Ġpay Model Ġ= ĠPay Model ( Ġorder Bean . appId Ġ, Ġorder Bean . partner id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, ĠConstants . CUSTOMER ID . toString () Ġ, Ġorder Bean . Union OrderId Ġ, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" Ġ, Ġ 0 Ġ," ",""," "," ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder Bean . pre pay Id Ġ, Ġorder Bean .` package `, Ġorder Bean . nonce Str , Ġorder Bean . time Stamp , Ġorder Bean . sign , Ġext Data ) ĊĠĠĠĠĠĠĠ ĠPay Utils (). wx Pay ( this . application Context Ġ, Ġhandler Ġ, Ġpay Model Ġ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġali Pay ( order Bean : ĠInv ite Order Bean ){ ĊĠĠĠĠĠĠĠ Ġvar Ġali Order Info Ġ= ĠAli Order Info () ĊĠĠĠĠĠĠĠ Ġali Order Info . body ="" ĊĠĠĠĠĠĠĠ Ġali Order Info . order No = Ġorder Bean . Union OrderId ĊĠĠĠĠĠĠĠ Ġali Order Info . subject ="" ĊĠĠĠĠĠĠĠ Ġali Order Info . total fee = 0 ĊĊĠĠĠĠĠĠĠ ĠPay Utils (). ali Native Pay ( ali Order Info Ġ, this Ġ, Ġorder Bean . ali PayOrder String Ġ, handler Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Message ( msg : ĠMessage ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( Ġmsg !!. what ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPay Utils . SDK _ Ali _ PAY _ V 2 _ FLAG ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdata Ġ= Ġmsg . obj Ġas ĠAli Pay Result V 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( data . result Status ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 9 0 0 0 " ->{ toast (" æĶ¯ä»ĺ æĪĲåĬŁ ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 0 0 0 " ->{ toast (" æŃ£åľ¨ å¤ĦçĲĨ ä¸Ń ï¼Į æĶ¯ä»ĺ ç»ĵæŀľ æľª çŁ¥ ï¼Ī æľī åı¯èĥ½ å·²ç»ı æĶ¯ä»ĺ æĪĲåĬŁ ï¼īï¼Į è¯· æŁ¥è¯¢ åķĨ æĪ· è®¢åįķ åĪĹè¡¨ ä¸Ń è®¢åįķ çļĦ æĶ¯ä»ĺ çĬ¶æĢģ ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 0 0 0 " ->{ toast (" è®¢åįķ æĶ¯ä»ĺ å¤±è´¥ ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 0 1 " ->{ toast (" çĶ¨æĪ· ä¸Ń éĢ Ķ åıĸæ¶Ī ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 0 2 " ->{ toast (" ç½ĳç»ľ è¿ŀæİ¥ åĩº éĶĻ ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 6 0 0 4 " ->{ toast (" æĶ¯ä»ĺ ç»ĵæŀľ æľª çŁ¥ ï¼Ī æľī åı¯èĥ½ å·²ç»ı æĶ¯ä»ĺ æĪĲåĬŁ ï¼īï¼Į è¯· æŁ¥è¯¢ åķĨ æĪ· è®¢åįķ åĪĹè¡¨ ä¸Ń è®¢åįķ çļĦ æĶ¯ä»ĺ çĬ¶æĢģ ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ->{ toast (" åħ¶å®ĥ æĶ¯ä»ĺ éĶĻè¯¯ ")} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ