系统总览与代码地图
一句话理解
DGJ2.0 是一个围绕服务站经营的进销存系统:上游承接商品、订单、活动、支付、OA、调拨、TMS 等中心系统,下游给 PC 后台、App、小程序、渠道方和报表平台提供业务能力。
技术形态
- PHP 版本要求:
composer.json中为php >= 7.1 - 框架风格:CodeIgniter 老项目,入口控制器在
application/controllers - 依赖:Guzzle、Monolog、MongoDB、Redis、Elasticsearch 6.7、PhpSpreadsheet、kz/kzmq、league/csv
- 自动加载:
App\\指向application/ - 数据访问:大量模型继承老模型基类,模型目录在
application/models - 服务层:新老并存,
application/Services偏新,application/service偏老
入口层
application/controllers/scm:传统进销存页面入口,包含采购、销售、库存、收付款、任务。application/controllers/po:新采购相关入口,如采购订单详情、购物车、采购退货。application/controllers/sale:销售和出库相关入口。application/controllers/basedata:基础资料管理,如商品、客户、供应商、库存、价格、区域。application/controllers/inner:内部 API,给 OPS、活动、渠道、移动商城等系统使用。application/controllers/app:App 侧控制器。application/controllers/tasks:定时任务和 MQ 消费入口。application/controllers/reports:报表页面和报表接口入口。application/controllers/allcarpart:全车件相关业务入口。
服务层
application/service/scm/InvPoService.php:老采购单列表、详情、关闭、退货展示等逻辑。application/Services/PoOrders/PoOrderSer.php:新采购领域服务,负责订单校验、创建、自制单同步、关闭、支付状态等。application/service/scm/InvSaService.php:老销售出库列表、详情、对账、核销等逻辑。application/Services/SaOrders/SaOrderSer.php:销售订单创建、出库、来源场景转换、库存扣减和下游同步。application/Services/Storage/InventorySer.php:库存流水和实时库存变更。application/Services/Activity/FlashActivitySer.php:OPS 秒杀活动管理。application/Services/Activity/FlashSaleSer.php:服务站侧秒杀商品、购物车、预览、下单、支付状态联动。application/Services/MoveMall:移动商城、智能询价、机器人、补货、马上送。application/Services/Channel:大客户渠道订单、商品、售后。application/Services/Mq/MqSer.php:MQ 生产者封装。application/Services/SyncOrder:销售单和出库单同步到下游。
模型层
常见模型目录和业务含义:
application/models/bs:基础资料,商品、库存、客户、供应商、服务站、品牌、分类、账户。application/models/orders:采购单、销售单、预订单、采购关闭、采购出库、付款信息。application/models/saOrders:销售订单、销售出库单、销售异常、品牌统计。application/models/payment:收付款单、明细、还款单。application/models/activity:活动、秒杀活动、秒杀购物车、秒杀订单、活动商品。application/models/moveMall:移动商城、微仓、机器人会话、关键词、补货退货。application/models/channel:渠道订单、渠道订单明细、渠道售后。application/models/report:报表模型。
配置层
application/config/routes.php:少量显式路由,多数沿 CI 默认 controller/method 路由。application/config/apis.php:老开放接口 code 到 service 文件映射,例如订单状态、出库、收款成功回调。application/config/appapis.php:App 接口 code 到 app service 文件映射,覆盖登录、商品、销售、采购、资金、系统、WMS、盘点。application/config/mq.php:MQ 配置。application/config/redis.php、memcached.php、mongodb.php、elasticsearch.php:缓存和检索配置。application/config/tables.php:大量表常量来源之一。
外部系统边界
- 订单中心:采购正向、售后、取消、自制订单下发、关闭。
- 支付中心:在线支付成功、支付异常、退款、授信还款、白条到期。
- OA:活动、授信或审批类业务的审批结果。
- OPS:活动配置、商品活动、品牌授权、白名单等运营能力。
- 商品中心:物料、结算价、套包、限购、敏感词、销售限价。
- 调拨中心 / TMS:发货、配送、物流状态、第三方运单号。
- SAAS / APP:E站商城、E站维修、订单和出库同步。
- 报表中心 / Hologres:采购、销售、库存、利润等聚合查询。
主链路脑图
基础资料
-> 商品/客户/供应商/仓库/货位/价格
-> 采购、销售、库存、活动共用
采购
-> 草稿 -> 提交 -> 审核/支付 -> 待出库 -> 配送/入库 -> 完成/关闭/退货
-> 影响采购明细、库存、付款、报表、订单中心
销售
-> 开单 -> 待出库 -> 出库 -> 派送 -> 送达 -> 对账 -> 核销
-> 影响库存、收款、客户余额、APP/SAAS 同步
活动/秒杀
-> OPS 建活动 -> OA 审批 -> 服务站选购 -> 生成秒杀单 -> 生成采购单 -> 支付/关闭回写
移动商城/渠道
-> 外部订单/询价/机器人 -> DGJ 销售或采购单 -> 库存/支付/配送 -> 外部系统回调
任务/MQ
-> 支付、OA、订单中心、商品中心、TMS、SAAS 消息
-> 补偿、同步、状态推进、缓存刷新