商品微服務是主要涉及商品資料的管理,商品入庫的管理。
1. 商品管理
商品是指將商戶實際經營的東西在線上作爲一筆賬款實物承載,比如xxx運動鞋。
1.1 業務功能
(1)商品資料的屬性很簡單,主要包括商品名稱和商品代碼,其中商品代碼爲商品資料的業務主鍵,全局唯一。
(2)兩種業務狀態:使用中、已停用。這就表示,商品資料一旦錄入系統,是不允許被物理刪除的。
(3)兩種業務操作:啓用、停用。已停用業務狀態的商品可以重新被啓用,已啓用業務狀態的商品可以被停用。
1.2 數據結構
CREATE TABLE `prod_goods` (
`uuid` varchar(38) NOT NULL COMMENT '唯一標識',
`code` varchar(32) NOT NULL COMMENT '代碼',
`name` varchar(64) NOT NULL COMMENT '名稱',
`state` varchar(16) NOT NULL COMMENT '狀態',
`remark` varchar(1024) NULL COMMENT '說明',
PRIMARY KEY (`uuid`),
INDEX `idx_goods_1`(`code`)
) COMMENT = '商品表';
2. 商品入庫管理
對商品進行入庫,與之對應的是商品出庫,但在本系統中並沒有單獨實現商品出庫管理,而是通過銷售數據錄入單間接對商品進行出庫。
2.1 業務功能
(1)商品入庫時需要指定入庫日期和倉庫。
(2)一個入庫單支持商品批量入庫。
2.2 數據結構
- 主表
CREATE TABLE `prod_goods_inbound` (
`uuid` varchar(38) NOT NULL COMMENT '唯一標識',
`bill_number` varchar(32) NOT NULL COMMENT '入庫單號',
`state` varchar(16) NOT NULL COMMENT '業務狀態',
`inbound_date` date NOT NULL COMMENT '入庫日期',
`warehouse` varchar(255) NOT NULL COMMENT '倉庫',
`goods_uuids` varchar(4056) NOT NULL COMMENT '商品uuid集合',
`remark` varchar(1024) NULL COMMENT '說明',
PRIMARY KEY (`uuid`),
INDEX `idx_inbound_1`(`bill_number`)
) COMMENT = '商品入庫表';
- 明細表
CREATE TABLE `prod_inbound_detail` (
`uuid` varchar(38) NOT NULL COMMENT '唯一標識',
`goods_inbound_uuid` varchar(38) NOT NULL COMMENT '入庫單uuid',
`line_number` int(8) NOT NULL COMMENT '行號',
`goods_uuid` varchar(38) NOT NULL COMMENT '商品uuid',
`quantity` int(11) NOT NULL COMMENT '入庫數量',
`warehouse_qty` int(11) NOT NULL COMMENT '庫存數量',
PRIMARY KEY (`uuid`),
INDEX `idx_detail_1`(`goods_inbound_uuid`, `line_number`),
INDEX `idx_detail_2`(`goods_uuid`)
) COMMENT = '商品入庫明細表';