增加支付成功语音提示;增加扫码支付;
This commit is contained in:
@@ -157,7 +157,7 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
||||
override fun onScanSuccess(barcode: String?) {
|
||||
Timber.d("onScanSuccess barcode = $barcode")
|
||||
if (barcode == null) return
|
||||
handleScanKeyInfo(barcode)
|
||||
scanGunKeyEventCallback(barcode)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -166,12 +166,8 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
||||
/**
|
||||
* 处理扫描枪数据
|
||||
*/
|
||||
protected open fun handleScanKeyInfo(scanInfo: String) {
|
||||
var payCode = scanInfo
|
||||
//if (scanInfo.length > 6) {
|
||||
// payCode = scanInfo.take(6)
|
||||
//}
|
||||
Log.d("TAG", "handleScanKeyInfo: " + payCode)
|
||||
open fun scanGunKeyEventCallback(scanInfo: String) {
|
||||
Timber.tag("TAG").d("handleScanKeyInfo: $scanInfo")
|
||||
}
|
||||
|
||||
override fun dispatchKeyEvent(event: KeyEvent): Boolean {
|
||||
|
||||
@@ -16,10 +16,12 @@ import com.sw.dualscreen.model.response.MemberInfo
|
||||
import com.sw.dualscreen.model.response.PaySuccessEvent
|
||||
import com.sw.dualscreen.presentation.pay.PayPresentation
|
||||
import com.sw.dualscreen.utils.SPUtil
|
||||
import com.sw.dualscreen.utils.SoundPoolUtil
|
||||
import com.sw.dualscreen.viewmodel.BaseViewModel
|
||||
import com.sw.dualscreen.viewmodel.UserViewModel
|
||||
import com.sw.plate.utils.arcface.viewmodel.RecognizeViewModel
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import timber.log.Timber
|
||||
|
||||
class PayActivity : BaseActivity<ActivityPayBinding>() {
|
||||
|
||||
@@ -36,6 +38,7 @@ class PayActivity : BaseActivity<ActivityPayBinding>() {
|
||||
const val TAG_PAY_NUMBER = "tagPayNumber"
|
||||
const val TAG_PAY_FACE = "tagPayFace"
|
||||
const val TAG_PAY_RESULT = "tagPayResult"
|
||||
const val PAY_SUCCESS = "pay_success"
|
||||
}
|
||||
|
||||
val userViewModel by viewModels<UserViewModel>()
|
||||
@@ -70,10 +73,19 @@ class PayActivity : BaseActivity<ActivityPayBinding>() {
|
||||
)
|
||||
}
|
||||
|
||||
fun playSoundOnPaySuccess() {
|
||||
SoundPoolUtil.getInstance().play(PAY_SUCCESS, 0)
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
override fun initialize() {
|
||||
super.initialize()
|
||||
presentation.show()
|
||||
|
||||
val soundMap = hashMapOf<String, Int>()
|
||||
soundMap[PAY_SUCCESS] = R.raw.pay_success
|
||||
SoundPoolUtil.getInstance().loadR(this, soundMap)
|
||||
|
||||
foodInfo = intent.getParcelableExtra(FOOD_INFO)
|
||||
foodOrderId = intent.getStringExtra(FOOD_ORDER_ID) ?: ""
|
||||
eatNum = intent.getIntExtra(FOOD_EAT_NUM, 1)
|
||||
@@ -185,6 +197,7 @@ class PayActivity : BaseActivity<ActivityPayBinding>() {
|
||||
}
|
||||
|
||||
fun showPaySuccess(isVip: Boolean) {
|
||||
playSoundOnPaySuccess()
|
||||
EventBus.getDefault().post(PaySuccessEvent())
|
||||
showPayInfo(type = 2, isVip = isVip, memberInfo = memberInfo)
|
||||
hidePayTab()
|
||||
@@ -273,6 +286,17 @@ class PayActivity : BaseActivity<ActivityPayBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun scanGunKeyEventCallback(scanInfo: String) {
|
||||
super.scanGunKeyEventCallback(scanInfo)
|
||||
userViewModel.qrCodePay(scanInfo, foodOrderId) { payState, backData ->
|
||||
Timber.d("qrCodePay支付返回数据:state=$payState,backData=$backData")
|
||||
if (payState) {
|
||||
showPaySuccess(false)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// fun bindOrder(userId: String, block: () -> Unit) {
|
||||
// val pickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0)
|
||||
// val mode = if (pickupMode == 1) 1 else 2
|
||||
|
||||
Reference in New Issue
Block a user