联合支付模式使用人脸识别生成就餐记录
This commit is contained in:
@@ -68,4 +68,5 @@ object GlobalKey {
|
|||||||
const val KEY_USER_INFO = "userInfoKey"
|
const val KEY_USER_INFO = "userInfoKey"
|
||||||
const val KEY_PICKUP_MODE = "pickupMode"
|
const val KEY_PICKUP_MODE = "pickupMode"
|
||||||
const val KEY_CHARGE_MODE = "chargeMode"
|
const val KEY_CHARGE_MODE = "chargeMode"
|
||||||
|
const val KEY_SETTLEMENT_MODE = "settlementMode"
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ import androidx.activity.viewModels
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.sw.dualscreen.GlobalData
|
import com.sw.dualscreen.GlobalData
|
||||||
|
import com.sw.dualscreen.GlobalKey
|
||||||
import com.sw.dualscreen.databinding.ActivityInitBinding
|
import com.sw.dualscreen.databinding.ActivityInitBinding
|
||||||
import com.sw.dualscreen.dialog.RemindDialog
|
import com.sw.dualscreen.dialog.RemindDialog
|
||||||
import com.sw.dualscreen.ext.clickWithDebounce
|
import com.sw.dualscreen.ext.clickWithDebounce
|
||||||
@@ -18,6 +19,7 @@ import com.sw.dualscreen.objbox.Food
|
|||||||
import com.sw.dualscreen.objbox.FoodModule
|
import com.sw.dualscreen.objbox.FoodModule
|
||||||
import com.sw.dualscreen.objbox.ObjectBox
|
import com.sw.dualscreen.objbox.ObjectBox
|
||||||
import com.sw.dualscreen.utils.L
|
import com.sw.dualscreen.utils.L
|
||||||
|
import com.sw.dualscreen.utils.SPUtil
|
||||||
import com.sw.dualscreen.viewmodel.BaseViewModel
|
import com.sw.dualscreen.viewmodel.BaseViewModel
|
||||||
import com.sw.dualscreen.viewmodel.UserViewModel
|
import com.sw.dualscreen.viewmodel.UserViewModel
|
||||||
import com.sw.plate.utils.AppUtil
|
import com.sw.plate.utils.AppUtil
|
||||||
@@ -110,6 +112,10 @@ class InitActivity : BaseActivity<ActivityInitBinding>() {
|
|||||||
|
|
||||||
override fun initialize() {
|
override fun initialize() {
|
||||||
super.initialize()
|
super.initialize()
|
||||||
|
// TODO: 暂时写死,后续改为从接口获取结算类型 ------------------------------------------
|
||||||
|
val settlementMode = 0
|
||||||
|
SPUtil.getInstance().put(GlobalKey.KEY_SETTLEMENT_MODE, settlementMode)
|
||||||
|
|
||||||
registerKeyEvent()
|
registerKeyEvent()
|
||||||
initNetworkTimer()
|
initNetworkTimer()
|
||||||
binding.okButton.clickWithDebounce(500) {
|
binding.okButton.clickWithDebounce(500) {
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
checkedItem = item
|
checkedItem = item
|
||||||
notifyDataSetChanged()
|
notifyDataSetChanged()
|
||||||
updateCurrentFood(item)
|
updateCurrentFood(item)
|
||||||
|
//0-计费,1-不计费
|
||||||
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
//不计费模式切换菜品,重新加载数据
|
//不计费模式切换菜品,重新加载数据
|
||||||
if (mode == 1) {
|
if (mode == 1) {
|
||||||
@@ -595,11 +595,13 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//根据付费模式确认是否显示按钮
|
//根据付费模式确认是否显示按钮
|
||||||
binding.btnPay.run {
|
binding.btnPay.run {
|
||||||
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
//0-计费,1-不计费
|
||||||
if (mode == 0) visible() else gone()
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
|
//0-联合支付,1-独立支付
|
||||||
|
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
|
if (settlementMode == 1 && chargeMode == 0) visible() else gone()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -634,16 +636,26 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
lastTouchTime = System.currentTimeMillis()
|
lastTouchTime = System.currentTimeMillis()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun joinPayment() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
fun createOrder(
|
fun createOrder(
|
||||||
foodInfo: FoodInfo,
|
foodInfo: FoodInfo,
|
||||||
foodWeight: Int,
|
foodWeight: Int,
|
||||||
eatWeight: Int,
|
eatWeight: Int,
|
||||||
eatNum: Int,
|
eatNum: Int,
|
||||||
userId: String?,
|
userId: String?,
|
||||||
|
isMember:Boolean,
|
||||||
notEnoughOneBlock: () -> Unit = {},
|
notEnoughOneBlock: () -> Unit = {},
|
||||||
block: () -> Unit
|
block: () -> Unit
|
||||||
) {
|
) {
|
||||||
log("foodWeight=$foodWeight,eatWeight=$eatWeight")
|
log("foodWeight=$foodWeight,eatWeight=$eatWeight")
|
||||||
|
//0-联合支付,1-独立支付
|
||||||
|
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
|
//0-计费,1-不计费
|
||||||
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
val pickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
val pickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||||
// if (pickupMode == 0) {
|
// if (pickupMode == 0) {
|
||||||
// if (foodWeight <= 5) {
|
// if (foodWeight <= 5) {
|
||||||
@@ -661,7 +673,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
showWaitingDialog("加载中,请稍候……")
|
showWaitingDialog("加载中,请稍候……")
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
|
||||||
val order = FoodOrder(
|
val order = FoodOrder(
|
||||||
deviceId = GlobalData.deviceId,
|
deviceId = GlobalData.deviceId,
|
||||||
foodId = foodInfo.foodId,
|
foodId = foodInfo.foodId,
|
||||||
@@ -675,7 +686,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
userId = userId,
|
userId = userId,
|
||||||
notPay = chargeMode != 0,
|
notPay = chargeMode != 0,
|
||||||
//即放即取-1,称重-2
|
//即放即取-1,称重-2
|
||||||
mode = if (pickupMode == 1) 1 else 2
|
mode = if (pickupMode == 1) 1 else 2,
|
||||||
|
paymentFrom = if (settlementMode == 0) 1 else 2,
|
||||||
|
member = isMember
|
||||||
)
|
)
|
||||||
submitOrder(order, block)
|
submitOrder(order, block)
|
||||||
}
|
}
|
||||||
@@ -734,6 +747,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
fun onPaySuccessEvent(event: PaySuccessEvent) {
|
fun onPaySuccessEvent(event: PaySuccessEvent) {
|
||||||
isRefreshPage = true
|
isRefreshPage = true
|
||||||
|
//0-计费,1-不计费
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
|
||||||
presentation?.hideNutritionView(chargeMode)
|
presentation?.hideNutritionView(chargeMode)
|
||||||
presentation?.cancel()
|
presentation?.cancel()
|
||||||
@@ -768,7 +782,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//val realWeight = (lastWeight * 1000).roundToInt()
|
//val realWeight = (lastWeight * 1000).roundToInt()
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
val mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
val mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||||
|
//0-计费,1-不计费
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0) ?: 0
|
||||||
var foodWeight = 0.0
|
var foodWeight = 0.0
|
||||||
var eatWeight = 0.0
|
var eatWeight = 0.0
|
||||||
@@ -802,6 +818,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
eatWeight = eatWeight.roundToInt(),
|
eatWeight = eatWeight.roundToInt(),
|
||||||
eatNum = eatNum,
|
eatNum = eatNum,
|
||||||
userId = null,
|
userId = null,
|
||||||
|
isMember = false
|
||||||
) {
|
) {
|
||||||
isRefreshPage = false
|
isRefreshPage = false
|
||||||
shutdownCamera()
|
shutdownCamera()
|
||||||
@@ -1035,9 +1052,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
log("registerDataChange photoUri 识别数据名称:$foodName")
|
log("registerDataChange photoUri 识别数据名称:$foodName")
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
binding.flPay.run {
|
binding.flPay.run {
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
//0-联合支付,1-独立支付
|
||||||
|
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
//0-计费,1-不计费
|
//0-计费,1-不计费
|
||||||
if (chargeMode == 0) visible() else gone()
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
|
//独立支付+计费模式才显示“去结算”按钮,否则使用人脸识别
|
||||||
|
if (settlementMode == 1 && chargeMode == 0) visible() else gone()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (TextUtils.isEmpty(foodName)) {
|
if (TextUtils.isEmpty(foodName)) {
|
||||||
|
|||||||
@@ -287,6 +287,7 @@ class PayActivity : BaseActivity<ActivityPayBinding>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun bindOrder(userId: String, block: (Boolean) -> Unit) {
|
fun bindOrder(userId: String, block: (Boolean) -> Unit) {
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
val pickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0)
|
val pickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0)
|
||||||
val mode = if (pickupMode == 1) 1 else 2
|
val mode = if (pickupMode == 1) 1 else 2
|
||||||
userViewModel.bindOrder(userId, foodOrderId, mode = mode) { bindResult ->
|
userViewModel.bindOrder(userId, foodOrderId, mode = mode) { bindResult ->
|
||||||
|
|||||||
@@ -19,19 +19,21 @@ class BusinessFragment: BaseFragment<FragmentBusinessBinding>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun initialize() {
|
override fun initialize() {
|
||||||
|
binding.rgSettlement.let {
|
||||||
|
//val settlementMode = if (binding.rgSettlement.checkedRadioButtonId == R.id.rbJointPayment) 0 else 1
|
||||||
|
|
||||||
|
val mode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
|
it.check(if (mode == 0) R.id.rbJointPayment else R.id.rbIndependentPayment)
|
||||||
|
binding.rbJointPayment.isEnabled = false
|
||||||
|
binding.rbIndependentPayment.isEnabled = false
|
||||||
|
}
|
||||||
binding.rgCharge.let {
|
binding.rgCharge.let {
|
||||||
// it.setOnCheckedChangeListener { group, checkedId ->
|
//0-计费,1-不计费
|
||||||
// val mode = if (checkedId == R.id.rbChargeYes) 0 else 1
|
|
||||||
// SPUtil.getInstance().put(GlobalKey.KEY_CHARGE_MODE, mode)
|
|
||||||
// }
|
|
||||||
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
it.check(if (mode == 0) R.id.rbChargeYes else R.id.rbChargeNot)
|
it.check(if (mode == 0) R.id.rbChargeYes else R.id.rbChargeNot)
|
||||||
}
|
}
|
||||||
binding.rgTakeFood.let {
|
binding.rgTakeFood.let {
|
||||||
// it.setOnCheckedChangeListener { group, checkedId ->
|
//0-即放即取,1-余量计量
|
||||||
// val mode = if (checkedId == R.id.rbPickAndPlace) 0 else 1
|
|
||||||
// SPUtil.getInstance().put(GlobalKey.KEY_PICKUP_MODE, mode)
|
|
||||||
// }
|
|
||||||
val mode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0)
|
val mode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0)
|
||||||
it.check(if (mode == 0) R.id.rbPickAndPlace else R.id.rbSurplusCalculate)
|
it.check(if (mode == 0) R.id.rbPickAndPlace else R.id.rbSurplusCalculate)
|
||||||
}
|
}
|
||||||
@@ -39,6 +41,10 @@ class BusinessFragment: BaseFragment<FragmentBusinessBinding>() {
|
|||||||
SensorScaleUtils.tare()
|
SensorScaleUtils.tare()
|
||||||
}
|
}
|
||||||
binding.btnConfirm.setOnClickListener { v ->
|
binding.btnConfirm.setOnClickListener { v ->
|
||||||
|
// if (binding.rgSettlement.checkedRadioButtonId == -1) {
|
||||||
|
// ToastUtils.showToast("请设置结算模式")
|
||||||
|
// return@setOnClickListener
|
||||||
|
// }
|
||||||
if (binding.rgCharge.checkedRadioButtonId == -1) {
|
if (binding.rgCharge.checkedRadioButtonId == -1) {
|
||||||
ToastUtils.showToast("请设置计费模式")
|
ToastUtils.showToast("请设置计费模式")
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
@@ -50,6 +56,7 @@ class BusinessFragment: BaseFragment<FragmentBusinessBinding>() {
|
|||||||
|
|
||||||
val chargeMode = if (binding.rgCharge.checkedRadioButtonId == R.id.rbChargeYes) 0 else 1
|
val chargeMode = if (binding.rgCharge.checkedRadioButtonId == R.id.rbChargeYes) 0 else 1
|
||||||
//原来的支付模式
|
//原来的支付模式
|
||||||
|
//0-计费,1-不计费
|
||||||
val oldChargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
val oldChargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
if (chargeMode != oldChargeMode) {
|
if (chargeMode != oldChargeMode) {
|
||||||
//支付模式有变化通知首页页面刷新
|
//支付模式有变化通知首页页面刷新
|
||||||
|
|||||||
@@ -34,7 +34,11 @@ data class FoodOrder(
|
|||||||
var remark: String? = "",
|
var remark: String? = "",
|
||||||
|
|
||||||
//即放即取-1,称重-2
|
//即放即取-1,称重-2
|
||||||
var mode: Int
|
var mode: Int,
|
||||||
|
//设备模式,1 结算终端,2档口机
|
||||||
|
var paymentFrom: Int,
|
||||||
|
//是否会员
|
||||||
|
var member: Boolean
|
||||||
)
|
)
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ class MainScreenPresentation(
|
|||||||
var isKeepFaceState = false
|
var isKeepFaceState = false
|
||||||
|
|
||||||
var currentUserId: String? = null
|
var currentUserId: String? = null
|
||||||
|
var isMember: Boolean = false
|
||||||
|
|
||||||
var facePreviewInfoList: MutableList<FacePreviewInfo>? = null
|
var facePreviewInfoList: MutableList<FacePreviewInfo>? = null
|
||||||
|
|
||||||
@@ -121,11 +122,15 @@ class MainScreenPresentation(
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = PresentationMainScreenBinding.inflate(layoutInflater)
|
binding = PresentationMainScreenBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||||
window?.setBackgroundDrawableResource(android.R.color.white)
|
window?.setBackgroundDrawableResource(android.R.color.white)
|
||||||
initView()
|
initView()
|
||||||
|
//0-计费,1-不计费
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
if (chargeMode == 1) {
|
//0-联合支付,1-独立支付
|
||||||
|
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
|
if (settlementMode == 0 || chargeMode == 1) {
|
||||||
setupArcCamera()
|
setupArcCamera()
|
||||||
}
|
}
|
||||||
registerDataChange()
|
registerDataChange()
|
||||||
@@ -138,7 +143,9 @@ class MainScreenPresentation(
|
|||||||
lastWeight = weight * 1000 // 将千克转成克
|
lastWeight = weight * 1000 // 将千克转成克
|
||||||
Timber.tag(TAG)
|
Timber.tag(TAG)
|
||||||
.d("updateWeight lastWeight = $weight, currentStep = $currentStep, isGoStep1 = $isGoStep1")
|
.d("updateWeight lastWeight = $weight, currentStep = $currentStep, isGoStep1 = $isGoStep1")
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||||
|
//0-计费,1-不计费
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
// if (mealPickupMode == 1 && chargeMode == 0) {
|
// if (mealPickupMode == 1 && chargeMode == 0) {
|
||||||
// //余量计量+计费模式
|
// //余量计量+计费模式
|
||||||
@@ -586,6 +593,9 @@ class MainScreenPresentation(
|
|||||||
binding.tvFoodName.text = foodInfo.foodName
|
binding.tvFoodName.text = foodInfo.foodName
|
||||||
binding.ivPreviewImage.gone()
|
binding.ivPreviewImage.gone()
|
||||||
binding.ivFrame.gone()
|
binding.ivFrame.gone()
|
||||||
|
//0-联合支付,1-独立支付
|
||||||
|
val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
|
//0-计费,1-不计费
|
||||||
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
val chargeMode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
||||||
if (chargeMode == 0) {
|
if (chargeMode == 0) {
|
||||||
binding.ivRecImage.let {
|
binding.ivRecImage.let {
|
||||||
@@ -597,15 +607,19 @@ class MainScreenPresentation(
|
|||||||
} else {
|
} else {
|
||||||
binding.ivRecImage.gone()
|
binding.ivRecImage.gone()
|
||||||
}
|
}
|
||||||
val mode = SPUtil.getInstance().get(GlobalKey.KEY_CHARGE_MODE, 0)
|
//独立支付+计费模式,使用人脸识别
|
||||||
if (mode == 0) {
|
if (settlementMode == 1 && chargeMode == 0) {
|
||||||
//计费,查询营养信息、价格信息------------------------
|
//计费,查询营养信息、价格信息------------------------
|
||||||
loadBilledMode()
|
loadBilledMode()
|
||||||
} else {
|
} else {
|
||||||
//不计费
|
//联合支付,进行人脸识别
|
||||||
//开启人脸识别
|
if (settlementMode == 0) {
|
||||||
if (currentStep == 1 || binding.tvFaceTip.isVisible.not()) {
|
|
||||||
step2FaceRecognizing(foodInfo)
|
step2FaceRecognizing(foodInfo)
|
||||||
|
} else {
|
||||||
|
//不计费,开启人脸识别
|
||||||
|
if (currentStep == 1 || binding.tvFaceTip.isVisible.not()) {
|
||||||
|
step2FaceRecognizing(foodInfo)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if (currentStep == 1) {
|
//if (currentStep == 1) {
|
||||||
@@ -785,7 +799,10 @@ class MainScreenPresentation(
|
|||||||
fun resumeCamera() {
|
fun resumeCamera() {
|
||||||
Timber.tag(TAG).d("resumeCamera isRecognition = $isRecognition")
|
Timber.tag(TAG).d("resumeCamera isRecognition = $isRecognition")
|
||||||
isRecognition = true
|
isRecognition = true
|
||||||
if (rgbCameraHelper != null && rgbCameraHelper!!.isStopped) {
|
if (rgbCameraHelper == null) {
|
||||||
|
setupArcCamera()
|
||||||
|
rgbCameraHelper!!.start()
|
||||||
|
} else if (rgbCameraHelper!!.isStopped) {
|
||||||
rgbCameraHelper!!.start()
|
rgbCameraHelper!!.start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -859,6 +876,7 @@ class MainScreenPresentation(
|
|||||||
val faceEntity = compareResult.faceEntity
|
val faceEntity = compareResult.faceEntity
|
||||||
val userId = faceEntity.userName
|
val userId = faceEntity.userName
|
||||||
currentUserId = userId
|
currentUserId = userId
|
||||||
|
isMember = faceEntity.userType == "1"
|
||||||
isAgainLoadData = false
|
isAgainLoadData = false
|
||||||
if (userId == null) return@Observer
|
if (userId == null) return@Observer
|
||||||
//ToastUtils.showToast("人脸识别成功,userId = $userId")
|
//ToastUtils.showToast("人脸识别成功,userId = $userId")
|
||||||
@@ -978,6 +996,7 @@ class MainScreenPresentation(
|
|||||||
}
|
}
|
||||||
if (facePreviewInfoList.isNullOrEmpty()) {
|
if (facePreviewInfoList.isNullOrEmpty()) {
|
||||||
currentUserId = null
|
currentUserId = null
|
||||||
|
isMember = false
|
||||||
}
|
}
|
||||||
//recognizeViewModel.clearLeftFace(facePreviewInfoList)
|
//recognizeViewModel.clearLeftFace(facePreviewInfoList)
|
||||||
clearLeftFaceData()
|
clearLeftFaceData()
|
||||||
@@ -1139,6 +1158,7 @@ class MainScreenPresentation(
|
|||||||
.d("listIsEmpty=$listIsEmpty,lastFaceTrackId=$lastFaceTrackId,listFirstTrackId=$listFirstTrackId")
|
.d("listIsEmpty=$listIsEmpty,lastFaceTrackId=$lastFaceTrackId,listFirstTrackId=$listFirstTrackId")
|
||||||
if (listIsEmpty || (lastFaceTrackId != listFirstTrackId)) {
|
if (listIsEmpty || (lastFaceTrackId != listFirstTrackId)) {
|
||||||
if (lastFaceTrackId != -1 && currentUserId != null) {
|
if (lastFaceTrackId != -1 && currentUserId != null) {
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||||
Timber.tag(TAG).i("$lastFaceTrackId 用户离开")
|
Timber.tag(TAG).i("$lastFaceTrackId 用户离开")
|
||||||
lastFaceTrackId = -1
|
lastFaceTrackId = -1
|
||||||
@@ -1159,6 +1179,7 @@ class MainScreenPresentation(
|
|||||||
ToastUtils.showToast("订单已生成")
|
ToastUtils.showToast("订单已生成")
|
||||||
}
|
}
|
||||||
currentUserId = null
|
currentUserId = null
|
||||||
|
isMember = false
|
||||||
//ToastUtils.showToast("isKeepFaceState=$isKeepFaceState,mealPickupMode=$mealPickupMode")
|
//ToastUtils.showToast("isKeepFaceState=$isKeepFaceState,mealPickupMode=$mealPickupMode")
|
||||||
//|| isKeepFaceState
|
//|| isKeepFaceState
|
||||||
if (mealPickupMode == 1) {
|
if (mealPickupMode == 1) {
|
||||||
@@ -1173,8 +1194,19 @@ class MainScreenPresentation(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人脸离开后调用创建订单接口
|
||||||
|
*/
|
||||||
fun createOrder(notEnoughOneBlock: () -> Unit = {}, block: () -> Unit) {
|
fun createOrder(notEnoughOneBlock: () -> Unit = {}, block: () -> Unit) {
|
||||||
|
////0-联合支付,1-独立支付
|
||||||
|
//val settlementMode = SPUtil.getInstance().get(GlobalKey.KEY_SETTLEMENT_MODE, 1)
|
||||||
|
//0-即放即取,1-余量计量
|
||||||
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
mealPickupMode = SPUtil.getInstance().get(GlobalKey.KEY_PICKUP_MODE, 0) ?: 0
|
||||||
|
//if (settlementMode == 0) {
|
||||||
|
// //使用联合支付方式
|
||||||
|
// ToastUtils.showToast("使用联合支付方式")
|
||||||
|
// return
|
||||||
|
//}
|
||||||
val eatWeight = if (mealPickupMode == 0) {
|
val eatWeight = if (mealPickupMode == 0) {
|
||||||
//即放即取
|
//即放即取
|
||||||
recognitionWeight
|
recognitionWeight
|
||||||
@@ -1196,6 +1228,7 @@ class MainScreenPresentation(
|
|||||||
eatWeight = eatWeight.roundToInt(),
|
eatWeight = eatWeight.roundToInt(),
|
||||||
eatNum = activity.getEatNum(eatWeight, currentFood!!.specWeight),
|
eatNum = activity.getEatNum(eatWeight, currentFood!!.specWeight),
|
||||||
userId = currentUserId,
|
userId = currentUserId,
|
||||||
|
isMember = isMember ,
|
||||||
notEnoughOneBlock = notEnoughOneBlock,
|
notEnoughOneBlock = notEnoughOneBlock,
|
||||||
block = {
|
block = {
|
||||||
activity.runOnUiThread {
|
activity.runOnUiThread {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<!-- 结算设置模块 -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -16,6 +17,85 @@
|
|||||||
android:paddingTop="35dp"
|
android:paddingTop="35dp"
|
||||||
android:paddingBottom="42dp">
|
android:paddingBottom="42dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:drawablePadding="17dp"
|
||||||
|
android:text="结算设置"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="36sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:drawableStartCompat="@drawable/line_shape" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="(不允许修改,由后端配置)"
|
||||||
|
android:textColor="#FFFF3232"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<RadioGroup
|
||||||
|
android:id="@+id/rgSettlement"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="35dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/rbJointPayment"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="120dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/setting_check_selector"
|
||||||
|
android:button="@null"
|
||||||
|
android:gravity="center"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:text="联合支付"
|
||||||
|
android:textColor="@color/setting_radio"
|
||||||
|
android:textSize="30sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/rbIndependentPayment"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="120dp"
|
||||||
|
android:layout_marginStart="32dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/setting_check_selector"
|
||||||
|
android:button="@null"
|
||||||
|
android:gravity="center"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:text="独立支付"
|
||||||
|
android:textColor="@color/setting_radio"
|
||||||
|
android:textSize="30sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:checked="true" />
|
||||||
|
|
||||||
|
</RadioGroup>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- 计费设置模块 -->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/setting_border"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_marginHorizontal="32dp"
|
||||||
|
android:layout_marginTop="42dp"
|
||||||
|
android:paddingHorizontal="32dp"
|
||||||
|
android:paddingTop="35dp"
|
||||||
|
android:paddingBottom="42dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|||||||
Reference in New Issue
Block a user