移动商城、E站、智能询价与机器人

模块职责

移动商城模块承接服务站和修理厂移动端场景,包括 E站商城、E站维修、E站活动、E站 APP、微仓补货、马上送、智能询价、AI 机器人报价和 IM 会话。

主要入口

  • 移动商城控制器:application/controllers/moveMall
  • 内部移动商城 API:application/controllers/inner/moveMall
  • E站/小程序订单入口:application/Services/SaOrders/SaOrderSer.php
  • App API 映射:application/config/appapis.php
  • 机器人测试入口:application/controllers/RobotV2Test.php

关键 Service

  • application/Services/MoveMall/MoveMallGoodsSer.php:移动商城商品。
  • application/Services/MoveMall/MoveSupplySer.php:补货单。
  • application/Services/MoveMall/MoveReOdSer.php:移动退货单。
  • application/Services/MoveMall/SmartInquirySer.php:智能询价。
  • application/Services/MoveMall/RobotSer.php:机器人主服务。
  • application/Services/MoveMall/RobotOrderSer.php:机器人订单。
  • application/Services/MoveMall/RobotQuoteConfigSer.php:机器人报价配置。
  • application/Services/MoveMall/RobotV2:新版机器人会话、查询、后处理。
  • application/Services/MoveMall/BranchStoreOrderSplitSer.php:分仓拆单。
  • application/Services/SaOrders/SaOrderSer.php:E站订单落站管家销售单。

关键模型

  • 移动商城:application/models/moveMall/MoveMainModel.php
  • 补货:MoveSupplyModel.phpMoveSupplyInfoModel.php
  • 退货:MoveReOrderModel.phpMoveReOrderInfoModel.php
  • 会话:ConversationModel.phpConversationRecordModel.phpPreConversationModel.php
  • 关键词:KeywordModel.phpPositionKeywordModel.phpNoCarWordModel.php
  • 用户:MmUserModel.php

E站订单场景

场景定义在 application/KzData/Enums/MoveMallEnums.php

  • move_send:E站维修,微仓马上送。
  • e_shop:E站商城。
  • e_activity:E站活动。
  • e_robot:E站机器人。
  • e_app_im:E站 APP IM 订单。
  • e_app_shop:E站 APP 商城订单。
  • e_app_activity:E站 APP 活动单。

支付方式映射:

  • CHARGE:挂账。
  • WEXPAY:微信支付。
  • UnionPay:在 DGJ 侧也映射为微信支付。

E站订单落地销售单

E站/APP/机器人传入订单
  -> SaOrderSer::saCreate
  -> 根据 order_scene 和 payMode 判断 sourceType
  -> 组装销售主单和明细
  -> 挂账单 is_pay = 0,微信/银联 is_pay = 1
  -> 需要时创建出库单和库存事件
  -> MqSer / SyncOrderSer 通知 SAAS 或下游

sourceType 的转换是核心:

  • E站商城挂账 -> ORDER_SOURCE_TYPE_APPLET_CHARGE
  • E站商城微信 -> ORDER_SOURCE_TYPE_APPLET
  • E站维修挂账 -> ORDER_SOURCE_TYPE_MOVE_SEND
  • E站维修微信 -> ORDER_SOURCE_TYPE_MOVE_SEND_WX
  • E站活动 -> ORDER_SOURCE_TYPE_ACT
  • AI助手订单 -> ORDER_SOURCE_TYPE_ROBOT
  • E站 APP IM / 商城 / 活动分别进入对应 APP sourceType

补货流程

补货状态定义在 MoveMallEnums.php

  • 0 待出库。
  • 1 待派送。
  • 2 派送中。
  • 3 待上架。
  • 4 已上架。
  • 5 已取消。

流程:

修理厂/服务站发起补货
  -> MoveSupplySer 创建补货单
  -> 出库后进入待派送
  -> 配送中
  -> 确认到货后待上架
  -> 上架完成后库存口径可用

移动退货流程

移动退货状态:

  • 1 已退货。
  • 2 部分上架。
  • 3 已上架。

流程:

移动端发起退货
  -> MoveReOdSer 创建退货单
  -> 商品退回并出库/入库
  -> 部分或全部上架
  -> 更新库存和业务状态

智能询价与机器人

机器人 V2 目录结构:

  • Conversation:不同来源的会话上下文,如 API、微信、腾讯 IM。
  • Services/Query:按业务类型查询商品,如易损件、保养件、蓄电池、无车型关键词。
  • PostProcessor:结果后处理,如排序、选项内容、最小用量、仓储细节。

典型流程:

用户输入车型/VIN/关键词/图片
  -> ConversationManager 识别会话来源和上下文
  -> QueryDispatcher 选择查询服务
  -> 物料、库存、价格、适配车型查询
  -> PostProcessor 排序和补充展示字段
  -> RobotOrderSer 可把报价转订单

与其他模块的关系

  • 销售:E站订单最终会转成销售单或销售出库。
  • 库存:马上送、补货、机器人报价都依赖实时库存和服务站仓库口径。
  • 商品:智能询价强依赖商品分类、车型、品牌、关键词。
  • MQ:E站订单、出库、微信订单、报价、库存事件会推送到 SAAS 或 APP。
  • 客户:修理厂、服务站、移动用户绑定影响下单和价格。

排查建议

  • E站订单状态不对:查 order_scenepayModeSaOrderSer::saOrderMainFields()
  • 机器人查不到商品:查关键词、车型/VIN 解析、物料状态、ES/缓存。
  • 移动端显示有库存但下单失败:确认库存是服务站仓、微仓、供给仓还是活动仓口径。
  • 下游 SAAS 没收到状态:查 MqSer::sendWechatOrderToSaassendOutBoundToSaassendInvoiceToSass