接口调试、增加人脸识别后主副屏支付金额逻辑、其它优化

This commit is contained in:
2025-12-03 18:40:47 +08:00
parent 29188c5944
commit 8899cae323
34 changed files with 1202 additions and 402 deletions
@@ -5,11 +5,15 @@ import com.arcsoft.face.ErrorInfo
import com.sw.dualscreen.GlobalData
import com.sw.dualscreen.GlobalKey
import com.sw.dualscreen.model.request.UserNutritionParam
import com.sw.dualscreen.model.response.ApiResponse
import com.sw.dualscreen.model.response.DinnerType
import com.sw.dualscreen.model.response.FoodInfo
import com.sw.dualscreen.model.response.FoodOrder
import com.sw.dualscreen.model.response.MemberInfo
import com.sw.dualscreen.model.response.UserFaceModel
import com.sw.dualscreen.model.response.UserNutritionData
import com.sw.dualscreen.objbox.CollectedFoodInfo
import com.sw.dualscreen.utils.GsonUtils
import com.sw.dualscreen.utils.SPUtil
import com.sw.plate.App
import com.sw.plate.utils.Base64
@@ -115,10 +119,15 @@ class UserViewModel : BaseViewModel() {
}
}
fun getCollectedFoodList(pageNo: Int = 1, pageSize: Int = 100, block:(List<CollectedFoodInfo>)-> Unit) {
fun getCollectedFoodList(
pageNo: Int = 1,
pageSize: Int = 100,
foodName: String,
block: (List<CollectedFoodInfo>) -> Unit
) {
Timber.tag(TAG).d("getCollectedFoodList index = $pageNo")
launch {
val response = repository.getCollectedFoodList(pageNo)
val response = repository.getCollectedFoodList(pageNum = pageNo, pageSize = pageSize, foodName = foodName)
if (parseResponse(response)) {
withContext(Dispatchers.Default) {
val list: List<CollectedFoodInfo> = response.result ?: emptyList()
@@ -254,22 +263,73 @@ class UserViewModel : BaseViewModel() {
}
}
fun uploadCollectFoodPics(files: List<File?>, params: HashMap<String, RequestBody>, callback: (Boolean) -> Unit) {
Timber.tag(TAG).d("uploadCollectFoodPics")
fun createOrder(order: FoodOrder, block:(String)-> Unit) {
Timber.tag(TAG).d("createOrder")
launchWithLoading {
val fileList = files.filterNotNull()
if (fileList.isEmpty()) {
callback(false)
return@launchWithLoading
val response = repository.createOrder(order)
if (parseResponse(response)) {
block(response.data.toString())
} else {
block("")
}
val resp = repository.uploadCollectFoodPics(fileList, params)
if (!parseResponse(resp)) {
callback(false)
return@launchWithLoading
}
callback(resp.code == "00000")
}
}
fun bindOrder(userId: String, orderId: String, block:(Boolean)-> Unit){
Timber.tag(TAG).d("bindOrder")
launchWithLoading {
val response = repository.bindOrder(userId = userId, orderId = orderId)
if (parseResponse(response)) {
block(true)
} else {
block(false)
}
}
}
fun getMemberInfo(memberId: String, block:(MemberInfo?)-> Unit) {
Timber.tag(TAG).d("getMemberInfo")
launchWithLoading {
val response = repository.getMemberInfo(memberId)
if (parseResponse(response)) {
block(response.data)
} else {
block(null)
}
}
}
// fun uploadCollectFoodPics(files: List<File?>, params: HashMap<String, RequestBody>, callback: (Boolean) -> Unit) {
// Timber.tag(TAG).d("uploadCollectFoodPics")
// launchWithLoading {
// val fileList = files.filterNotNull()
// if (fileList.isEmpty()) {
// callback(false)
// return@launchWithLoading
// }
// val resp = repository.uploadCollectFoodPics(fileList, params)
// if (!parseResponse(resp)) {
// callback(false)
// return@launchWithLoading
// }
// callback(resp.code == "00000")
// }
// }
suspend fun uploadCollectFoodPics(
files: List<File?>,
params: HashMap<String, RequestBody>
): Boolean {
Timber.tag(TAG).d("uploadCollectFoodPics")
val fileList = files.filterNotNull()
if (fileList.isEmpty()) {
return true
}
val resp = repository.uploadCollectFoodPics(fileList, params)
// if (!parseResponse(resp)) {
// return false
// }
return resp.code == "00000"
}
}