【仓储管理系统需求分析(四)】

1. 简介

继续仓储管理系统的需求分析。这里主要分享商品模块的需求分析。

2. 商品

仓库管理系统中的商品信息和商城中的商品信息的数据结构基本类似。我在这里主要分为了这几个部分,商品类目,商品,商品规格配置,规格商品(SKU商品)。
在仓储管理系统中商品的来源主要分为三个部分。自有商城,抖音店铺和淘宝店铺。
其中需要注意的点在于商品的规格配置。
比如外套这个类目的商品,其中的不同的规格有颜色,尺码,款式等等。在最初的设计时,是把这几种的属性固定住,写死在配置中,后来经过同事的指点。这种属性的配置时灵活的,不能直接配置在配置表中,不然在后面的使用过程中就需要不停的手动的修改配置表。所以经过修改之后,就变成了可以动态的配置。系统提供几个通用的配置,然后用户在需要的时候可以自己手动的配置自己的商品的规格属性。规格配置也就区分为两种,一种公有的,一种是私有的。
当然商品规格的配置,网上还有许多其他方式。但是也参考了不少网上的资料,感兴趣的读者可以自己去搜索一下,这里只是选择了一种适合自己的。
表结构的设计如下:

  1. 商品类目表
CREATE TABLE `tbl_category` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(32) DEFAULT NULL COMMENT '类目名称',
  `pid` bigint(20) DEFAULT NULL COMMENT '父类目id',
  `icon_url` varchar(255) DEFAULT NULL COMMENT '类目图标',
  `pic_url` varchar(255) DEFAULT NULL COMMENT '类目图片',
  `level` varchar(32) DEFAULT NULL COMMENT '等级',
  `sort_order` int(11) DEFAULT NULL COMMENT '排序',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='商品类目表';
  1. 商品表
CREATE TABLE `tbl_product_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `product_code` varchar(32) NOT NULL COMMENT '商品编码',
  `category_id` bigint(20) DEFAULT NULL COMMENT '商品所属类目id',
  `pic_url` varchar(255) DEFAULT NULL COMMENT '商品图片',
  `product_name` varchar(255) NOT NULL COMMENT '商品名称',
  `unit` varchar(32) DEFAULT NULL COMMENT '商品单位',
  `source` tinyint(3) NOT NULL COMMENT '来源(0我时我客,1vogueneed)',
  `status` tinyint(3) NOT NULL COMMENT '0 正常, 1 禁用, 2 注销',
  `created_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `user_id` bigint(20) NOT NULL COMMENT '用户id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='商品表';
  1. 规格配置表
CREATE TABLE `tbl_product_specification_configuration` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(20) NOT NULL COMMENT '规格名称',
  `value` varchar(20) NOT NULL COMMENT '规格值',
  `is_public` tinyint(2) DEFAULT NULL COMMENT '是否公有(0是 1否)',
  `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='规格配置表';
  1. 商品规格表
CREATE TABLE `tbl_product_specification` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `product_id` bigint(20) NOT NULL COMMENT '产品id',
  `code` varchar(64) NOT NULL COMMENT '规格编码',
  `product_specification_name` varchar(64) DEFAULT NULL COMMENT '规格商品名称',
  `specification_id` varchar(32) DEFAULT NULL COMMENT '规格id,多个规格用逗号分割',
  `ean` varchar(13) DEFAULT NULL COMMENT 'EAN(European Article Number) 码是国际物品编码协会(INTERNATIONAL ARTICLE NUMBERING ASSOCIATION)制定的一种商品用条码,通用于全世界',
  `pic_url` varchar(255) DEFAULT NULL COMMENT '图片',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '状态',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `paid_inventory_cost` decimal(10,2) DEFAULT NULL COMMENT '已缴库存费',
  `surplus_inventory_cost` decimal(10,2) DEFAULT NULL COMMENT '剩余库存费',
  `predict_surplus_days` int(9) DEFAULT NULL COMMENT '预计可存天数',
  `user_id` bigint(20) NOT NULL COMMENT '用户id',
  `stock_count` int(9) DEFAULT NULL COMMENT '商品库存数量',
  `out_stock_count` int(9) DEFAULT NULL COMMENT '已出库数量',
  `in_stock_count` int(9) DEFAULT NULL COMMENT '已入库库数量',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='商品规格表';
  1. 商品规格库存日志表
CREATE TABLE `tbl_product_specification_stock_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `product_specification_id` bigint(20) DEFAULT NULL COMMENT '规格商品id',
  `ip` varchar(32) DEFAULT NULL COMMENT 'IP地址',
  `path` varchar(32) DEFAULT NULL COMMENT '路径',
  `params` varchar(255) DEFAULT NULL COMMENT '参数',
  `operate_time` datetime DEFAULT NULL COMMENT '操作时间',
  `operate_by` bigint(20) DEFAULT NULL COMMENT '操作人员',
  `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品规格库存日志表';
  1. 定仓费用使用明细
    定仓费用使用明细表放在这里主要是因为仓储管理系统的费用是按照用户的每天的商品数量来继续收费的。也就是根据商品规格表中商品库存来收费的。
CREATE TABLE `tbl_book_ware_house_cost_used_detail` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `date` date DEFAULT NULL COMMENT '日期',
  `product_code` varchar(32) DEFAULT NULL COMMENT '商品编码(商品SKU)',
  `receivable_product_count` int(11) DEFAULT NULL COMMENT '应收商品数量',
  `price` decimal(10,2) DEFAULT NULL COMMENT '单价',
  `receivable_total_price` decimal(10,2) DEFAULT NULL COMMENT '应收总费用',
  `real_income_cost` decimal(10,2) DEFAULT NULL COMMENT '实收总费用',
  `surplus_cost` decimal(10,2) DEFAULT NULL COMMENT '剩余总费用',
  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
  `user_id` bigint(20) NOT NULL COMMENT '用户id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='定仓费用使用明细';
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值