增加消费码支付功能、支付逻辑优化、金额问题优化、订单绑定优化

This commit is contained in:
2025-12-12 17:50:51 +08:00
parent a0847d21b7
commit 1d0e1a62e2
24 changed files with 507 additions and 247 deletions
@@ -2,6 +2,8 @@ package com.sw.dualscreen.repository
import com.google.gson.JsonParseException
import com.sw.dualscreen.model.response.ApiResponse
import com.sw.dualscreen.model.response.RespCodeMsg
import com.sw.dualscreen.utils.GsonUtils
import retrofit2.HttpException
import timber.log.Timber
import java.io.IOException
@@ -18,7 +20,13 @@ abstract class BaseRepository {
when (e) {
is HttpException -> {
ApiResponse(code = "${e.code()}", msg = e.message())
val respData = e.response()?.errorBody()?.string()
val respCodeMsg = GsonUtils.fromJson(respData, RespCodeMsg::class.java)
if (respCodeMsg?.msg.isNullOrBlank()) {
ApiResponse(code = "${e.code()}", msg = e.message())
} else {
ApiResponse(code = respCodeMsg.code ?:"-10", msg = respCodeMsg.msg)
}
}
is SocketTimeoutException -> {
@@ -222,15 +222,33 @@ class RemoteRepository constructor(
}
}
suspend fun bindOrder(userId: String, orderId: String): ApiResponse<Any?> {
/**
* 绑定订单
*/
suspend fun bindOrder(userId: String, orderId: String, mode: Int): ApiResponse<Any?> {
return safeApiCall {
apiService.bindOrder(userId = userId, orderId = orderId)
apiService.bindOrder(userId = userId, orderId = orderId, mode = mode)
}
}
suspend fun getMemberInfo(memberId: String): ApiResponse<MemberInfo?> {
/**
* 根据id查询会员信息
*/
suspend fun getMemberInfoById(memberId: String): ApiResponse<MemberInfo?> {
return safeApiCall {
apiService.getMemberInfo(memberId = memberId)
apiService.getMemberInfoById(memberId = memberId)
}
}
/**
* 根据id查询会员信息
*/
suspend fun getMemberInfoByPhone(phone: String, key: String): ApiResponse<MemberInfo?> {
return safeApiCall {
apiService.getMemberInfoByPhone(param = hashMapOf(
"phone" to phone,
"password" to key
))
}
}