# 市民请集合 AI 第一期需求可行性分析 日期:2026-06-30 ## 结论 第一期需求可以做,但要拆成三类能力落地: 1. **可直接支持**:订单、商品、会员、物流、积分、充值、月结企业清单等查询类能力。业务系统已有接口和数据库表,Agent 可以通过 MCP 做只读查询并输出表格。 2. **可半自动支持**:月结报告、充值导入、商品名称对应、报价单生成。需要 Agent 先生成预览、差异清单、Excel 文件,再由管理员确认。 3. **暂不应直接自动执行**:上架、下架、批量改价、充值正式导入、结算确认等写操作。需要业务系统提供带审批/幂等/审计的 MCP Action 入口,Agent 不能直接写库。 ## 已确认的业务系统依据 ### 订单与物流 业务入口: - `smqjh-oms/oms-boot/src/main/java/com/smqjh/mall/oms/controller/xsb/OrderController.java` - 后台列表:`GET /api/v1/order/backendOrderList` - 订单详情:`GET /api/v1/order/backendOrderInfo` - 物流节点:`GET /api/v1/order/deliveryNode` - 骑手信息:`GET /api/v1/order/riderInfo` - 物流轨迹:`GET /api/v1/order/queryTrace` - 导出:`POST /api/v1/order/export?exportType=ORDER|PRODUCT` 关键表: - `smqjh_oms.oms_order` - `smqjh_oms.oms_order_item` 关键字段: - 订单号:`order_number` - 企业渠道:`channel_id`, `channel_name` - 支付:`is_payed`, `pay_time` - 金额:`order_money`, `total`, `actual_total`, `freight_amount`, `offset_points` - 物流:`hb_logistic_status`, `dvy_type`, `dvy_flow_id`, `dvy_no`, `dvy_name`, `dvy_time`, `arrive_time`, `complete_time` - 收货人:`consignee_name`, `consignee_mobile`, `consignee_address` - 过滤:`COALESCE(delete_status,0)=0` 可支持: - 查询某订单物流状态。 - 按手机号、企业、时间统计订单数和销售额。 - 导出订单表、商品订单表。 - 月结中计算商品总额、现金支付、积分抵扣、运费等。 ### 商品、SKU 与渠道价 业务入口: - `smqjh-pms/pms-boot/src/main/java/com/smqjh/pms/controller/admin/ShopSkuController.java` - `GET /api/v1/shopSku/export` - `smqjh-pms/pms-boot/src/main/java/com/smqjh/pms/controller/admin/ChannelProdController.java` 关键表: - `smqjh_pms.tz_prod` - `smqjh_pms.tz_sku` - `smqjh_pms.tz_channel_prod` - `smqjh_pms.tz_shop_sku` 关键字段: - 商品:`prod_id`, `prod_name`, `brand_name`, `brief`, `price`, `ori_price`, `status`, `is_delete` - SKU:`sku_id`, `sku_name`, `sku_code`, `price`, `ori_price`, `status`, `is_delete` - 渠道价:`channel_id`, `sku_id`, `shop_id`, `purchase_price`, `delivery_price`, `channel_prod_price`, `is_delete` - 门店 SKU:`shop_sku_price`, `shop_sku_stocks`, `sale_status`, `is_delete` 可支持: - 查询商品描述、系统价、SKU、品牌和状态。 - 报价单中补齐商品编码、SKU 编码、渠道价。 - 月结商品明细补齐商品信息。 需要谨慎: - 上架、下架、批量改价是写操作,必须走审批型 Action,不能直接数据库写入。 ### 会员、渠道与企业 业务入口: - 企业会员导出:`/api/v1/members/enterprise/export` - 用户提供的后台入口:`https://shop.backend.zswlgz.com/plt/admin/enterprise/export?channelIdList%5B0%5D=0` 关键表: - `smqjh_system.sm_member` - `smqjh_system.sm_channel` 已确认月结企业: | channelId | channelNo | 企业 | | --- | --- | --- | | 54 | 1 | 招商银行贵阳分行 | | 55 | 2 | 中数未来 | | 58 | 5 | 铜仁移动 | 可支持: - 根据手机号查会员归属企业。 - 按企业渠道生成月结筛选条件。 - 顶级 admin 不需要 tenantCode,非 admin 后续仍要保留租户上下文。 ### 积分充值与积分流水 业务入口: - `smqjh-system/system-boot/src/main/java/com/smqjh/system/controller/PointsRechargeController.java` - `GET /api/v1/pointsRecharge/page` - `GET /api/v1/pointsRecharge/statisticsList` - `POST /api/v1/pointsRecharge/import` - `GET /api/v1/pointsRecharge/exportTemplate` - `GET /api/v1/pointsRecharge/export` - `smqjh-system/system-boot/src/main/java/com/smqjh/system/controller/PointsRecordController.java` - `GET /app-api/v1/pointsRecord/backendPointsRecordList` - `GET /app-api/v1/pointsRecord/backendPointsRecordListExport` 关键表: - `smqjh_system.sm_points_recharge` - `smqjh_system.sm_points_record` 关键字段: - 充值:`user_id`, `user_name`, `user_phone`, `channel_id`, `channel_name`, `recharge_number`, `points`, `available_points`, `consume_points`, `expiry_points`, `expiry_date` - 流水:`order_number`, `points_id`, `variable_points`, `points_type`, `currently_available_points`, `creation_date`, `is_adjust` 可支持: - 充值信息表整理、查重、排错。 - 生成导入预览和上账凭据。 - 月结核对积分抵扣和消费流水。 需要谨慎: - `POST /pointsRecharge/import` 是写操作,必须先预览、校验、人工确认。 ## 第一期功能支持矩阵 | 需求 | 可行性 | 推荐实现方式 | 风险/缺口 | | --- | --- | --- | --- | | 平台生成结算报告 | 可做 | MCP 读取订单、商品明细、积分、运费导出,Python 生成 Excel 汇总与蓝色核对区 | 运费账单需确认是否稳定包含订单号或配送单号 | | 补齐编码 | 可做 | 从 `tz_prod/tz_sku/tz_channel_prod` 补齐商品、SKU、渠道价 | 供应商发票名称和商品名不一致时需要名称映射 | | 价格浮动人工确认 | 可做 | 生成差异表,标记“需人工确认” | 不能自动改业务系统 | | 发送客户核对/打印盖章/开票/待付款状态 | 可做流程管理 | Agent 生成状态记录和提醒,不直接财务确认 | 需要后续状态表或任务记录表 | | 充值信息调整排错 | 可做 | 上传企业表格后,Agent 校验手机号、企业、金额、重复记录,输出预览 | 正式导入前必须人工确认 | | 导入业务系统 | 部分可做 | 调用后端导入接口,前置审批 | 需要带审计、幂等、回滚/失败报告 | | 企业用户统一发货 | 部分可做 | 导出订单分仓,生成供应商/仓库/配送建议表 | 入库、配送、闪送/快递写操作需业务系统 Action | | 商品名称对应 | 部分可做 | OCR + 商品库模糊匹配 + 人工确认后保存映射 | 需要新增映射表或业务接口 | | 报价单生成 | 部分可做 | 读取商品、渠道价、外部报价线索,生成报价 Excel | 外部市场价来源需要稳定接口或采集源 | ## 对话响应优化方案 本轮已在 Web Agent 中加入流式进度事件: - 后端新增 `/api/chat/stream`,按 NDJSON 返回阶段事件。 - LangGraph 节点在加载工具、分析需求、执行工具、整理结果时即时发出 trace。 - 前端先显示“正在分析需求/正在执行工具/正在整理结果”等文本,再用最终答案替换进度气泡。 - 如果流式接口不可用,前端自动降级到原 `/api/chat`。 推荐后续继续增强: - 每个 MCP 工具返回 `progressLabel` 和 `evidence`。 - 长任务输出 `taskId`,前端可轮询状态。 - 生成 Excel/Word 后返回文件路径、文件大小、生成时间。 - 对写操作统一展示“预览 -> 人工确认 -> 执行 -> 审计记录”的状态链。 ## MCP 工具规划建议 优先新增或完善这些 MCP 工具: | 工具 | 作用 | | --- | --- | | `smqjh.settlement.monthly.preview` | 已实现:生成月结只读预览,包含订单、商品、积分、充值、运费、差异 | | `smqjh.settlement.monthly.exportExcel` | 输出结算报告 Excel | | `smqjh.recharge.import.preview` | 上传充值表后校验并生成导入预览 | | `smqjh.recharge.import.commit` | 人工确认后调用业务系统导入接口 | | `smqjh.product.match.preview` | 发票/OCR/供应商名称与商品库匹配 | | `smqjh.product.mapping.confirm` | 人工确认后保存名称映射 | | `smqjh.fulfillment.enterprise.plan` | 企业统一发货订单分仓、入库、配送建议 | | `smqjh.task.status.record` | 记录“待核对/待盖章/待开票/待付款/已完成”等状态 | ## 当前结论 第一期不是“能不能做”的问题,而是要按成熟 Agent 的方式做边界: - 查询和报表:Agent 可以自动完成。 - 结算、充值、上架、下架:Agent 先生成可审计预览,管理员确认后由受控 Action 执行。 - 所有结果必须带依据:业务接口、数据库表、SQL 口径、导出文件来源。