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

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

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 = '销售明细表';
——End——
更多精彩分享,可扫码关注微信公众号哦。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值