优化
diff --git a/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt b/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
index 0f2d57d..cde67f4 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/mode/CardPayService.kt
@@ -36,7 +36,7 @@
     @Volatile
     private var payQueryConfirm = false
     private var thread: Thread? = null
-    private lateinit var cardBean: CardBean
+    private var cardBean: CardBean? = null
 
     fun start() {
         isExist = false
@@ -97,7 +97,7 @@
                     iConsumeView.codeScannerEnable(false)
                     if (oldcardphyid != cardphyid) {
                         readCard()
-                        cardBean.cardphyid = cardphyid
+                        cardBean!!.cardphyid = cardphyid
                         oldcardphyid = cardphyid
                     }
                     when (clickStat) {
@@ -160,23 +160,23 @@
         private fun getAccountInfoByCard() {
             val resp = consumeApi.accQuery(
                 pos.getConfigPara()!!.devphyid!!,
-                cardBean.cardphyid!!,
-                cardBean.cardNo!!
+                cardBean!!.cardphyid!!,
+                cardBean!!.cardNo!!
             )
             if (resp != null && resp.retcode == HttpStatus.SC_OK) {
                 try {
                     val retBean = GsonUtil.GsonToBean(resp.retjson!!, CardAccountRetBean::class.java)
                     if (retBean.retcode == PublicDef.SUCCESS) {
-                        cardBean.username = retBean.username
-                        cardBean.userid = retBean.userid
-                        cardBean.balance = retBean.balance
+                        cardBean!!.username = retBean.username
+                        cardBean!!.userid = retBean.userid
+                        cardBean!!.balance = retBean.balance
                         when {
-                            "normal" == retBean.status -> cardBean.cardstatus = CardStatus.NORMAL
-                            "expire" == retBean.status -> cardBean.cardstatus = CardStatus.EXPIRE
-                            "lost" == retBean.status -> cardBean.cardstatus = CardStatus.LOCK
-                            "logout" == retBean.status -> cardBean.cardstatus = CardStatus.LOGOUT
-                            "frozen" == retBean.status -> cardBean.cardstatus = CardStatus.FROZEN
-                            "lock" == retBean.status -> cardBean.cardstatus = CardStatus.LOST
+                            "normal" == retBean.status -> cardBean!!.cardstatus = CardStatus.NORMAL
+                            "expire" == retBean.status -> cardBean!!.cardstatus = CardStatus.EXPIRE
+                            "lost" == retBean.status -> cardBean!!.cardstatus = CardStatus.LOCK
+                            "logout" == retBean.status -> cardBean!!.cardstatus = CardStatus.LOGOUT
+                            "frozen" == retBean.status -> cardBean!!.cardstatus = CardStatus.FROZEN
+                            "lock" == retBean.status -> cardBean!!.cardstatus = CardStatus.LOST
                         }
                     }
                 } catch (ex: Exception) {
@@ -187,26 +187,26 @@
 
         private fun showCardUserInfo() {
             val info = CardUserInfoBean(PublicDef.SUCCESS, "账户信息")
-            if (cardBean.username != cardBean.cardNo) {
-                info.username = cardBean.username
+            if (cardBean!!.username != cardBean!!.cardNo) {
+                info.username = cardBean!!.username
             }
-            info.cardno = cardBean.cardNo
-            info.cardstatus = cardBean.cardstatus
+            info.cardno = cardBean!!.cardNo
+            info.cardstatus = cardBean!!.cardstatus
             sendMsg(PublicDef.MSG_USER_INFO_SHOW, info)
         }
 
         private fun readCard() {
             val cardinfo = Cardlib.instance.readCard()
             cardBean = CardBean()
-            cardBean.cardNo = cardinfo.cardNo
-            cardBean.idCard = cardinfo.idCard
-            cardBean.expireDate = cardinfo.expireDate
-            cardBean.amount = amount
-            cardBean.datetime = DateUtil.getNowDateTimeFormat()
+            cardBean!!.cardNo = cardinfo.cardNo
+            cardBean!!.idCard = cardinfo.idCard
+            cardBean!!.expireDate = cardinfo.expireDate
+            cardBean!!.amount = amount
+            cardBean!!.datetime = DateUtil.getNowDateTimeFormat()
             /**
              * 用户名默认用卡号代替,在线查询更新为用户名
              */
-            cardBean.username = cardBean.cardNo
+            cardBean!!.username = cardBean!!.cardNo
         }
 
         private fun doConsume() {
@@ -280,7 +280,7 @@
         }
 
         private fun checkOnlineReverseVaild(unionRecord: TransdtlUnionRecord, record: TransdtlOnlineRecord) {
-            if (record.cardphyid != cardBean.cardphyid) {
+            if (record.cardphyid != cardBean!!.cardphyid) {
                 throw CardPayCancelFailError("该卡不是最后消费")
             }
             if (unionRecord.transdate != record.transdate ||
@@ -306,7 +306,7 @@
         }
 
         private fun checkOfflineReverseVaild(unionRecord: TransdtlUnionRecord, record: TransdtlOfflineRecord) {
-            if (record.cardphyid != cardBean.cardphyid) {
+            if (record.cardphyid != cardBean!!.cardphyid) {
                 throw CardPayCancelFailError("该卡不是最后消费")
             }
             if (unionRecord.transdate != record.transdate ||
@@ -427,12 +427,12 @@
                 seqno = pos.getDynamicPara()?.onlineseqno ?: 0
             }
             onlRecord.devphyid = pos.getConfigPara()!!.devphyid
-            onlRecord.transdate = cardBean.datetime!!.substring(0, 8)
-            onlRecord.transtime = cardBean.datetime!!.substring(8)
+            onlRecord.transdate = cardBean!!.datetime!!.substring(0, 8)
+            onlRecord.transtime = cardBean!!.datetime!!.substring(8)
             onlRecord.devseqno = seqno + 1
-            onlRecord.cardno = cardBean.cardNo
-            onlRecord.cardphyid = cardBean.cardphyid
-            onlRecord.payamt = cardBean.amount
+            onlRecord.cardno = cardBean!!.cardNo
+            onlRecord.cardphyid = cardBean!!.cardphyid
+            onlRecord.payamt = cardBean!!.amount
             onlRecord.reversalflag = ReversalFlag.NONE
             onlRecord.extraamt = 0
             onlRecord.transtype = "card"
@@ -496,12 +496,12 @@
                 seqno = pos.getDynamicPara()?.offlineseqno ?: 0
             }
             offRecord.devphyid = pos.getConfigPara()!!.devphyid
-            offRecord.transdate = cardBean.datetime!!.substring(0, 8)
-            offRecord.transtime = cardBean.datetime!!.substring(8)
+            offRecord.transdate = cardBean!!.datetime!!.substring(0, 8)
+            offRecord.transtime = cardBean!!.datetime!!.substring(8)
             offRecord.devseqno = seqno + 1
-            offRecord.cardno = cardBean.cardNo
-            offRecord.cardphyid = cardBean.cardphyid
-            offRecord.payamt = cardBean.amount
+            offRecord.cardno = cardBean!!.cardNo
+            offRecord.cardphyid = cardBean!!.cardphyid
+            offRecord.payamt = cardBean!!.amount
             offRecord.reversalflag = ReversalFlag.NONE
             offRecord.extraamt = 0
             offRecord.managefeetype = "none"
@@ -652,6 +652,7 @@
             info.amount = amount
             info.payamt = amount
             info.payway = "card"
+            info.cardno = cardBean?.cardNo
             info.transdate = DateUtil.getNowDateNoFormat()
             info.transtime = DateUtil.getNowTimeNoFormat()
             return info
@@ -663,6 +664,7 @@
             info.status = PayStatus.FAIL
             info.amount = amount
             info.payamt = amount
+            info.cardno = cardBean?.cardNo
             info.payway = "card"
             info.transdate = DateUtil.getNowDateNoFormat()
             info.transtime = DateUtil.getNowTimeNoFormat()