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 e945e80..363ff7f 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
@@ -424,7 +424,7 @@
         val nowtime = DateUtil.getNowTimeNoFormat().substring(0, 4)
         periodFixPayList?.forEach {
             if (it.beginTime!! <= nowtime && nowtime < it.endTime!!) {
-                if (payMode != PayMode.FIXPAY) {
+                if (payMode != PayMode.FIXPAY || amount != it.amount) {
                     doFixPay(it.amount)
                 }
                 return
@@ -442,7 +442,7 @@
     }
 
     private fun doNormalPay() {
-		amount = 0
+        amount = 0
         presenter.setFixMode(false)
         payMode = PayMode.NORMAL
     }
diff --git a/app/src/main/java/com/supwisdom/view/DialogPurchase.kt b/app/src/main/java/com/supwisdom/view/DialogPurchase.kt
index fa71710..44d3c74 100644
--- a/app/src/main/java/com/supwisdom/view/DialogPurchase.kt
+++ b/app/src/main/java/com/supwisdom/view/DialogPurchase.kt
@@ -115,6 +115,7 @@
     }
 
     fun showPaySuccess(info: CardUserInfoBean) {
+        payQueryConfirm = false
         vPayhint.text = info.retmsg
         vPayhint.setTextColor(Color.GREEN)
         vPayamt.text = CommonUtil.showFormatAmount("金额", info.payamt)
@@ -126,6 +127,7 @@
     }
 
     fun showPayInterrupt() {
+        payQueryConfirm = false
         vPayhint.text = "交易取消"
         vPayhint.setTextColor(Color.RED)
         vPayamt.text = "以银行交易为准"
@@ -136,6 +138,7 @@
     }
 
     fun showPayFail(info: CardUserInfoBean) {
+        payQueryConfirm = false
         vPayhint.text = "消费失败"
         vPayhint.setTextColor(Color.RED)
         vPayamt.text = info.retmsg
@@ -146,6 +149,7 @@
     }
 
     fun showReverseSuccess(info: CardUserInfoBean) {
+        payQueryConfirm = false
         vPayhint.text = info.retmsg
         vPayhint.setTextColor(Color.GREEN)
         vPayamt.text = CommonUtil.showFormatAmount("金额", info.amount)
@@ -156,6 +160,7 @@
     }
 
     fun showReverseFail(info: CardUserInfoBean) {
+        payQueryConfirm = false
         vPayhint.text = "冲正失败"
         vPayhint.setTextColor(Color.RED)
         vPayamt.text = info.retmsg
diff --git a/app/src/main/res/layout/item_period_fix_pay.xml b/app/src/main/res/layout/item_period_fix_pay.xml
index 0f3f609..b1e7226 100644
--- a/app/src/main/res/layout/item_period_fix_pay.xml
+++ b/app/src/main/res/layout/item_period_fix_pay.xml
@@ -23,7 +23,7 @@
             android:inputType="numberDecimal"
             android:layout_weight="2"
             android:maxLines="1"
-            android:text="1000"
+            android:text="0000"
             android:textColor="@color/light_blue2"
             android:textSize="25sp"/>
     <EditText
@@ -33,7 +33,7 @@
             android:inputType="numberDecimal"
             android:layout_weight="2"
             android:maxLines="1"
-            android:text="1430"
+            android:text="2400"
             android:textColor="@color/light_blue2"
             android:textSize="25sp"/>
     <EditText
