Files
guilixu-admin/.workbuddy/memory/2026-08-15.md
T
gxwebsoft 4a7b217c2b feat(special-zone): 实现专区商品管理功能
- 新增添加商品到专区接口 addSectionGoods
- 新增从专区移除商品接口 removeSectionGoods
- 商品抽屉宽度调整并改造为支持搜索添加和移除商品
- 增加商品搜索输入框及搜索按钮,支持关键词搜索商品
- 搜索结果列表添加单条商品添加按钮和批量添加确认按钮
- 已关联商品列表新增移除商品操作按钮及确认弹窗
- 调整商品列表图片大小及表格滚动高度,提高界面整洁度
- 专区商品数据加载添加搜索结果过滤逻辑,避免重复添加
- 用户白名单弹窗移除 isStaff 限制,允许所有用户搜索
- 修复白名单用户选择框无法显示缺失勾选列宽度问题
- 采用 computed 管理多选配置及已选用户状态,提升响应性
2026-08-17 01:14:16 +08:00

2.3 KiB
Raw Blame History

2026-08-15 工作日志

专区功能(ShopHomeSection)接口报错修复

  • 现象:访问专区列表接口报 NoSuchPropertyException: ShopHomeSectionParam.deleted
  • 根因:模板生成的 ShopHomeSectionParamguilixu-java src/main/java/com/gxwebsoft/shop/param/ShopHomeSectionParam.java漏了 deleted 字段;同项目 Mapper XMLShopHomeSectionMapper.xml)按模板带 <if test="param.deleted == null"> AND a.deleted = 0</if> 逻辑删除过滤,OGNL 求值时属性不存在即抛异常。
  • 对比:ShopGoodsParamdeleted 字段(@QueryField EQ + @Schema),为标准写法;ShopHomeSection 实体本身有 @TableLogic private Integer deleted;,表启用逻辑删除。
  • 修复:给 ShopHomeSectionParam 末尾补 private Integer deleted;(带 @QueryField + @Schema),与模板一致。
  • 验证:重新编译部署 guilixu-java(端口 9200 本地实例)后接口恢复正常。
  • ⚠️ 同类预警:其他新生成的 Param 若同样漏 deleted,会报一模一样的错,补字段即可。

专区功能菜单未显示(待办)

  • 前端页面 src/views/special/zone/index.vue 与 API 层 src/api/shop/shopZone/ 已完成。
  • 但因 guilixu-admin 为动态路由(菜单由后端接口拉取),后端菜单表尚未插入「专区管理」记录,故左侧导航看不到入口。
  • 待处理:在后端菜单表(sys_menu 类)插入菜单记录(component=special/zonetenant_id=10606),刷新/重登后生效。

专区功能交互入口约定(答疑结论)

  • 白名单用户:专区列表每行「白名单」按钮 → 弹窗勾选用户 → 确定(PUT /{id}/users 覆盖式保存到 shop_home_section_user 表)。前端 UserSelectModal 链路完整。
  • 商品关联:专区页「商品」按钮只是查看该专区下商品(GET /{id}/goods,后端用 FIND_IN_SET(section_id, section_ids) 查询);往专区加商品不在此页操作,要去「商品管理 → 编辑商品 → 所属专区(多选)」勾选专区并保存,写入 goods.section_ids。
  • 后端接口齐全:users/goods 查询与设置、check-permission 权限校验均已实现。
  • ⚠️ 待确认:白名单弹窗当前按 isStaff=true 查后台员工用户(@/api/system/user 的 pageUsers);若受限专区面向小程序买家,需调整用户来源。