DGJ2 业务梳理
按业务模块梳理 DGJ2.0 代码入口、核心流程、状态流转、表模型、外部系统和排查路径。
先看业务全景,再按领域进入
52 篇文档按主业务链路、字典消息、专项排查、工程维护、仓储财务、运营场景、治理平台和全景覆盖分成 8 个入口。
DGJ2.0 是一个围绕服务站经营的进销存系统:上游承接商品、订单、活动、支付、OA、调拨、TMS 等中心系统,下游给 PC 后台、App、小程序、渠道方和报表平台提供业务能力。
02 基础资料、商品与库存基础资料和库存不是一个孤立功能,而是采购、销售、活动、移动商城、渠道订单和财务成本共同依赖的业务地基。
03 采购、采购退货与采购入库采购域负责服务站从供应商、云仓、活动、预订单或订单中心获得商品,并把“采购意向”推进为可支付、可发货、可签收、可入库的业务单据。反向链路包含未发货关闭、采购退货、退货出库、退款和仓库确认。
04 销售、出库、配送与收款销售域负责服务站向维修厂、E站用户、移动商城客户、APP/机器人客户和外部 ERP 客户销售商品。完整链路不是一张“销售表”,而是三类业务事实:
05 活动、秒杀与营销链路活动域负责“运营配置营销规则,服务站按规则购买,最终转成可支付和履约的业务单据”。代码中包含普通销售活动、赠品活动、客户活动、优惠券、预售和秒杀等能力。本篇以当前代码最完整的秒杀链路为主,说明:
06 移动商城、E站、智能询价与机器人这个模块把“修理厂在移动端找货、询价、下单、收货、补货、退货”接到 DGJ2 的商品、价格、销售、库存和财务体系中,同时承接微信群、腾讯 IM、钉钉/API 等机器人会话入口。
07 外部渠道、全车件与大客户订单本文把 DGJ2 中容易混在一起的两组能力拆开说明,再解释它们如何连接采购、销售、库存和外部系统:
08 财务、报表、MQ、OA 与同步任务财务、报表、MQ、OA 和同步任务不是一个单独业务模块,而是采购、销售、库存、活动、渠道和移动商城共同依赖的横向能力。本文要回答四个容易被混淆的问题:
09 DGJ2.0 二期继续整理大纲第一批文档回答了“项目有哪些业务模块、主流程怎么走、代码入口在哪里”,本规划继续把这些主题升级为“能交接、能联调、能排查、能长期维护”的详细资料。规划中的 01 48 已全部落地为独立文章;本页保留原始拆分逻辑、优先级和验收方法,作为后续增量维护与查漏补缺的路线图。
10 表结构与业务表字典本文不是 application/config/tables.php 的机械复制,而是 DGJ2.0 的数据导航手册。它要回答:
11 状态机和订单类型字典状态字典不能只写“数字等于什么”。真正可用于开发和排查的状态机还必须说明:
12 API 与入口字典> 本文解决的不是“系统里有哪些接口”,而是“一个请求究竟从哪里进入、如何获得用户和服务站上下文、怎样找到真实业务代码、成功或失败如何表达、发生异常时从哪一层开始查”。
13 MQ、回调与补偿任务地图> MQ 问题不能只问“消息发没发”。完整问题是:业务事务何时提交、消息何时发布、路由到了哪个消费者、消费者怎样定位业务单、失败返回 ACK 还是 NACK、重复投递是否安全、最终状态是否需要补偿。
14 采购完整排查手册> 本手册从一个采购单号出发,逐层回答:单据是否创建、状态为什么停住、明细数量去了哪里、支付/订单中心/配送消息是否生效、入库是否重复、库存是否一致、关闭和退货是否完成、特殊来源是否释放。
15 销售完整排查手册> 本手册从一个销售单号、出库单号或来源订单号出发,完整追踪“销售开单 > 分仓出库 > 扣减库存 > 配送签收 > 对账核销 > 销退入库 > APP/SAAS 同步”。
16 库存一致性排查手册> 本手册用于处理“页面有库存但下单/出库失败”“业务单完成但库存未变”“库存流水与实时库存不一致”“盘点和报表库存不一致”等问题。
17 秒杀活动专项手册> 本手册覆盖 DGJ2.0 秒杀/折扣商品专区从 OPS 创建、商品导入、冲突校验、服务站范围、OA 审批,到站管家列表、购物车、确认页、下单锁量、采购单、支付回调、关闭释放和定时补偿的完整链路。
18 财务和支付排查手册> 本手册围绕 DGJ2 的采购在线支付、预订单支付、销售收款、退款、待退款账户、返利、授信/白条、还款、账户调整、提现和对账核销,建立“支付中心消息 > 业务单 > 收付款单 > 账户流水 > 业务状态”的完整排查路径。
19 权限、菜单和白名单> 本文说明 DGJ2 PC、APP、OPS 管理端中的菜单展示、页面元素、接口权限、服务站能力、应用开通、白名单和财务锁站机制。核心原则是:页面可见、按钮可见、接口可调用、站点具备业务能力是四件不同的事。
20 导入导出和 Excel 模板> 本文整理 DGJ2 模板下载、文件上传、Excel 解析、逐行校验、批量落库、错误文件、同步导出、OSS 下载和大文件治理。项目中存在多代 Excel 实现,维护前必须先识别当前入口使用哪套工具。
21 搜索、缓存与索引> 本文整理 DGJ2 商品/物料搜索的 MySQL、MongoDB、Elasticsearch、Redis 和前端增量缓存链路。核心原则:数据库有商品,不代表当前站点的搜索副本有商品;搜索副本有商品,也不代表它具备价格、库存和业务可用性。
22 报表口径专题> 本文回答的不是“报表代码放在哪里”,而是“某个数字为什么是这个值、它何时进入报表、页面与导出为什么可能不同、应当沿哪条链路核对”。
23 外部系统对接清单> 本文把“DGJ2 仓库之外的系统”统一登记为系统边界。每个边界说明:谁调用谁、走 HTTP 还是 MQ、关键业务键、状态落点、失败后谁补偿,以及哪些结论仍需环境确认。
24 本地开发、联调和日志定位> 本文目标是让接手者从“页面报错/消息没消费/数据不对”出发,在最短路径内判断问题属于入口、运行时、配置、数据、缓存、消息还是外部系统。
25 高风险公共文件影响面本文是 DGJ2.0 的“改公共代码前必读”手册。它回答的不是某一个业务怎么操作,而是:修改一个被多个业务共用的文件,会影响谁、改变哪些数据事实、需要防住哪些并发与兼容风险、最低必须回归什么。
26 PDA / GPDA 扫码盘点与仓内作业本文从真实代码入口出发,说明 DGJ2.0 中 PDA、GPDA 和 PC 库存后台如何共同完成采购签收与入库、销售扫码出库、盘点、货位调整和出库验货。
27 服务站间调拨 STF 与调拨申请本文说明 DGJ2.0 中服务站间调拨申请、发货站调出、申请站调入、撤销调出、调拨收付款,以及旧普通调拨 TF 与新申请式 STF 的关系。
28 对账单策略、生成、发送与收款同步本文整理 DGJ2.0 对账单 V2 从策略配置、客户绑定、任务生成、账单快照、核对/取消核对、文件导出、微信发送、失败重发到收款状态同步的完整业务链。
29 售后申请与销售退货申请本文从真实代码出发,说明 DGJ2.0 与 SAAS/E站之间的销售退货申请、后台审核、退货入库、DGJ 财务冲账、下游退款和取消申请链路。
30 税票资料申请、审核与实际发票开具边界本文从 DGJ2.0 真实代码、共享前端组件和历史提交出发,梳理“服务站开票资料管理”的页面入口、字段校验、图片上传、OPS Center 申请、审核列表和生效资料查询。
31 金融通道、银行支付与授信分期本文说明 DGJ2.0 中“银行通道接入、支付中心结果落账、授信分期与分期还款”三层业务。它面向产品、前端、后端、测试、财务和运维,用于回答以下问题:
32 专属授信、返利与资金池本文说明 DGJ2.0 专属授信的资金池、授信活动、服务站额度、OA 审批、额度调整、采购占用/退款释放和专属返利规则。目标是让维护人员能回答:额度从哪里来、为什么某站不能申请、审批通过后为什么没有生效、采购或退款后哪一层额度应变化。
33 帮助中心、知识库、题库与搜索本文说明 DGJ2.0 内部帮助业务的四套能力:用户问答、标准题库、结构化知识库、七鱼机器人知识读取,并补充 Elasticsearch 索引和 Excel 导入。它服务于服务站自助查询、OPS 审核、客服复用和机器人回答。
34 轮胎小程序登记、理赔与属性配置本文说明 DGJ2.0 “轮胎保”小程序从客户认证、轮胎登记、生产周期占位、理赔申请、OPS 创建不良品采购退货单,到仓审通过后理赔完成的完整业务链。文档同时覆盖图片分类、轮胎属性、状态、数量、事务、通知、接口和排查方法。
35 账号登录、设备、PC 授权与安全本文说明 DGJ2.0 浏览器、PC 客户端、App、PDA、商城 Web 的登录与账号安全链路。重点不是“输入用户名密码”这一小段,而是登录请求经过账号状态、站点端开关、密码兼容、异地验证、设备绑定、客户端版本、授权次数、Session、单设备挤下线和强制重登的完整决策过程。
36 总分店、总部账号与经营报表本文说明 DGJ2.0 总分店体系从 OPS 组织关系同步、总部主账号创建、子账号管理、门店数据授权、登录 Session 构建、总部与分店上下文切换,到采购、销售、应收、应付和主营利润汇总的完整链路。
37 客户运营、C 端营销活动与优惠券本文说明 DGJ2.0 面向维修厂客户的 C 端营销能力,包括平台活动、服务站自建活动申请、OPS 审核、正式活动生成、活动商品和赠品、适用服务站、活动库存、购买次数限制、APP/E站展示、订单锁量与释放、活动资金和退款,以及平台券、服务站券、新人券、定向发券、券库存和核销统计的完整链路。
38 配送履约、自提、骑手与三方配送本文说明 DGJ2.0 从“销售已出库或采购已下单”到“接单、取货、轨迹、送达、签收、取消、退回”的完整履约链路。
39 AI 控制台、机器人、IM 与 Udesk本文梳理 DGJ2.0 中与智能对话相关的五个子系统:旧版微信 AI 报价、RobotV2 多平台会话状态机、腾讯 IM 群聊与业务消息、AI 控制台辅助能力、Udesk 账号资料同步。
40 数据修复、迁移脚本与临时任务治理> 本文不是“脚本文件清单”,而是一份可执行的治理手册。它回答五个问题:这个入口到底是什么任务、会改哪些数据、能否重复执行、失败后如何续跑、怎样证明修复结果正确。
41 报价、智能询价与报价规则专题> 本文把 DGJ2.0 中“配置报价、计算价格、机器人询价、人工报价、生成报价单、转销售单”六个阶段拆开说明。它们共享客户和商品数据,但不是同一个业务对象。
42 电池用户、蓄电池可售范围专题> 本文整理两条容易混淆的链路:一条是“蓄电池专卖服务站只能经营哪些商品”,另一条是“机器人如何按电池型号、容量等参数查询商品”。前者是经营权限,后者是查询场景,二者不能互相替代。
43 首配、预订单与首批配货专题> 本文拆清三类名称相近但生命周期不同的业务:首配方案生成首批配货采购单;预订单先支付定金或预付款,再分次提货生成采购单;旧预购表仍保留历史查询和兼容逻辑。
44 大客户、临采与渠道订单专题本文把 DGJ2 中容易混在一起的“大客户销售”“临采”“渠道平台订单”“渠道售后”拆成四类业务对象,再按接口请求、状态流转、金额与数量、库存记账、MQ 回写和异常补偿重新串起来。
45 成本价、动态成本与利润计算专题本文整理 DGJ2 中采购结算价、库存移动加权成本、销售出库成本快照、成本调整、盘点成本和利润报表之间的关系。重点不是背字段,而是理解每一种“价格”回答什么问题、在哪个时间点冻结、如何影响库存金额与利润。
46 地址、区域、承运商时效专题本文把 DGJ2 中“省市区、客户地址、服务站与仓库地址、订单地址快照、退货地址、门店配送时效、自配送、三方配送、采购承运商”统一梳理为地址主数据、业务地址快照和履约执行三层。
47 消息通知、站内信与推送专题拆清 DGJ2 站内信、未读缓存、定时消息、悬浮提醒、业务通知 MQ、JPush、IM、短信和微信对账单发送的入口、数据流、状态、异常与排查方法。
48 开放平台、OpenAPI 与老接口兼容专题拆清 DGJ2 八类历史和现行接口入口,说明交易码动态分发、请求签名、登录上下文、requestId 幂等、全车件代理、响应错误码、日志和兼容迁移策略。
49 DGJ2.0 业务文档详细化标准与完成度矩阵这份文档不是业务说明,而是 01 48 全部业务文章的统一验收标准和施工进度表。后续每篇文章都必须回答五类问题:
50 DGJ2.0 全模块请求日志与数据变更链路地图前 48 篇文章已经解释业务边界、接口、状态、表、MQ、异常和回归。本篇增加“按一笔真实请求还原现场”的横向视角:
51 DGJ2.0 各业务子模块独立链路覆盖矩阵文章级追踪只能证明一篇文章里存在请求、日志和数据变化说明,不能证明文章内每个业务子模块都能独立排查。本矩阵把验收粒度下沉到子模块:采购保存、提交、支付、发货、入库、关闭和退货必须分别闭环,其他业务域同理。
52 DGJ2.0 业务梳理总览本文档按真实代码入口梳理 /Users/zhoujiangbin/code/docker dev env/www/dgj2.0 项目,目标是让新人先理解业务,再顺着控制器、Service、模型、枚举和任务入口继续追代码。