From b44f4aae5a199abaa3ee82a68fc78bdbf833e2da Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Thu, 14 May 2026 15:42:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor(food):=20=E7=BB=9F=E4=B8=80=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9E=8B=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=98=A0=E5=B0=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 FoodSearchDialog 中添加 oldGoodsId 字段赋值逻辑 - 在 VectorCollectionFragment 中统一商品 ID 映射处理 - 将 goodsId 字段更新为 materId 的值或空字符串 - 保留原始 goodsId 值到 oldGoodsId 字段用于回溯 - 简化代码中的循环变量引用方式 --- .../java/com/shuwei/dish/match/dialog/FoodSearchDialog.kt | 2 ++ .../dish/match/ui/fragment/VectorCollectionFragment.kt | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/shuwei/dish/match/dialog/FoodSearchDialog.kt b/app/src/main/java/com/shuwei/dish/match/dialog/FoodSearchDialog.kt index 9401330..92c54a6 100644 --- a/app/src/main/java/com/shuwei/dish/match/dialog/FoodSearchDialog.kt +++ b/app/src/main/java/com/shuwei/dish/match/dialog/FoodSearchDialog.kt @@ -243,6 +243,8 @@ class FoodSearchDialog( records.forEach { it.rawMaterialsTypes = it.rawMaterialsType it.rawMaterialsType = null + it.oldGoodsId = it.goodsId + it.goodsId = it.materId ?: "" } list.addAll(records) adapter.notifyDataSetChanged() diff --git a/app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt b/app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt index aca77fd..afb6f08 100644 --- a/app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt +++ b/app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt @@ -398,9 +398,11 @@ class VectorCollectionFragment : BaseFragment() @SuppressLint("NotifyDataSetChanged") private fun fillSearchList(list: List) { // 将 rawMaterialsType 转存到 rawMaterialsTypes,并清空 rawMaterialsType - list.forEach { item -> - item.rawMaterialsTypes = item.rawMaterialsType - item.rawMaterialsType = null + list.forEach { + it.rawMaterialsTypes = it.rawMaterialsType + it.rawMaterialsType = null + it.oldGoodsId = it.goodsId + it.goodsId = it.materId ?: "" } // 空布局切过 LinearLayoutManager,此处恢复为 2 列 GridLayoutManager if (binding.rvSearchFood.layoutManager !is GridLayoutManager) {