diff --git a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt index 857e0c7..071efcf 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt @@ -209,14 +209,14 @@ class PrepareCookActivity : BaseActivity() { * - list 中不含该 goodsId:直接新增,isNewDishType = true * - list 中已含该 goodsId:累加 useWeight */ - private val foodSelectCallback: (CookFoodGoodsEntity) -> Unit = { item -> - val existing = list.firstOrNull { it.goodsId == item.goodsId } + private val foodSelectCallback: (CookFoodGoodsEntity) -> Unit = { entity -> + val existing = list.firstOrNull { it.goodsId == entity.goodsId } if (existing != null) { - existing.useWeight = (existing.useWeight ?: 0.0) + (item.useWeight ?: 0.0) + existing.useWeight = (existing.useWeight ?: 0.0) + (entity.useWeight ?: 0.0) existing.isSetFinished = true dishPartAdapter.notifyItemChanged(list.indexOf(existing)) } else { - list.add(item.also { + list.add(entity.also { it.isNewDishType = true it.isSetFinished = true }) @@ -477,10 +477,19 @@ class PrepareCookActivity : BaseActivity() { //调用接口成功,返回食材列表设置isTakingPhoto.set(false),暂时写死数据 val foodList = mutableListOf() list.forEachIndexed { index, food -> - val foodName = food.name.split("WP").first() + var foodName = "" + var foodId = "" + food.name.split("WP").let { + foodName = it[0] + foodId = if (it.size > 1) { + "WP${it[1]}" + } else { + food.name + } + } foodList.add( CookFoodGoodsEntity( - goodsId = "${food.id}", + goodsId = foodId, goodsName = foodName, foodId = index.toString() ).also { @@ -493,12 +502,13 @@ class PrepareCookActivity : BaseActivity() { activity = this, imageUri = lastPhotoUri?.toString(), goodsList = ArrayList(foodList), - finishCallback = { isManualCancel, item -> + finishCallback = { isManualCancel, entity -> + Log.d(TAG, "queryFood: isManualCancel=$isManualCancel, entity=${entity.toJsonString()}") manualCancelFlag = isManualCancel if (isManualCancel) { return@start } - item?.let { + entity?.let { foodSelectCallback(it) } }