京东物料管理系统产品系统

我要开发同款
root2026年07月22日
9阅读

技术信息

语言技术
JavaPythonHTML5CSSJavaScript
系统类型
Web
行业分类
电商项目任务

作品详情

行业场景

1. 打破"商品主数据"与"物资主数据"的割裂
- 纯商品系统管不了称重、耗材、损耗率、箱规这些维度;另起一套又会与商品/类目/SKU 数据脱节。
- 解法:物资中心复用京东商品/SKU/类目/门店/用户中心(rpc 模块的 consumer 调了 SkuRead/ProductRead/CategoryRead/StoreSearch/UserService),同时扩展商品系统没有的物资属性,并把 SKU 转成原材料(productToMaterial)。
2. 供应商协同 + 审批合规
- 物资由供应商维护,但不能直接进主数据,必须经采销审批,且按类型分三条独立工作流(FlowKeyEnum:物资增删改 / 供应商原材料增删改 / 供应商耗材增删改)。
- 解法:审批前后分库(apply / product)、状态机(新建→待审核→审核中→完成/驳回/取消)、对接 OA 工作流系统(WorkFlowService consumer + PartnerWorkflowService.submit/batchSubmit/materialApprove),所有操作留痕(VenderBusinessLog)。
3. 多门店物资分发自动化
- N 个门店 × M 个物资,逐店维护不现实。
- 解法:物资是门店共享主数据,新门店经 JMQ 消息自动继承全量(StoreAddListener),避免逐店配置。
4. 多租户 / SaaS 化
- 一套中台要同时服务**京东自营(七鲜)**和 Xstore 合作商家两套体系。
- 解法:tenantId 隔离 + partner(com.xstore.partner.center)/ SaaS(com.jd.xstore.partner.center)双套 JSF 契约,自营走默认

功能介绍

物资中心是一个中台型微服务,对外通过 JSF RPC 提供服务、通过 JMQ 接收异步事件。它的能力分成两套面向不同调用方的接口: Man 端(后台管理)、 Partner/SaaS端(业务系统)
一、物资主数据管理(核心)
管理两类物资:原材料(YCL=1) 和 耗材(HC=2)。
- 物资全生命周期维护:单条新增、修改、删除(VenderMaterialService.saveOneToApply / updateMaterial),删除走审批(@Deprecated 的直接删除已废弃)。
- 物资详情查询:按物资 ID 查详情、按条件分页查、列表初始化查询(getMaterialDetailByMaterialId / findVenderMaterialPage)。
- 物资维度极丰富:计量方式(计件/称重)、计量单位、UPC 条码、四级类目、税率/计税方式/扣除率、保质期、重量、箱规、核定损耗率、规格/尺寸/材质/配料/净含量/贮藏条件、生产商/经销商、采销人 ERP、是否农产品。
- 元数据/下拉数据:提供类目下拉(getCategorySelectData,联动类目中心)、单位/税率等选项数据(getSelectData)。
二、物资申请与审批工作流(合规关键)
物资不能直接进主数据,必须走审批。审批前后分库存储:申请快照入 apply 库,审批通过后落 product 主数据库。
- 申请单管理:VenderMaterialApplyService —— 申请单的增删改查、审批状态变更(updateVenderMaterialApplyCheckStatus,状态:审批中/通过/驳回/取消)、按 applyId 或 materialId 反查申请。
- 查重校验:UPC 条码查重(checkUpcExists)

项目实现

完成的具体任务
物资中心是为京东线下零售(七鲜 7FRESH + Xstore 合作商家门店)构建的物资主数据中台,落地了以下能力:
1. 物资主数据管理:原材料/耗材两类物资的全生命周期维护,覆盖称重计件、四级类目、税率/扣除率、保质期、损耗率、生产商经销商等实体零售特有维度。
2. 审批工作流:物资增删改必须经采销审批,按物资/原材料/耗材分三条独立工作流,对接外部 OA 系统,支持单条与批量审批。
3. 门店物资关系:物资↔门店多对多绑定,新门店经 JMQ 事件自动继承全量物资。
4. 商品转物资:打通商品/SKU 主数据,一键将平台 SKU 转为原材料。
5. 批量 Excel 导入:配套名称查重、UPC 查重、末级类目校验、字段联动校验的完整校验链。
6. 异步数据导出:基础耗材/原材料数据异步生成与下载。
7. 多租户 SaaS 化:一套服务支撑自营与合作商家两套体系。
技术栈与架构
技术栈:Java 8、Spring Boot 1.5.7、MyBatis、JSF(京东自研 RPC,类 Dubbox)、JMQ(京东消息队列)、JimDB(京东 Redis)、MySQL、Lombok、FastJSON、Guava、UMP Profiler 监控,Maven 构建。
架构:六模块分层(web → service → {rpc, dao} → common + 发布契约 api),web 为唯一部署单元。JSF 服务提供者/消费者通过 XML 装配;请求分层为 provider(异常→错误码)→ biz → dao/rpc。
实现亮点
1. 审批前后双库分离:apply 库存审批快照、product 库存正式主数据,按 mapper 包路径隔离到两套 SqlSessionFactory/事务管理

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论