冲正
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 ceb15e8..01245b0 100644
--- a/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/consume/ConsumeActivity.kt
@@ -256,13 +256,20 @@
private fun dealIntent() {
amount = this.intent.getIntExtra("amount", 0)
payWay = this.intent.getStringExtra("payway")
+ val operation = this.intent.getStringExtra("operation")
+ if (operation == "reverse") {
+ presenter.clickToReverse(amount)
+ dialogPurchase!!.show("等待冲正", CommonUtil.showFormatAmount("金额:", amount))
+ }
this.intent.putExtra("amount", "0")
this.intent.putExtra("payway", "")
+ this.intent.putExtra("operation", "")
}
override fun onNewIntent(intent: Intent) {
this.intent.putExtra("amount", intent.getStringExtra("amount"))
this.intent.putExtra("payway", intent.getStringExtra("payway"))
+ this.intent.putExtra("operation", intent.getStringExtra("operation"))
}
private fun refresh() {
@@ -289,6 +296,7 @@
try {
amount = Integer.parseInt(record.paraval)
amountTxt.text = String.format("%.02f", amount / 100.0f)
+ payStatusEnable = true
presenter.clickToPay(amount)
showDialogPay()
} catch (ex: Exception) {
@@ -428,6 +436,7 @@
AuxScreenController.getInstance()
.refreshContent(Arrays.asList("等待付款", CommonUtil.showFormatAmount("金额", amount)))
amountTxt.text = String.format("%.02f", amount / 100.0f)
+ payStatusEnable = true
presenter.clickToPay(amount)
showDialogPay()
} else {
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 64f34f5..ffa329b 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
@@ -98,6 +98,13 @@
doConsume()
} catch (ex: CardPayFailError) {
sendMsg(PublicDef.MSG_CARD_PAY_FAIL, getErrorInfo(ex.message))
+ } catch (ex: Exception) {
+ ex.printStackTrace()
+ LogUtil.d(
+ TAG, "card pay exception: cardphyid=$cardphyid"
+ + "exception=${CommonUtil.getExceptionStack(ex)}"
+ )
+ sendMsg(PublicDef.MSG_CARD_PAY_FAIL, getErrorInfo("程序异常"))
}
clickStat = ClickStat.INIT
}
@@ -106,6 +113,13 @@
doReverse()
} catch (ex: CardPayCancelFailError) {
sendMsg(PublicDef.MSG_CARD_REVERSE_FAIL, getErrorInfo(ex.message))
+ } catch (ex: Exception) {
+ ex.printStackTrace()
+ LogUtil.d(
+ TAG, "card pay cancel exception: cardphyid=$cardphyid"
+ + "exception=${CommonUtil.getExceptionStack(ex)}"
+ )
+ sendMsg(PublicDef.MSG_CARD_REVERSE_FAIL, getErrorInfo("程序异常"))
}
clickStat = ClickStat.INIT
}
@@ -213,7 +227,8 @@
saveTransdtlOnlineReverse(record)
showRvsSucInfo(
onlRvsRecord.payamt,
- onlRvsRecord.username!!,
+ onlRvsRecord.username,
+ onlRvsRecord.cardno,
onlRvsRecord.transdate + onlRvsRecord.transtime
)
asyncUpload(onlRvsRecord)
@@ -223,7 +238,12 @@
val record = pos.getTransdtlOfflineLast() ?: throw CardPayCancelFailError("未找到离线记录")
checkOfflineReverseVaild(unionRecord, record)
saveTransdtlOfflineReverse(record)
- showRvsSucInfo(offRvsRecord.payamt, offRvsRecord.cardno!!, offRvsRecord.transdate + onlRvsRecord.transtime)
+ showRvsSucInfo(
+ offRvsRecord.payamt,
+ null,
+ offRvsRecord.cardno,
+ offRvsRecord.transdate + onlRvsRecord.transtime
+ )
asyncUpload(offRvsRecord)
}
@@ -315,7 +335,12 @@
resp = consumeApi.payConfirm(onlRecord)
result = parseConfirmResult(resp)
if (result) {
- showRvsSucInfo(onlRecord.payamt, onlRecord.username!!, onlRecord.transdate + onlRecord.transtime)
+ showRvsSucInfo(
+ onlRecord.payamt,
+ onlRecord.username,
+ onlRecord.cardno,
+ onlRecord.transdate + onlRecord.transtime
+ )
}
updateTransdtlOnline(result)
return result
@@ -331,8 +356,6 @@
throw CardPayFailError(retBean.retmsg!!)
}
onlRecord.billno = retBean.billno
- onlRecord.username = retBean.username
-// onlRecord.userid = retBean.userid
return true
}
@@ -391,7 +414,7 @@
initTransdtlOffline()
checkCardValid()
updateTransdtlOffline(true)
- showSucInfo(offRecord.payamt, offRecord.cardno!!, offRecord.transdate + offRecord.transtime)
+ showSucInfo(offRecord.payamt, null, offRecord.cardno, offRecord.transdate + offRecord.transtime)
}
private fun checkCardValid() {
@@ -459,24 +482,26 @@
asyncUpload(offRecord)
}
- private fun showSucInfo(amount: Int, username: String, datetime: String) {
+ private fun showSucInfo(amount: Int, username: String?, cardno: String?, datetime: String) {
val info = CardUserInfoBean(PublicDef.SUCCESS, "消费成功")
info.showtime = pos.getSysPara()!!.sucShowtime
info.amount = amount
info.payamt = amount
info.username = username
+ info.cardno = cardno
info.datetime = datetime
info.payway = "card"
info.status = PayStatus.SUC
sendMsg(PublicDef.MSG_CARD_PAY_SUC, info)
}
- private fun showRvsSucInfo(amount: Int, username: String, datetime: String) {
+ private fun showRvsSucInfo(amount: Int, username: String?, cardno: String?, datetime: String) {
val info = CardUserInfoBean(PublicDef.SUCCESS, "消费成功")
info.showtime = pos.getSysPara()!!.sucShowtime
info.amount = amount
info.payamt = amount
info.username = username
+ info.cardno = cardno
info.datetime = datetime
info.payway = "card"
info.status = PayStatus.SUC
diff --git a/app/src/main/java/com/supwisdom/activities/menu/MenuPresenter.kt b/app/src/main/java/com/supwisdom/activities/menu/MenuPresenter.kt
index cbfac25..68b8dd6 100644
--- a/app/src/main/java/com/supwisdom/activities/menu/MenuPresenter.kt
+++ b/app/src/main/java/com/supwisdom/activities/menu/MenuPresenter.kt
@@ -108,6 +108,7 @@
intent.putExtra("datetime", DateUtil.getNowDateNoFormat())
intent.putExtra("amount", record.payamt.toString())
intent.putExtra("payway", record.payway)
+ intent.putExtra("operation", "reverse")
intent.setClass(iMenuView.getActivity(), ConsumeActivity::class.java)
iMenuView.getActivity().startActivity(intent)
}
diff --git a/app/src/main/java/com/supwisdom/entity/TransdtlOnlineRecord.kt b/app/src/main/java/com/supwisdom/entity/TransdtlOnlineRecord.kt
index 5eb7e1a..584e629 100644
--- a/app/src/main/java/com/supwisdom/entity/TransdtlOnlineRecord.kt
+++ b/app/src/main/java/com/supwisdom/entity/TransdtlOnlineRecord.kt
@@ -19,7 +19,6 @@
var extraamt: Int = 0
var managefeetype: String? = null // none,discount,mealer
var username: String? = null
- // var userid: Int = 0
var billno: String? = null
var reversalflag: ReversalFlag? = null //消费none 自动冲正auto 手动撤销 manual
var reversalbillno: String? = null //被冲正交易参考号
diff --git a/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt b/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
index bf93d9b..5e3f70c 100644
--- a/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
+++ b/app/src/main/java/com/supwisdom/okhttp/NetworkHandler.kt
@@ -121,6 +121,8 @@
}
private fun addExtentHeader(request: Request.Builder): Request.Builder {
+ request.addHeader("Accept", "application/json; q=0.5")
+ .addHeader("Connection", "close")
if (!TextUtils.isEmpty(clientId)) {
request.addHeader("X-TENANT-ID", clientId)
}
@@ -133,16 +135,12 @@
fun get(url: String, params: WebParams?): TransResp? {
val request = Request.Builder()
.url(geturl(url, params))
- .addHeader("Accept", "application/json; q=0.5")
- .addHeader("Connection", "close")
return getTransResp(addExtentHeader(request).build())
}
fun get(url: String, params: WebParams, callback: com.supwisdom.okhttp.ICallBackok<Any?>) {
val request = Request.Builder()
.url(geturl(url, params))
- .addHeader("Accept", "application/json; q=0.5")
- .addHeader("Connection", "close")
client!!.newCall(addExtentHeader(request).build()).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
callback.callback(null)
@@ -172,8 +170,6 @@
}
val request = Request.Builder()
.url(url)
- .addHeader("Accept", "application/json; q=0.5")
- .addHeader("Connection", "close")
.post(builder.build())
return getTransResp(addExtentHeader(request).build())
}
@@ -185,8 +181,6 @@
}
val request = Request.Builder()
.url(url)
- .addHeader("Accept", "application/json; q=0.5")
- .addHeader("Connection", "close")
.post(builder.build())
return getLongTransResp(addExtentHeader(request).build())
}
@@ -195,8 +189,6 @@
val body = RequestBody.create(JSON, json)
val request = Request.Builder()
.url(url)
- .addHeader("Accept", "application/json; q=0.5")
- .addHeader("Connection", "close")
.post(body)
return getTransResp(addExtentHeader(request).build())
}
@@ -205,8 +197,6 @@
val body = RequestBody.create(JSON, json)
val request = Request.Builder()
.url(url)
- .addHeader("Accept", "application/json; q=0.5")
- .addHeader("Connection", "close")
.post(body)
client!!.newCall(addExtentHeader(request).build()).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
diff --git a/app/src/main/java/com/supwisdom/service/AuthEpay.kt b/app/src/main/java/com/supwisdom/service/AuthEpay.kt
index 9b534e8..1e4ef62 100644
--- a/app/src/main/java/com/supwisdom/service/AuthEpay.kt
+++ b/app/src/main/java/com/supwisdom/service/AuthEpay.kt
@@ -35,7 +35,7 @@
val url = StringBuilder()
url.append(record!!.epayIP).append(":").append(record.epayPort)
.append("/").append(record.epayUri)
- .append("/api/auth/refresh/").append(record.devphyid).append("?")
+ .append("/api/auth/refresh")
val resp = NetworkHandler.getInstance().get(url.toString(), null)
?: throw AuthEpayError("jwt刷新请求超时")
if (resp.retcode != HttpStatus.SC_OK) {
diff --git a/app/src/main/java/com/supwisdom/service/BackgroundTaskService.kt b/app/src/main/java/com/supwisdom/service/BackgroundTaskService.kt
index 8c8d0c5..287293c 100644
--- a/app/src/main/java/com/supwisdom/service/BackgroundTaskService.kt
+++ b/app/src/main/java/com/supwisdom/service/BackgroundTaskService.kt
@@ -8,12 +8,15 @@
import com.supwisdom.utils.CommonUtil
import com.supwisdom.utils.DateUtil
import com.supwisdom.utils.FileUtil
+import com.supwisdom.utils.LogUtil
+import java.lang.Exception
/**
** create by zzq on 2019/7/23
** @desc
**/
class BackgroundTaskService : Thread() {
+ private val TAG = "BackgroundTaskService"
private val pos = SPApplication.getInstance().getPos()
private var apiInterface: APIInterface = EpayApiImpl()
private var sysRecord: SysParaRecord? = null
@@ -34,10 +37,13 @@
override fun run() {
var heartgap: Int
while (!isExist) {
- //做一卡通心跳和流水上传
- heartAndTransdtl()
- //清除流水
- clearTransdtl()
+ try {
+ heartAndTransdtl()
+ clearTransdtl()
+ } catch (ex: Exception) {
+ ex.printStackTrace()
+ LogUtil.d(TAG, CommonUtil.getExceptionStack(ex))
+ }
sysRecord = pos.getSysPara()
heartgap = if (sysRecord == null || sysRecord!!.heatBeat < 10 || sysRecord!!.heatBeat > 600) {
60
diff --git a/app/src/main/java/com/supwisdom/view/DialogPurchase.kt b/app/src/main/java/com/supwisdom/view/DialogPurchase.kt
index 39b5806..f0611f4 100644
--- a/app/src/main/java/com/supwisdom/view/DialogPurchase.kt
+++ b/app/src/main/java/com/supwisdom/view/DialogPurchase.kt
@@ -18,13 +18,14 @@
** create by zzq on 2019/7/26
** @desc 消费弹窗
**/
+@Suppress("DEPRECATION")
class DialogPurchase constructor(context: Context, callBack: ICallBack) : DialogBase(context), IDecoderAcquirer {
private val TAG = "DialogPurchase"
private val callBack = callBack
private var vCount: TextView
private var vPayhint: TextView
private var vPayamt: TextView
- private var vBalance: TextView
+ private var vUsername: TextView
private var posDec: PosDecoder? = null
private var lastFixpayDecoderOpenTime: Long = 0
private val waitTime = 60
@@ -38,7 +39,7 @@
vCount = this.findViewById(R.id.tv_close_count) as TextView
vPayhint = this.findViewById(R.id.tv_pay_hint) as TextView
vPayamt = this.findViewById(R.id.tv_pay_amount) as TextView
- vBalance = this.findViewById(R.id.tv_pay_balance) as TextView
+ vUsername = this.findViewById(R.id.tv_pay_username) as TextView
posDec = PosDecoder(this)
}
@@ -74,11 +75,11 @@
fun show(hint: String, amount: String) {
vPayhint.text = hint
- vPayhint.setTextColor(Color.BLACK)
+ vPayhint.setTextColor(context.resources.getColor(R.color.blue))
vPayamt.text = amount
vPayamt.visibility = View.VISIBLE
- vBalance.visibility = View.GONE
+ vUsername.visibility = View.GONE
show()
asyncOpenDecoder()
resetCounter(waitTime)
@@ -90,7 +91,7 @@
vPayamt.text = amount
vPayamt.visibility = View.VISIBLE
- vBalance.visibility = View.GONE
+ vUsername.visibility = View.GONE
resetCounter(waitTime)
}
@@ -99,12 +100,8 @@
vPayhint.setTextColor(Color.GREEN)
vPayamt.text = CommonUtil.showFormatAmount("金额", info.payamt)
vPayamt.visibility = View.VISIBLE
- if (info.balance == null) {
- vBalance.visibility = View.GONE
- } else {
- vBalance.text = CommonUtil.showFormatAmount("余额", info.balance!!)
- vBalance.visibility = View.VISIBLE
- }
+ vUsername.text = "姓名: ${info.username ?: info.cardno}"
+ vUsername.visibility = View.VISIBLE
show()
resetCounter(info.showtime)
}
@@ -114,7 +111,7 @@
vPayhint.setTextColor(Color.RED)
vPayamt.text = info.retmsg
vPayamt.visibility = View.VISIBLE
- vBalance.visibility = View.GONE
+ vUsername.visibility = View.GONE
show()
resetCounter(info.showtime)
}
@@ -124,7 +121,7 @@
vPayhint.setTextColor(Color.GREEN)
vPayamt.text = CommonUtil.showFormatAmount("金额", info.amount)
vPayamt.visibility = View.VISIBLE
- vBalance.visibility = View.GONE
+ vUsername.visibility = View.GONE
show()
resetCounter(info.showtime)
}
@@ -134,7 +131,7 @@
vPayhint.setTextColor(Color.RED)
vPayamt.text = info.retmsg
vPayamt.visibility = View.VISIBLE
- vBalance.visibility = View.GONE
+ vUsername.visibility = View.GONE
show()
resetCounter(info.showtime)
}
diff --git a/app/src/main/res/layout/activity_consume.xml b/app/src/main/res/layout/activity_consume.xml
index 44ed9bd..08a845f 100644
--- a/app/src/main/res/layout/activity_consume.xml
+++ b/app/src/main/res/layout/activity_consume.xml
@@ -110,7 +110,6 @@
android:padding="@dimen/consume_text_pad_size">
<TextView
- android:id="@+id/tv_consume_hint"
android:layout_width="260dp"
android:layout_height="match_parent"
android:gravity="start|center"
diff --git a/app/src/main/res/layout/dialog_purchase.xml b/app/src/main/res/layout/dialog_purchase.xml
index e43ef15..bb9a98a 100644
--- a/app/src/main/res/layout/dialog_purchase.xml
+++ b/app/src/main/res/layout/dialog_purchase.xml
@@ -32,22 +32,20 @@
style="@style/purchase_tv_text_hint_style"
android:text="消费成功"
android:textColor="@color/light_green"/>
-
+ <TextView
+ android:id="@+id/tv_pay_username"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="姓名: 张三"
+ android:textColor="@color/blue"
+ android:textSize="@dimen/ordinary_consume_text_size"/>
<TextView
android:id="@+id/tv_pay_amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="金额: 10.00元"
- android:textColor="@color/black"
- android:textSize="@dimen/ordinary_consume_text_size"/>
-
- <TextView
- android:id="@+id/tv_pay_balance"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="余额: 123.00元"
- android:textColor="@color/black"
+ android:textColor="@color/blue"
android:textSize="@dimen/ordinary_consume_text_size"/>
</LinearLayout>