优化刷卡扫码互斥
diff --git a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
index 7febabd..0e959eb 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
@@ -58,11 +58,11 @@
     private var beepManager: BeepManager? = null
     private val scanLock = ReentrantLock()
     @Volatile
-    private var codeSwitchEnable = false
+    private var cardPaying = false
     @Volatile
     private var payStatusEnable = false
     @Volatile
-    private var isBackRuning = false
+    private var isBackRunning = false
     private var addAmount: Int = 0
     @Volatile
     private var amount: Int = 0
@@ -106,16 +106,12 @@
             }
 
             override fun callback(code: String) {
-                //扫码和寻卡消费互斥
-                if (!codeSwitchEnable) {
-                    return
-                }
                 if (!scanLock.tryLock()) {
                     return
                 }
                 try {
                     //正在扣款
-                    if (dialogPurchase!!.codePaying) {
+                    if (someWayPaying()) {
                         return
                     }
                     //已扣款
@@ -136,6 +132,13 @@
         presenter.loadLastTransdtl()
     }
 
+    private fun someWayPaying(): Boolean {
+        if (cardPaying || dialogPurchase!!.codePaying || isBackRunning) {
+            return true
+        }
+        return false
+    }
+
     private fun initView() {
         vShopname = this.findViewById<TextView>(R.id.tv_shopname)
         vLinkLogo = this.findViewById<ImageView>(R.id.tv_linklogo)
@@ -157,7 +160,7 @@
 
     override fun onStop() {
         super.onStop()
-        isBackRuning = true
+        isBackRunning = true
     }
 
     override fun onDestroy() {
@@ -183,7 +186,7 @@
         when (keyCode) {
             KeyEvent.KEYCODE_DPAD_LEFT -> {
                 //'F1'
-                isBackRuning = true
+                isBackRunning = true
                 jumpActivity(MenuActivity::class.java)
             }
             KeyEvent.KEYCODE_DPAD_RIGHT -> {
@@ -218,7 +221,7 @@
             }
             KeyEvent.KEYCODE_DPAD_LEFT -> {
                 //'F1'
-                isBackRuning = true
+                isBackRunning = true
                 jumpActivity(MenuActivity::class.java)
             }
             KeyEvent.KEYCODE_DPAD_RIGHT -> {
@@ -263,7 +266,7 @@
             }
             KeyEvent.KEYCODE_DPAD_LEFT -> {
                 //'F1'
-                isBackRuning = true
+                isBackRunning = true
                 jumpActivity(MenuActivity::class.java)
             }
 //                KeyEvent.KEYCODE_DPAD_UP ->
@@ -304,7 +307,7 @@
 
     private var lastshowtime: String? = null
     override fun clearUserInfo(datetime: String) {
-        if (!isBackRuning) {
+        if (!isBackRunning) {
             vCitizenName.text = null
             vCitizenCardno.text = null
             vCardstatus.text = null
@@ -325,7 +328,7 @@
 
     override fun onResume() {
         super.onResume()
-        isBackRuning = false
+        isBackRunning = false
         beepManager!!.updatePrefs()
         dealIntent()
         refresh()
@@ -643,8 +646,8 @@
         return this
     }
 
-    override fun isBackRuning(): Boolean {
-        return isBackRuning
+    override fun isBackRunning(): Boolean {
+        return isBackRunning
     }
 
     override fun showRecentDtl(record: TransdtlUnionRecord?) {
@@ -662,8 +665,8 @@
         }
     }
 
-    override fun codeScannerEnable(enable: Boolean) {
-        codeSwitchEnable = enable
+    override fun cardPayingStatus(isPaying: Boolean) {
+        cardPaying = isPaying
     }
 
     private fun resetPayShowCounter(timems: Long) {
diff --git a/app/src/main/java/com/supwisdom/activities/consume/ConsumePresenter.kt b/app/src/main/java/com/supwisdom/activities/consume/ConsumePresenter.kt
index 43b5ed2..6c5d277 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumePresenter.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumePresenter.kt
@@ -16,10 +16,9 @@
  ** create by zzq on 2019/7/25
  ** @desc
  **/
-class ConsumePresenter constructor(iConsumeView: IConsumeView) {
+class ConsumePresenter constructor(private val iConsumeView: IConsumeView) {
     private val TAG = "ConsumePresenter"
     private val pos = SPApplication.getInstance().getPos()
-    private val iConsumeView = iConsumeView
     private val codePayRunnable = CodePayRunnable()
     private lateinit var handler: Handler
     private var cardPayService: CardPayService
diff --git a/app/src/main/java/com/supwisdom/activities/consume/IConsumeView.kt b/app/src/main/java/com/supwisdom/activities/consume/IConsumeView.kt
index 608ff3f..3ac4df7 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/IConsumeView.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/IConsumeView.kt
@@ -11,7 +11,7 @@
 interface IConsumeView {
     fun getActivity(): Activity
 
-    fun isBackRuning(): Boolean
+    fun isBackRunning(): Boolean
 
     fun showConsumeSuc(info: CardUserInfoBean)
 
@@ -34,6 +34,8 @@
     fun refreshLinkStatus(isOnline: Boolean)
 
     fun showRecentDtl(record: TransdtlUnionRecord?)
-
-    fun codeScannerEnable(enable: Boolean)
+    /**
+     * 是否正在刷卡支付
+     */
+    fun cardPayingStatus(isPaying: Boolean)
 }
\ No newline at end of file
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 b83cdfa..b00585f 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
@@ -88,16 +88,16 @@
         private var curLinkRefreshTime: Long = 0
         override fun run() {
             while (!isExist) {
-                if (iConsumeView.isBackRuning()) {
+                iConsumeView.cardPayingStatus(false)
+                if (iConsumeView.isBackRunning()) {
                     CommonUtil.doSleep(1000)
                     doClear()
                     continue
                 }
-                iConsumeView.codeScannerEnable(true)
                 CommonUtil.doSleep(100)
                 try {
                     val cardphyid = Cardlib.instance.requestCard()
-                    iConsumeView.codeScannerEnable(false)
+                    iConsumeView.cardPayingStatus(true)
                     if (oldcardphyid != cardphyid) {
                         readCard()
                         cardBean!!.cardphyid = cardphyid
@@ -215,7 +215,7 @@
         private fun doConsume() {
             if (isFixMode) {
                 if (lastPayBean.cardphyid == cardBean!!.cardphyid) {
-                    val gap = pos.getSysPara()?.fixpayGap ?: 10
+                    val gap = (pos.getSysPara()?.fixpayGap ?: 10).toLong()
                     if (System.currentTimeMillis() - lastPayBean.suctime < gap * 1000) {
                         throw CardPayFailError("${gap}s内不能连续消费")
                     }
@@ -363,7 +363,10 @@
 
         private fun doOnlineConsumeQuery(): Boolean {
             var queryCnt = 1
-            LogUtil.e(TAG, "pay timeout and query result,cardphyid=[${onlRecord.cardphyid}],billno=[${onlRecord.billno}]")
+            LogUtil.e(
+                TAG,
+                "pay timeout and query result,cardphyid=[${onlRecord.cardphyid}],billno=[${onlRecord.billno}]"
+            )
             sleepWithCancel(1000)
             while (payQueryConfirm) {
                 sendMsg(PublicDef.MSG_CARD_PAY_QUERY, "消费确认中[$queryCnt]")
diff --git a/app/src/main/java/com/supwisdom/activities/consume/mode/CodePayService.kt b/app/src/main/java/com/supwisdom/activities/consume/mode/CodePayService.kt
index 529e355..989ef92 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/mode/CodePayService.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/mode/CodePayService.kt
@@ -45,7 +45,7 @@
         try {
             if (isFixMode) {
                 if (lastPayBean.code == code) {
-                    val gap = pos.getSysPara()?.fixpayGap ?: 10
+                    val gap = (pos.getSysPara()?.fixpayGap ?: 10).toLong()
                     if (System.currentTimeMillis() - lastPayBean.suctime < gap * 1000) {
                         throw CardPayFailError("${gap}s内不能连续消费")
                     }
diff --git a/app/src/main/java/com/supwisdom/entity/SysParaRecord.kt b/app/src/main/java/com/supwisdom/entity/SysParaRecord.kt
index 6ddb373..8829b75 100644
--- a/app/src/main/java/com/supwisdom/entity/SysParaRecord.kt
+++ b/app/src/main/java/com/supwisdom/entity/SysParaRecord.kt
@@ -17,5 +17,5 @@
     /**
      * 定额消费同卡消费间隔(s)
      */
-    var fixpayGap: Long = 0
+    var fixpayGap: Int = 0
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt b/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
index 5e3f70c..8765a41 100644
--- a/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
+++ b/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
@@ -35,7 +35,7 @@
     private var clientLong: OkHttpClient
     private val JSON = MediaType.parse("application/json; charset=utf-8")
     private val FORM_ENCODE = MediaType.parse("application/x-www-form-urlencoded;charset=utf-8")
-    private var commTime = 2
+    private var commTime = 5
     private var clientId: String? = null
     private var jwt: String? = null