lvmeng
|
d3f02620af
|
refactor(db): 将 entity 包拆分为 db/entity(数据库实体)和 model(数据模型)
- 新建 db/entity 包,迁入 4 个 Room 实体类:CookFoodEntity、CookFoodGoodsEntity、SeasoningEntity、SeasoningSlotEntity
- 新建 model 包,迁入 7 个普通数据模型:FoodRecord、GoodsItem、CookFoodDTO、CookFoodGoodsDTO、GoodsNameQueryDTO、CollectedFoodItem、DataBean
- 删除原 entity 包
- 更新全部引用文件的 import 路径(共 33 个文件)
|
2026-05-15 11:46:37 +08:00 |
|
lvmeng
|
deb03a0c37
|
refactor(base): 重构基础组件和数据库访问层
- 修复 BaseActivity 中 rightIconActon 方法名拼写错误
- 重命名 appViewModel 为 dbViewModel 以统一数据库访问实例
- 优化 BaseApp 中的共享偏好设置获取逻辑
- 移除 GlobalData 中硬编码的应用ID和SDK密钥
- 重命名 NetworkUtils 为 NetworkUtil 并增强网络连接检测
- 重构 RemoteRepository 中的API调用方法结构
- 在多个Activity和Fragment中统一使用dbViewModel替代appViewModel
- 优化食品列表合并烹饪中条目的逻辑处理
- 调整文件上传时的媒体类型定义
- 清理注释和代码结构以提高可维护性
|
2026-05-15 11:24:44 +08:00 |
|
lvmeng
|
b562694665
|
fix(ui): 修复子设备调料数据有时不显示的问题
将 observeScaleData 中的 collectLatest 改为 collect,
避免多个秤数据并发到来时 block 被取消导致 ts 已记录但
rawWeightMap 未更新,造成后续数据被永久跳过的竞态问题。
|
2026-05-15 10:14:48 +08:00 |
|
lvmeng
|
64586175ff
|
fix(ui): 修复烹饪模式页面意图处理问题
- 移除了多余的空值检查操作符以简化代码
- 注释掉未使用的 isCooking 变量
- 使用 getOrNull 安全访问 fragmentList 避免越界异常
- 简化了 getIntentExtra 的调用方式
|
2026-05-15 09:55:51 +08:00 |
|
lvmeng
|
e8431de53d
|
refactor(ui): 将搜索框清空职责从getDishList移至调用方,修复下拉刷新误清输入框问题
|
2026-05-15 09:55:08 +08:00 |
|
lvmeng
|
4ccd4eaad0
|
fix(global): 将秤生命周期提升至进程级,修复子设备空白页和秤停止响应问题
- WeightUtil 初始化移至 BaseApp.onCreate(),通过 ActivityLifecycleCallbacks
在最后一个 Activity 销毁时才调用 stopContinuousRead()
- InitActivity 删除 WeightUtil 的初始化/停止调用
- startNextPage() 跳转完成后执行 finish(),防止 InitActivity 残留任务栈
导致返回时出现空白页,及被系统回收时触发 onDestroy 意外停止秤读取
|
2026-05-15 08:43:43 +08:00 |
|
lvmeng
|
b44f4aae5a
|
refactor(food): 统一商品数据模型字段映射逻辑
- 在 FoodSearchDialog 中添加 oldGoodsId 字段赋值逻辑
- 在 VectorCollectionFragment 中统一商品 ID 映射处理
- 将 goodsId 字段更新为 materId 的值或空字符串
- 保留原始 goodsId 值到 oldGoodsId 字段用于回溯
- 简化代码中的循环变量引用方式
|
2026-05-14 15:42:07 +08:00 |
|
lvmeng
|
fee9598689
|
fix(ui): 修复初始化页面导航状态和设置页面跳转逻辑
- 在InitActivity中重写onNewIntent方法以重置导航状态
- 移除SettingActivity中的无用toast导入
- 简化SubmitFoodActivity启动语法
- 将设置页面清除数据后的跳转目标从HomeActivity改为InitActivity
|
2026-05-14 15:32:39 +08:00 |
|
lvmeng
|
b24435744c
|
feat(setting): 添加测试调料拿取功能并优化界面交互
- 在设置页面添加测试调料拿取入口并实现跳转功能
- 优化食材搜索对话框的网格布局管理器初始化逻辑
- 为未识别食材对话框添加重新识别和取消回调处理
- 优化准备食材页面标题文字显示效果
- 修复调料切换按钮点击防抖处理
|
2026-05-14 15:23:34 +08:00 |
|
lvmeng
|
a257b03b9d
|
refactor(sampling): 移除注释代码
|
2026-05-14 14:37:07 +08:00 |
|
lvmeng
|
89fff7c2b0
|
refactor(ui): 重构采样模式界面和数据处理逻辑
- 将 RadioButton 替换为 CheckedTextView 并调整布局结构
- 添加安全索引访问避免数组越界异常
- 优化数据库查询方法增加回调版本
- 更新崩溃处理器重启目标页面
- 添加单按钮对话框支持
- 优化采样模式页面数据加载和刷新逻辑
- 调整重量计算和数据处理流程
- 修复页面跳转和数据传递问题
|
2026-05-14 14:24:25 +08:00 |
|
lvmeng
|
6392b76ac2
|
fix(cooking): 解决搜索框内容清除和称重逻辑问题
- 在 CookingModeActivity 中添加 clearSearchText 方法用于清除搜索框内容
- 在 FoodListFragment 中添加协程调度器导入并实现空搜索时自动清除功能
- 在 SubmitFoodActivity 中新增初始重量和初始化状态变量
- 修改称重清零逻辑,清零后重置初始重量为 0
- 实现净重计算逻辑,使用秤读数减去初始重量得到实际净重
- 更新重量显示逻辑,使用净重数值进行单位转换和显示
|
2026-05-14 09:54:56 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
8398bd4fd3
|
fix(global): App 启动时恢复本地保存的环境地址
- SpTool 新增 baseUrl 属性,统一管理环境地址的持久化读写
- EnvSwitchDialog 改用 SpTool.baseUrl 保存,移除直接调用 SpTool.put
- BaseApp.onCreate 启动时读取 SpTool.baseUrl 并赋值给 GlobalData.appBaseUrl
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-13 18:13:09 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
535da33aab
|
refactor(fragment): 改用回调方式查询菜品列表,修复刷新卡死问题
- FoodListFragment 改用 searchFoodListWithCallback 替代 SharedFlow collect,
彻底解决下拉/上拉因数据相同导致不触发的问题
- NetViewModel 新增 searchFoodListWithCallback 回调版本
- CookingModeActivity loadFragment 改为 show/hide 方式,切换餐次不重建 Fragment
- 修复数据为空时未调用 finishRefresh 导致加载动画卡死的问题
- 新增 fragment-ktx 依赖,支持 by viewModels()
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-13 17:54:59 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
120f5432de
|
refactor(fragment): FoodListFragment 独立持有 NetViewModel
每个 FoodListFragment 通过 by viewModels() 持有独立的 NetViewModel 实例,
searchFoodState 各自隔离,不再共享 Activity 的 netViewModel。
- 删除 pendingDinnerType 字段及餐次过滤逻辑
- initObserver 改为收 Fragment 自身的 netViewModel.searchFoodState
- getDishList 直接调 netViewModel.searchFoodList,不再经由 Activity 中转
- CookingModeActivity 删除 getFoodList() 透传方法
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-13 17:24:31 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
61d11c6a78
|
fix/feat: 修复数据不稳定弹窗重复弹出 & 新增切换环境功能
fix: FoodRecognizeActivity 数据不稳定时弹窗会重复弹出
- 持有 unstableDialog 引用,通过 isShowing 防止重复弹出
feat: 新增切换环境功能(测试/UAT/生产)
- GlobalData 新增 KEY_BASE_URL,修正 UAT 端口为 8083
- SettingActivity 开发模式下显示「切换环境」入口
- 新增 EnvSwitchDialog 及其布局文件
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-13 17:18:30 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
301f470274
|
fix(fragment): 修复切换餐次时数据串台问题
三个餐次 Fragment 共享同一个 searchFoodState,导致早餐的本地数据会被错误合并到午餐/晚餐列表中。
修复方案:
- 新增 pendingDinnerType 字段记录本次请求对应的餐次
- 响应回来时比对餐次,忽略非本 Fragment 发起的请求结果
- 确保每个 Fragment 只处理自己发起的请求数据
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-13 17:16:34 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
67d64848de
|
feat(activity): 搜索菜品直接刷新列表,切换餐次自动清空搜索框
- jumpSearch 改为调用 FoodListFragment.getDishList(foodName),不再跳转 FoodSearchActivity
- 切换餐次时清空输入框,用 isClearingByTabSwitch 标志避免重复请求
- 手动清空输入框时自动触发查全部数据
- FoodListFragment.getDishList 新增 foodName 参数,支持按名称过滤
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-13 16:22:46 +08:00 |
|
lvmeng
|
ce7d2da6d8
|
feat(activity): 优化食材识别重量逻辑,修复主辅材重复保存问题
- PrepareFoodActivity:改为以首次秤读数为基准计算净重,注释清零按钮和测试按钮,修复 foodSelectCallback 中 isClicked 赋值对象错误导致选中状态异常的 bug,修复 getGoodsList 重复调用时主辅材累加的问题,向 FoodRecognizeActivity 传递 initialWeight
- FoodRecognizeActivity:启用秤重量监听,改为净重显示;用滑动窗口(最近10帧)替换延迟更新逻辑,关闭页面时从窗口中提取连续稳定值作为 useWeight,数据不稳定时弹窗提示而非直接关闭
- DbViewModel:saveCookFoodAndGoods 首次插入后回填 entity.id,防止重复进入时主辅材重复插入
- InitActivity:注释启动时自动清零秤的逻辑
- SubmitFoodActivity:将魔法数字 0.5 提取为常量 WEIGHT_THRESHOLD
|
2026-05-13 16:01:28 +08:00 |
|
lvmeng
|
65958bf637
|
feat(food): 优化食材识别功能并增加调料选择支持
- 将页面大小从30调整为100以提高加载效率
- 移除食材名称显示中的原始数据判断逻辑
- 在FoodRecognizeActivity中添加goodsId映射处理
- 修改GoodsItem实体类将goodsId和materId设为可变属性
- 新增oldGoodsId字段用于保存原始商品ID
- 创建新的调料搜索适配器和布局文件
- 更新调料选择对话框中的数据处理逻辑
|
2026-05-13 11:13:18 +08:00 |
|
lvmeng
|
7e72ce413b
|
feat(food): 实现食材识别和净材类型功能
- 在FoodAdapter中添加选中状态背景和文字颜色变化
- 修改FoodMaterialAdapter显示食材名称时包含净材类型
- 在FoodModule中解析食材名称中的净材类型信息
- 移除食材识别页面的净材类型选择弹窗流程
- 优化食材识别结果处理逻辑和数据映射
- 添加未识别到食材时的提示对话框
- 实现向量采集页面的搜索功能和实时监听
- 优化网络请求的文件上传媒体类型设置
- 调整食材列表项的布局约束和样式配置
|
2026-05-12 18:15:40 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
5745791041
|
feat(activity): 弹窗食材/调料查询使用独立 StateFlow,新增调料列表双布局切换功能
- NetViewModel 新增 foodSearchGoodsListState 和 queryFoodSearchGoodsList,与 goodsListState 隔离
- FoodSearchDialog、SeasoningSelectDialog 改用弹窗专用 State,避免影响 FoodRecognizeActivity 列表
- SeasoningWeightAdapter 支持 Grid(4列)/List(2列)双布局模式
- SubmitFoodActivity 添加调料列表布局切换按钮
- FoodModule 变量重命名并添加未初始化保护
- 注释掉 mock 食材数据,调整相关布局边距与文字截断
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-12 15:17:54 +08:00 |
|
lvmeng
|
d412e03c6e
|
perf(activity): 优化秤数据 StateFlow 重发时的无效遍历,添加 ts 去重跳过未变化帧;ScaleWebSocketServer 改为 trailing 节流并增加数据变化去重
|
2026-05-12 14:07:22 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
b6389be898
|
feat(db): 支持早中晚三餐同一菜品独立保存及调料预填充优化
- 修复 getCookFoodById/deleteCookFood/markSubmittedAndDelete 查询条件缺少 dinnerType,
导致同一 foodId 跨餐次保存时误判已存在、主记录和主辅材数据丢失的问题;
查询键由三元组(canteenId+foodId+cookMode)升级为四元组(+dinnerType)
- SamplingModeActivity 构建 FoodRecord 时补充 dinnerType,确保删除操作能精确定位餐次
- SubmitFoodActivity 制作中模式下从数据库加载 goodsList 时预填充调料到 adapter,
isCooking=false 时同样预填充前一页面带入的调料数据
- dm_cook_food 表新增 submitState 字段(DB v13),区分手动删除与接口提交删除
- 提交成功后改用 markSubmittedAndDelete 替代 deleteCookFoodAndGoods,正确置 submitState=1
- InitActivity onDestroy 不再停止秤服务,避免进程存活期间秤数据中断
- GoodsItem.isItemClicked 统一改为 isClicked,PrepareFoodActivity 食材选中逻辑同步更新
- AndroidManifest InitActivity 增加 singleTask 及 configChanges 配置
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-11 18:10:59 +08:00 |
|
lvmeng
|
919e43afba
|
feat(dialog): 添加调料选择对话框的本地模拟数据功能
- 实现 loadMockData 函数用于加载本地模拟调料数据
- 在空布局上添加点击事件监听器,点击时加载模拟数据
- 将原有的 TODO 注释代码转换为正式的模拟数据加载功能
- 优化空布局的初始化逻辑并添加安全调用处理
|
2026-05-11 15:23:23 +08:00 |
|
lvmeng
|
0b9b3e8988
|
fix(activity): 修复调料 foodId 为空导致重新打开看不到调料数据
|
2026-05-11 14:39:12 +08:00 |
|
lvmeng
|
803ae75e40
|
fix(activity): 修复识图新增食材主辅材类型未显示
foodSelectCallback 新增 GoodsItem 时未将 isOriginalData 置为
false,导致 updateMaterialTypes 跳过计算,列表无法显示主辅材
|
2026-05-11 13:31:24 +08:00 |
|
lvmeng
|
ec4c3f1232
|
refactor: 提取净材种类弹窗为工具类并统一各页面选择逻辑
- 新增 RawMaterialsDialogUtils,包含 showRawMaterialsDialog、
buildSingleChoiceChipGroup、buildMockGoodsList 三个顶层函数
- FoodAdapter/list_item_food 新增净材种类选中结果展示
- VectorCollectionFragment、FoodRecognizeActivity、FoodSearchDialog
的食材点击均改为弹出净材种类单选弹窗后再确认选中
- FoodSearchDialog 空布局补充点击加载测试数据
- setting_border 新增圆角
|
2026-05-11 12:07:06 +08:00 |
|
lvmeng
|
63911fe432
|
feat(network): queryGoodsList 入参 goodsNames 改为带净材种类的对象列表
|
2026-05-11 11:15:27 +08:00 |
|
lvmeng
|
8f15c0efb7
|
refactor(network): 菜品详情接口改用 DTO 与 Room 实体解耦
|
2026-05-11 11:10:45 +08:00 |
|
lvmeng
|
879af8426f
|
feat(fragment): 食材采集页改用 ChipGroup 选择净材并新增列表空布局
|
2026-05-11 10:20:54 +08:00 |
|
lvmeng
|
dc947df6e3
|
fix(network): 修复 uploadFoodVectorData 接口 PartMap 类型导致的 Retrofit 解析异常
|
2026-05-11 10:20:47 +08:00 |
|
lvmeng
|
ef13aa8307
|
feat(fragment): 新增净材种类选择功能及相关数据结构支持
- 新增 rawMaterialsType 字段至 GoodsItem、CookFoodGoodsEntity、SeasoningEntity,DB 升级至 v12
- VectorCollectionFragment 重构食材搜索,点击食材弹出净材种类单选弹窗
- CommonDialog 新增 addContentView 和可拦截确认按钮(setPositiveButtonInterceptable)能力
- Food3Adapter 和 list_item_food3.xml 支持显示已选净材种类副标签
|
2026-05-09 18:10:07 +08:00 |
|
lvmeng
|
a9663a21f0
|
style(ui): 调整食物识别页面布局间距和移除测试代码
- 调整 activity_food_recognize.xml 中多个组件的 margin 间距
- 移除 FoodRecognizeActivity.kt 中的测试数据相关注释代码
- 为 list_item_food2.xml 添加可点击背景效果
- 清理 PrepareFoodActivity.kt 中的无用导入和调整常量值
- 优化 PrepareFoodActivity.kt 中的条件判断换行格式
|
2026-05-09 14:45:18 +08:00 |
|
lvmeng
|
d060305417
|
fix(food): 修复Food类的equals和hashCode方法
- 在equals方法中添加version字段比较
- 在hashCode方法中添加version字段哈希计算
- 确保对象比较的一致性
|
2026-05-09 13:53:00 +08:00 |
|
lvmeng
|
bb319ee4ee
|
feat(network): 新增菜品向量采集数据上传接口及调用链路
- ApiService/RemoteRepository/NetViewModel 新增 uploadFoodVectorData 三层实现,新增 uploadFoodVectorDataBatch 供分批循环调用直接 await 结果
- VectorCollectionFragment 启用 upload() 链路:调用 uploadFoodVectorDataBatch 分批上传,去掉 runBlocking/runOnUiThread,统一在协程主线程更新 UI
- ImageUploader 修正包路径并将 onProgress 改为 suspend lambda
- Food 实体新增 version 字段,同步 ObjectBox model
- SeasoningSelectDialog 切换为真实接口,FoodSearchDialog 注释模拟数据
- 调整删除按钮 drawable 为圆形并对列表 ItemView 增加 tint
|
2026-05-09 13:51:15 +08:00 |
|
lvmeng
|
bb1ecbde43
|
feat: 新增 goodsCode 字段并同步迁移 DB v11,修复 IPv6 WebSocket 地址格式,重构 VectorCollectionFragment 相机回调为协程
|
2026-05-09 10:51:43 +08:00 |
|
lvmeng
|
7a03ab8108
|
refactor(activity): 统一 cook/submit 中调料数据处理逻辑,先清除 materialType==3 再从 adapter 覆盖写入
|
2026-05-09 10:51:04 +08:00 |
|
lvmeng
|
3b1dc0a03f
|
refactor(activity): 统一各入口传 FoodRecord 跳转 PrepareFoodActivity,重构菜品详情加载逻辑
|
2026-05-08 18:38:14 +08:00 |
|
lvmeng
|
f4d383dfe1
|
feat(adapter): FoodMaterialAdapter 无重量时 ic_dish_clear 染灰色并将点击转发为 item 选中
|
2026-05-08 16:12:03 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
a14072af00
|
chore: 补充 SCALE_ORDER_1 配置、Weigher2 unInit 修复及调料列表模拟数据
- ScaleDeviceConfig:新增 SCALE_ORDER_1 单秤地址列表
- Weigher2:unInit() 补充调用 Weigher.unInit(),确保串口资源正确释放
- SeasoningSelectDialog:getGoodsList 临时改为模拟数据,待联调时切回真实接口
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-08 15:49:35 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
436de88d73
|
fix(scale): 修复子设备重启后主设备看不到连接数据的问题,新增清除数据广播功能
- ScaleWebSocketClient:引入版本号机制防止 UDP 触发的新连接与指数退避重连任务并发建立两条连接;onFailure/onClosed 改用 remove(key, value) 原子操作,避免旧连接超时回调误删新连接引用
- ScaleWebSocketServer:新增 latestData 为空时延迟 3 秒补推机制,解决子设备刚重启时 WeightUtil 尚无读数导致主设备看不到数据的问题;新增 onClearData 回调处理清除数据事件;stop() 时同步关闭 scheduler
- ScaleEvent:新增 TYPE_CLEAR_DATA 事件类型
- ScaleServiceManager:新增 onClearData 属性和 sendClearData() 方法
- SlaveActivity:监听 onClearData 事件,收到后清空本机数据并重置 SP 状态;启动时预填空占位格子
- SettingActivity/DbViewModel/DbRepository:clearAllTestData 重命名为 clearAllData,清除完成后通知子设备并跳转 HomeActivity
- scale包架构分析.md:同步更新文档
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-08 15:48:59 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
a0137d6979
|
feat(db): 新增测试数据清除功能,物理清空全部 4 张表并重置 SP 状态
- 各 DAO 新增 deleteAll() 物理清空方法
- DbRepository 新增 clearAllTestData(),按顺序删除食材→菜品→调料→槽位
- DbViewModel 暴露 clearAllTestData(onDone) 供 UI 层调用
- SettingActivity 新增「测试数据清除」入口(隐藏,右上角图标触发显示)
- 清除完成后重置 SpTool.cookMode=-1 和 SpTool.canteenId="0"
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-08 11:58:32 +08:00 |
|
lvmeng
|
c46264a4cf
|
feat(activity): 新增 canteenId 持久化存储,HomeActivity 切换食堂时同步写入 SpTool 并恢复选中状态
|
2026-05-08 11:50:22 +08:00 |
|
lvmeng
|
979b93c53d
|
feat(activity): 统一键盘收起逻辑,新增 RecyclerView 侧滑收起键盘支持
|
2026-05-08 11:10:13 +08:00 |
|
lvmeng
|
9880f2a5a8
|
feat(activity): 新增识别添加菜品时自动计算 materialType 逻辑
|
2026-05-08 10:26:13 +08:00 |
|
lvmeng
|
19b5d721a7
|
style(layout): 优化布局文件结构和属性配置
- 统一调整了 activity_setting.xml 中各个 LinearLayout 的属性顺序
- 为 fragment_seasoning_config.xml 和 fragment_vector_collection.xml
添加了工具忽略属性
- 重新排列了 list_item_scale22_row.xml 和 list_item_scale_row.xml
的命名空间和属性顺序
- 在 list_type_scale1.xml 中调整了组件的布局属性顺序
- 为设置页面添加了数据库查看和秤数据监控功能的可见性控制
- 修复了布局文件中的硬编码文本警告问题
|
2026-05-08 08:44:42 +08:00 |
|
lvmeng
|
0648f458a7
|
refactor(fragment): DbInspectFragment 改用嵌套 RecyclerView 展示字段,优化已删除记录视觉样式
|
2026-05-07 18:13:17 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
c17402c3c2
|
feat(fragment): 新增 DbInspectFragment 本地数据库调试查看功能
- 新增 DbInspectFragment,支持按表切换(菜品/食材/调料/槽位)查看全量数据
- 分页加载(每页 50 条)+ isDel 过滤开关,避免大数据量时内存占用过高
- 切换 Tab 立即清空旧数据防止闪现,loadMoreDbInspect 加并发保护
- 槽位表字段少无 isDel,切换到该 Tab 时自动隐藏 isDel 相关控件
- 菜品/食材/调料表字段改为每行 3 列紧凑布局,槽位表保持逐行显示
- SettingActivity 新增"数据库查看"入口,复用 SingleFragmentActivity 承载
- 4 个 DAO 新增分页查询及计数方法,DbRepository/DbViewModel 同步扩展
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 13:44:03 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
a64a00e099
|
refactor(seasoning): 调料数据改用 dm_seasoning 存储并统一逻辑删除
- SeasoningSelectDialog/SeasoningSearchAdapter 改用 GoodsItem 替代 SeasoningEntity
- SeasoningConfigFragment 选中调料时同步 upsert 完整信息到 dm_seasoning
- SubmitFoodActivity cook/submit 按 goodsId 查 dm_seasoning 补全调料字段
- SeasoningEntity 删除 @Ignore 的 pageType/isClicked 字段
- GoodsItem.toSeasoningEntity() 补全 materialType/relateionType 等字段映射
- DAO 物理删除改为逻辑删除(isDel=1),getSeasoningByGoodsId 参数改为 String
- AppDatabase version 9→10,删除 dm_cook_food.foodId 唯一索引以支持逻辑删除
- SamplingModeActivity 从 DeviceConfigFragment 返回时刷新本地列表
- ScaleWebSocketClient 修复 scheduler 关闭后重连抛出 RejectedExecutionException
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-07 10:47:32 +08:00 |
|