diff --git a/app/src/main/java/com/sw/dualscreen/activity/fragment/pay/PayResultFragment.kt b/app/src/main/java/com/sw/dualscreen/activity/fragment/pay/PayResultFragment.kt index b896bda..2e50987 100644 --- a/app/src/main/java/com/sw/dualscreen/activity/fragment/pay/PayResultFragment.kt +++ b/app/src/main/java/com/sw/dualscreen/activity/fragment/pay/PayResultFragment.kt @@ -175,7 +175,7 @@ class PayResultFragment : BaseFragment() { } private fun loadUserInfo(item: MemberInfo) { - binding.ivHeadPic.load(R.mipmap.ic_launcher) + binding.ivHeadPic.load(item.faceUrl?.ifBlank { R.drawable.ic_avatar_default }) binding.tvUserName.text = item.name val phone = item.phone ?: "" diff --git a/app/src/main/java/com/sw/dualscreen/model/response/DataBean.kt b/app/src/main/java/com/sw/dualscreen/model/response/DataBean.kt index 3bb471a..67f7185 100644 --- a/app/src/main/java/com/sw/dualscreen/model/response/DataBean.kt +++ b/app/src/main/java/com/sw/dualscreen/model/response/DataBean.kt @@ -40,6 +40,8 @@ data class MemberInfo( val phone: String?, //姓名 val name: String?, + //头像 + val faceUrl: String?, //充值余额 val topUpBalance: Double?, //赠送余额 @@ -92,7 +94,7 @@ data class UserNutrition( //肉蛋超量 val meatEggsExcess: String?=null, ) - +//{"code":"00000","data":"{\"orderType\":0,\"orderPayFrom\":2,\"payType\":\"1\",\"paySuc\":0,\"totalFee\":0.01,\"orderCode\":\"1998193614899372032\",\"message\":\"支付成功\",\"payCode\":\"1998193614899372032508227\"}","msg":"成功","total":0} data class PayResult( val paySuc: String? = null ) diff --git a/app/src/main/java/com/sw/dualscreen/model/response/FoodInfo.kt b/app/src/main/java/com/sw/dualscreen/model/response/FoodInfo.kt index c6d4af7..97c0b01 100644 --- a/app/src/main/java/com/sw/dualscreen/model/response/FoodInfo.kt +++ b/app/src/main/java/com/sw/dualscreen/model/response/FoodInfo.kt @@ -41,12 +41,13 @@ data class FoodInfo( val meatEggs:Double? = null, //推荐能量 val recommendCalorie: Double? = null, + //图片 + var foodImg: String? = "", //----------------------------------- var score: Int = 0, var isChecked: Boolean = false, var photoUri: Uri? = null, - var foodImg: String? = "", // @SerializedName("foodTypeAndRealIntakeVoList") // val foodTypeAndRealIntakeVoList: List? = listOf(), diff --git a/app/src/main/java/com/sw/dualscreen/presentation/pay/ScanQrCodePayPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/pay/ScanQrCodePayPresentation.kt index 9192d9c..a901a93 100644 --- a/app/src/main/java/com/sw/dualscreen/presentation/pay/ScanQrCodePayPresentation.kt +++ b/app/src/main/java/com/sw/dualscreen/presentation/pay/ScanQrCodePayPresentation.kt @@ -129,7 +129,7 @@ class ScanQrCodePayPresentation( } private fun loadUserInfo(item: MemberInfo) { - binding.ivHeadPic.load(R.mipmap.ic_launcher) + binding.ivHeadPic.load(item.faceUrl?.ifBlank { R.drawable.ic_avatar_default }) binding.tvUserName.text = item.name val phone = item.phone ?: "" diff --git a/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt b/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt index f232baf..b25176c 100644 --- a/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt +++ b/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt @@ -98,8 +98,12 @@ class UserViewModel : BaseViewModel() { SPUtil.getInstance().put(GlobalKey.KEY_FIRST_RUN, true) withContext(Dispatchers.Default) { val list: List = response.data ?: emptyList() - val item = list.firstOrNull { it.userId == "1951105919342936066" } - Timber.tag(TAG).d("getUserFaceCache userId = ${item?.userId}") + if (list.isEmpty()) { + ToastUtils.showToast("查询人脸数据为空") + return@withContext + } +// val item = list.firstOrNull { it.userId == "1951105919342936066" } +// Timber.tag(TAG).d("getUserFaceCache userId = ${item?.userId}") val faceEntity = list.map { FaceEntity(it.userId, null, Base64.decode(it.faceFeatureStr)) } @@ -384,7 +388,14 @@ class UserViewModel : BaseViewModel() { Timber.tag(TAG).d("queryOrderState") val response = repository.queryOrderState(orderNo = orderId) if (parseResponse(response)) { - val orderState = response.data == "1" + val respData = response.data as? String + ?: if (response.data is Any) { + GsonUtils.toJson(response.data) + } else { + "" + } + val payResult = GsonUtils.fromJson(respData, PayResult::class.java) + val orderState = payResult?.paySuc == "1" block(orderState) } else { block(false) diff --git a/app/src/main/res/drawable-xxhdpi/ic_avatar_default.png b/app/src/main/res/drawable-xxhdpi/ic_avatar_default.png new file mode 100644 index 0000000..e101126 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_avatar_default.png differ diff --git a/app/src/main/res/layout/fragment_pay_result.xml b/app/src/main/res/layout/fragment_pay_result.xml index a477ee9..65a2ff5 100644 --- a/app/src/main/res/layout/fragment_pay_result.xml +++ b/app/src/main/res/layout/fragment_pay_result.xml @@ -27,7 +27,7 @@ android:id="@+id/ivHeadPic" android:layout_width="120dp" android:layout_height="120dp" - android:src="@mipmap/ic_launcher" + android:src="@drawable/ic_avatar_default" app:shapeAppearance="@style/CircleStyle" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/presentation_scan_qrcode_pay.xml b/app/src/main/res/layout/presentation_scan_qrcode_pay.xml index f742ad0..3f42bcd 100644 --- a/app/src/main/res/layout/presentation_scan_qrcode_pay.xml +++ b/app/src/main/res/layout/presentation_scan_qrcode_pay.xml @@ -121,7 +121,7 @@ android:id="@+id/ivHeadPic" android:layout_width="84dp" android:layout_height="84dp" - tools:src="@mipmap/ic_launcher" + android:src="@drawable/ic_avatar_default" android:layout_marginTop="28dp" app:shapeAppearance="@style/CircleStyle" app:layout_constraintStart_toStartOf="parent" diff --git a/lib_face/src/main/java/com/sw/plate/utils/ToastUtils.java b/lib_face/src/main/java/com/sw/plate/utils/ToastUtils.java index b9d7adf..79dc4dc 100644 --- a/lib_face/src/main/java/com/sw/plate/utils/ToastUtils.java +++ b/lib_face/src/main/java/com/sw/plate/utils/ToastUtils.java @@ -2,6 +2,8 @@ package com.sw.plate.utils; import android.annotation.SuppressLint; import android.content.Context; +import android.os.Handler; +import android.os.Looper; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -30,18 +32,23 @@ public class ToastUtils { * @param text the text */ public static void showToast(String text) { - Context context = App.getContext(); - if (toast == null) { - View view = LayoutInflater.from(context).inflate(R.layout.toast_bg, null); - textCenterView = view.findViewById(R.id.toast_tv); - toast = new Toast(context); - toast.setGravity(Gravity.CENTER, 0, 20); - toast.setDuration(Toast.LENGTH_SHORT); - toast.setView(view); - } + runOnMainThread(()->{ + Context context = App.getContext(); + if (toast == null) { + View view = LayoutInflater.from(context).inflate(R.layout.toast_bg, null); + textCenterView = view.findViewById(R.id.toast_tv); + toast = new Toast(context); + toast.setGravity(Gravity.CENTER, 0, 20); + toast.setDuration(Toast.LENGTH_SHORT); + toast.setView(view); + } + textCenterView.setText(text); + toast.show(); + }); + } - textCenterView.setText(text); - toast.show(); + public static void runOnMainThread(Runnable runnable) { + new Handler(Looper.getMainLooper()).post(runnable); } /** @@ -50,32 +57,36 @@ public class ToastUtils { * @param text the text */ public static void showToast(String text, int duration) { - Context context = App.getContext(); - if (toast == null) { - View view = LayoutInflater.from(context).inflate(R.layout.toast_bg, null); - textCenterView = view.findViewById(R.id.toast_tv); - toast = new Toast(context); - toast.setGravity(Gravity.CENTER, 0, 20); - toast.setView(view); - } + runOnMainThread(()-> { + Context context = App.getContext(); + if (toast == null) { + View view = LayoutInflater.from(context).inflate(R.layout.toast_bg, null); + textCenterView = view.findViewById(R.id.toast_tv); + toast = new Toast(context); + toast.setGravity(Gravity.CENTER, 0, 20); + toast.setView(view); + } - textCenterView.setText(text); - toast.setDuration(duration); - toast.show(); + textCenterView.setText(text); + toast.setDuration(duration); + toast.show(); + }); } public static void showLongToast(String text) { - Context context = App.getContext(); - if (toast == null) { - View view = LayoutInflater.from(context).inflate(R.layout.toast_bg, null); - textCenterView = view.findViewById(R.id.toast_tv); - toast = new Toast(context); - toast.setGravity(Gravity.TOP, 0, 20); - toast.setDuration(Toast.LENGTH_LONG); - toast.setView(view); - } - textCenterView.setText(text); - showMyToast(toast, 1000000 * 30); + runOnMainThread(()-> { + Context context = App.getContext(); + if (toast == null) { + View view = LayoutInflater.from(context).inflate(R.layout.toast_bg, null); + textCenterView = view.findViewById(R.id.toast_tv); + toast = new Toast(context); + toast.setGravity(Gravity.TOP, 0, 20); + toast.setDuration(Toast.LENGTH_LONG); + toast.setView(view); + } + textCenterView.setText(text); + showMyToast(toast, 1000000 * 30); + }); }