美文网首页
MiniMall:销售微服务业务和数据结构

MiniMall:销售微服务业务和数据结构

作者: Anbang713 | 来源:发表于2020-05-08 07:59 被阅读0次

销售微服务主要是对商户销售数据和业务的管理,包括销售付款方式管理和销售数据录入单管理。

1. 销售付款方式

销售付款方式资料主要用于记录每笔销售使用的付款方式是什么,比如现金、银行卡等。

1.1 业务功能

(1)付款方式的属性很简单,主要包括代码和名称,其中代码全局唯一。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。已停用业务状态的付款方式可以重新被启用,已启用业务状态的项目可以被停用。

1.2 数据结构

CREATE TABLE `sales_paymenttype`  (
  `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_paytype_1`(`code`)
) COMMENT = '付款方式表';

2. 销售数据录入单

销售数据录入单顾名思义就是用于记录销售数据的,比如哪天哪个商品销售了几件,销售额是多少,付款方式是什么。

2.1 业务功能

(1)两种业务状态:未生效、已生效。未生效是指新建保存成功之后,还处于草稿状态,此时录入单可以被重复修改和删除。而已生效是指录入单真正生效,此时代表商品已经确认被销售,故需要从基础微服务的库存模块减去指定商品的库存数量。这里会涉及到分布式事务问题。

2.2 数据结构

  • 主表
CREATE TABLE `sales_input`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `bill_number` varchar(32) NOT NULL COMMENT '单号',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid',
  `tenant_uuid` varchar(38) NOT NULL COMMENT '商户uuid',
  `contract_uuid` varchar(38) NOT NULL COMMENT '合同uuid',
  `payment_type_uuid` varchar(38) NOT NULL COMMENT '付款方式uuid',
  `pay_total` numeric(19, 2) NOT NULL COMMENT '付款金额',
  `goods_uuids` varchar(4096) NOT NULL COMMENT '商品uuid集合',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_input_1`(`bill_number`),
  INDEX `idx_input_2`(`store_uuid`)
) COMMENT = '销售数据录入表';
  • 明细表
CREATE TABLE `sales_input_detail`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `input_uuid` varchar(38) NOT NULL COMMENT '主表uuid',
  `line_number` int(8) NOT NULL COMMENT '行号',
  `sales_date` date NOT NULL COMMENT '销售日期',
  `goods_uuid` varchar(38) NOT NULL COMMENT '商品uuid',
  `warehouse_qty` int(11) NOT NULL COMMENT '商品仓库库存',
  `warehouse` varchar(255) NOT NULL COMMENT '仓库',
  `quantity` int(11) NOT NULL COMMENT '本次销售数量',
  `total` numeric(19, 2) NOT NULL COMMENT '销售金额',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_inputdetail_1`(`input_uuid`)
) COMMENT = '销售明细表';

相关文章

网友评论

      本文标题:MiniMall:销售微服务业务和数据结构

      本文链接:https://www.haomeiwen.com/subject/lokxnhtx.html