今日工作

1. admin-bff 接口全面检查与补齐

前端功能规划定稿后,逐一比对前端目录树与 admin-bff 实际接口,发现 1 处缺失(商品图片接口),已补齐。

补齐内容:

ProductPhotoFeignClient(新建)→ mall-product-client
AdminProductExtraController 新增 productPhoto 5 个 CRUD 接口

最终 admin-bff 共 36 个接口,覆盖前端全部页面。这是前端开发可以直接对着写的接口清单。

2. 前端功能规划定稿

docs/30-admin前端功能规划.md 经过多轮讨论最终定稿。核心原则:

页面按角色可见:

角色可见页面
超级管理员全部(系统管理/商品/订单/营销/基础数据/评价)
运营部商品管理/营销/首页/基础数据/评价
客服部订单管理/评价
财务部订单管理(只读金额)

不开发的前端页面: 菜单管理、角色管理、部门管理、岗位管理、字典管理、定时任务——这些由开发维护 DB,不出现在前端。

权限关系简化为:部门 + 岗位 → 角色 → 菜单,超级管理员只需要在用户管理里选部门/岗位,权限自动带出。

3. RBAC 数据初始化

cloud_mall_admin 数据库写入预设数据:

部门:运营部、客服部、财务部
角色:超级管理员(已有)、运营(ops)、客服(service)、财务(finance)

岗位表(auth_job)待预设,后续补上。

4. 商品上下架字段补全

发现 product没有上下架字段——整个商品系统没有上架/下架的概念。已修复:

ALTER TABLE product ADD COLUMN status tinyint(1) DEFAULT 1 COMMENT '上下架状态 1:上架 0:下架';

ProductEntity 同步新增 status 字段,文档补充商品列表支持按状态筛选。

5. admin-bff 精简

砍掉的冗余功能:

配送地址管理    → 地址在订单详情页内修改,不需要独立页面
手机号登录      → C 端专用,admin 用账号密码登录
字典管理        → 技术常量,运营不需要配 key-value
行政区域        → C 端收货地址用的,admin 不需要管
短信记录        → admin 使用账号密码登录,没用过短信

6. 安全配置统一

auth-starter 重构,统一打包:

JwtAuthenticationFilter → JWT 验签 + Redis 黑名单(通用过滤器)
PermitAllProvider       → 各服务 C 端白名单扩展点
默认 SecurityFilterChain → 含 JWT 过滤 + 白名单合并(@ConditionalOnMissingBean)

6 个有 C 端接口的服务全部配置 PermitAllProvider:

mall-product     ✅  /v1/mobile/**
mall-basic      ✅  /v1/mobile/**
mall-customer   ✅  /v1/mobile/**
mall-order      ✅  /v1/mobile/trade/**
mall-pay        ✅  /v1/mobile/pay/**
mall-recommend  ✅  /v1/mobile/** + /mobile/v1/**

7. 模块测试覆盖

7 个模块测试脚本全部通过:

模块测试结果
mall-admin20/20 ✅
mall-product28/28 ✅
mall-order12/12 ✅
mall-basic21/21 ✅
mall-marketing21/21 ✅
mall-customer8/8 ✅
mall-message4/4 ✅

未测:pay(未接支付宝)、recommend(推荐算法依赖)。

8. 业务缺失

系统目前缺失库存管理和物流模块,导致订单状态流转不完整:

待支付 → 已支付 → 已发货(缺物流支撑)→ 已完成

库存直接写在 product 表的 stock 字段里, reduceStock() 走 MySQL 行锁,没有独立库存服务。这些留待后续补齐。