今天我们的商城项目业务分析,具体和大家聊一下,商城项目需要哪些数据库表以及表的设计是怎么样的,在我们了解了商城的业务之后,下一步做的就是表的设计和规划,从商品管理到支付退款的表,我们做一个梳理。
首先我们把商城表的设计,分为三个维度,第一个是商品相关的表,第二个是订单相关的表,第三个是支付相关的表。
第一、商品相关的表。
1、商品分类表。
CREATE TABLE `goods_category` (
`id` varchar(32) NOT NULL COMMENT 'id',
`category_name` varchar(50) NOT NULL DEFAULT '' COMMENT '分类名称',
`short_name` varchar(50) DEFAULT '' COMMENT '简称',
`pid` varchar(32) NOT NULL DEFAULT '0' COMMENT '父id',
`has_child` varchar(2) DEFAULT NULL COMMENT '是否有下级',
`is_show` int(11) NOT NULL DEFAULT '0' COMMENT '是否显示',
`sort` int(11) DEFAULT '0' COMMENT '排序',
`image` varchar(255) NOT NULL DEFAULT '' COMMENT '分类图片',
`keywords` varchar(255) NOT NULL DEFAULT '' COMMENT '分类页面关键字',
`description` varchar(255) DEFAULT '' COMMENT '分类介绍',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`mall_ids` varchar(1000) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '项目Ids',
`is_global` int(1) DEFAULT '1' COMMENT '是否全局默认',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE,
KEY `pid_level` (`pid`,`has_child`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=' 商品分类';
2、商品spu表。
CREATE TABLE `goods` (
`id` varchar(32) NOT NULL COMMENT '商品id',
`store_id` varchar(32) DEFAULT NULL COMMENT '店铺',
`store_online_mall_type` int(1) DEFAULT NULL COMMENT '店铺自营类型',
`store_enabled_stock_manager` int(1) DEFAULT NULL COMMENT '店铺是否启用库存管理',
`goods_name` varchar(255) NOT NULL DEFAULT '' COMMENT '商品名称',
`goods_class` int(1) NOT NULL DEFAULT '1' COMMENT '商品种类1.实物商品 3.虚拟卡券',
`vouchert_type_id` varchar(32) DEFAULT NULL COMMENT '礼券类型id',
`goods_class_name` varchar(25) NOT NULL DEFAULT '' COMMENT '商品种类',
`goods_attr_class` varchar(32) NOT NULL DEFAULT '1' COMMENT '商品类型id',
`goods_attr_name` varchar(255) NOT NULL DEFAULT '' COMMENT '商品类型名称',
`goods_image` varchar(500) NOT NULL DEFAULT '' COMMENT '商品主图路径',
`goods_content` mediumtext COMMENT '商品详情',
`goods_state` int(1) NOT NULL DEFAULT '0' COMMENT '商品状态(0:待上架,1.销售中,2.已下架)',
`limit_level` int(1) NOT NULL COMMENT '限制会员等级 1 是 0 否',
`limit_level_ids` varchar(500) DEFAULT NULL COMMENT '会员专属等级',
`buy_mode` int(1) NOT NULL COMMENT '支付方式 1 现金 ,2积分 3 现金+积分',
`category_id` varchar(500) NOT NULL DEFAULT '' COMMENT '商品分类id,逗号隔开',
`category_json` varchar(500) NOT NULL DEFAULT '' COMMENT '分类json字符串',
`price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品价格(取第一个sku)',
`points` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '所需积分',
`market_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '市场价格(取第一个sku)',
`cost_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本价(取第一个sku)',
`goods_stock` int(11) NOT NULL DEFAULT '0' COMMENT '商品库存(总和)',
`goods_stock_alarm` int(11) NOT NULL DEFAULT '0' COMMENT '库存预警',
`virtual_indate` varchar(30) DEFAULT '1' COMMENT '虚拟商品有效期',
`shipping_type` varchar(10) NOT NULL DEFAULT '0' COMMENT '配送方式 1 到店自提 2 快递物流',
`is_free_shipping` int(1) NOT NULL DEFAULT '0' COMMENT '是否免邮',
`is_hot_sale` int(1) NOT NULL DEFAULT '0' COMMENT '是否热销',
`goods_spec_format` varchar(2000) NOT NULL DEFAULT '' COMMENT '商品规格格式',
`goods_attr_format` varchar(1000) NOT NULL DEFAULT '' COMMENT '商品属性格式',
`introduction` varchar(255) NOT NULL DEFAULT '' COMMENT '促销语',
`keywords` varchar(255) NOT NULL DEFAULT '' COMMENT '关键词',
`unit` varchar(255) NOT NULL DEFAULT '' COMMENT '单位',
`sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
`video_url` varchar(255) NOT NULL DEFAULT '' COMMENT '视频',
`sale_num` int(11) NOT NULL DEFAULT '0' COMMENT '销量',
`evaluate` int(11) NOT NULL DEFAULT '0' COMMENT '评价数',
`evaluate_shaitu` int(11) NOT NULL DEFAULT '0' COMMENT '评价晒图数',
`evaluate_shipin` int(11) NOT NULL DEFAULT '0' COMMENT '评价视频数',
`evaluate_zhuiping` int(11) NOT NULL DEFAULT '0' COMMENT '评价追评数',
`evaluate_haoping` int(11) NOT NULL DEFAULT '0' COMMENT '评价好评数',
`evaluate_zhongping` int(11) NOT NULL DEFAULT '0' COMMENT '评价中评数',
`evaluate_chaping` int(11) NOT NULL DEFAULT '0' COMMENT '评价差评数',
`supplier_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '供应商id',
`is_consume_discount` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否参与会员等级折扣',
`discount_config` tinyint(1) NOT NULL DEFAULT '0' COMMENT '优惠设置(0默认 1自定义)',
`discount_method` varchar(20) NOT NULL DEFAULT '' COMMENT '优惠方式(discount打折 manjian 满减 fixed_price 指定价格)',
`sku_id` varchar(32) NOT NULL DEFAULT '0' COMMENT 'sku_id',
`promotion_addon` varchar(255) NOT NULL DEFAULT '' COMMENT '当前参与的营销活动,逗号分隔(限时折扣、团购、拼团、秒杀、专题活动)',
`goods_service_ids` varchar(255) NOT NULL DEFAULT '' COMMENT '商品服务id',
`group_id` varchar(1000) NOT NULL DEFAULT '0' COMMENT '商品分组id',
`virtual_sale` int(11) NOT NULL DEFAULT '0' COMMENT '虚拟销量',
`max_buy` int(11) NOT NULL DEFAULT '0' COMMENT '限购',
`min_buy` int(11) NOT NULL DEFAULT '0' COMMENT '起购数',
`is_release` int(1) DEFAULT NULL COMMENT '是否发布',
`release_time` datetime DEFAULT NULL COMMENT '发布时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`views` bigint(20) DEFAULT '0' COMMENT '浏览量',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
`del_flag` varchar(1) DEFAULT '0' COMMENT '删除标志',
`version` int(8) DEFAULT '0',
`put_on_time` datetime DEFAULT NULL COMMENT '上架日期',
`goods_code` varchar(32) DEFAULT NULL COMMENT '商品编码',
`is_timing_put` int(1) DEFAULT NULL COMMENT '是否定时上架',
`timing_put_time` datetime DEFAULT NULL COMMENT '定时上架时间',
`is_timing_down` int(1) DEFAULT NULL COMMENT '是否定时下架',
`limit_buy_cycle` int(1) DEFAULT NULL COMMENT '限购周期(1.每日,2.每周,3.每月,4每年)',
`timing_down_time` datetime DEFAULT NULL COMMENT '定时下架时间',
`store_sort` int(11) DEFAULT NULL COMMENT '店内排序',
`olmall_sort` int(11) DEFAULT NULL COMMENT '商城排序',
`real_valid_period_type` int(1) DEFAULT NULL COMMENT '核销有效期类型(实物)',
`place_id` varchar(32) DEFAULT NULL COMMENT '自提地点',
`freight_pay_type` int(1) DEFAULT NULL COMMENT '运费支付方式',
`freight_pricing` decimal(10,2) DEFAULT NULL COMMENT '运费定价',
`freight_pricing_add` decimal(10,2) DEFAULT NULL COMMENT '每多一件加收X元',
`channel_type` int(1) DEFAULT NULL COMMENT '发布渠道 1.全部 2.仅线上 3.仅线下',
`once_max_buy` int(11) DEFAULT '0' COMMENT '单次最大购买',
`goods_preview_image` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品表';
3、商品sku表。
CREATE TABLE `goods_sku` (
`id` varchar(32) CHARACTER SET utf8mb4 NOT NULL COMMENT '商品sku_id',
`store_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '所属店铺id',
`goods_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '商品id',
`sku_name` varchar(255) NOT NULL DEFAULT '' COMMENT '商品sku名称',
`sku_no` varchar(255) NOT NULL DEFAULT '' COMMENT '商品sku编码',
`sku_spec_format` varchar(1000) NOT NULL DEFAULT '' COMMENT 'sku规格格式',
`price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'sku单价',
`points` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '所需积分',
`market_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'sku市场价',
`cost_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'sku成本价',
`discount_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'sku折扣价(默认等于单价)',
`promotion_type` int(1) NOT NULL DEFAULT '0' COMMENT '活动类型1.限时折扣',
`start_time` int(11) NOT NULL DEFAULT '0' COMMENT '活动开始时间',
`end_time` int(11) NOT NULL DEFAULT '0' COMMENT '活动结束时间',
`stock` int(11) NOT NULL DEFAULT '0' COMMENT '商品sku库存',
`weight` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '重量(单位g)',
`volume` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '体积(单位立方米)',
`click_num` int(11) NOT NULL DEFAULT '0' COMMENT '点击量',
`sale_num` int(11) NOT NULL DEFAULT '0' COMMENT '销量',
`collect_num` int(11) NOT NULL DEFAULT '0' COMMENT '收藏量',
`sku_image` varchar(255) NOT NULL DEFAULT '' COMMENT 'sku主图',
`sku_images` varchar(1000) NOT NULL DEFAULT '' COMMENT 'sku图片',
`goods_class` int(11) NOT NULL DEFAULT '1' COMMENT '商品种类1.实物商品2.虚拟商品3.卡券商品',
`goods_class_name` varchar(25) NOT NULL DEFAULT '' COMMENT '商品种类',
`goods_attr_class` int(11) NOT NULL DEFAULT '1' COMMENT '商品类型id',
`goods_attr_name` varchar(255) NOT NULL DEFAULT '' COMMENT '商品类型名称',
`goods_name` varchar(255) NOT NULL DEFAULT '' COMMENT '商品名称',
`goods_content` text COMMENT '商品详情',
`goods_state` int(1) NOT NULL DEFAULT '1' COMMENT '商品状态(1.正常0下架)',
`goods_stock_alarm` int(11) NOT NULL DEFAULT '0' COMMENT '库存预警',
`is_virtual` int(1) NOT NULL DEFAULT '0' COMMENT '是否虚拟类商品(0实物1.虚拟)',
`virtual_indate` int(11) NOT NULL DEFAULT '1' COMMENT '虚拟商品有效期',
`is_free_shipping` int(1) NOT NULL DEFAULT '0' COMMENT '是否免邮',
`goods_spec_format` varchar(2000) NOT NULL DEFAULT '' COMMENT '商品规格格式',
`goods_attr_format` varchar(1000) NOT NULL DEFAULT '' COMMENT '商品属性格式',
`introduction` varchar(255) NOT NULL DEFAULT '' COMMENT '促销语',
`keywords` varchar(255) NOT NULL DEFAULT '' COMMENT '关键词',
`unit` varchar(255) NOT NULL DEFAULT '' COMMENT '单位',
`sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
`video_url` varchar(255) NOT NULL DEFAULT '' COMMENT '视频',
`evaluate` int(11) NOT NULL DEFAULT '0' COMMENT '评价数',
`evaluate_shaitu` int(11) NOT NULL DEFAULT '0' COMMENT '晒图评价数',
`evaluate_shipin` int(11) NOT NULL DEFAULT '0' COMMENT '视频评价数',
`evaluate_zhuiping` int(11) NOT NULL DEFAULT '0' COMMENT '追评数',
`spec_name` varchar(255) NOT NULL DEFAULT '' COMMENT '规格名称',
`evaluate_haoping` int(11) NOT NULL DEFAULT '0' COMMENT '好评数',
`evaluate_zhongping` int(11) NOT NULL DEFAULT '0' COMMENT '中评数',
`evaluate_chaping` int(11) NOT NULL DEFAULT '0' COMMENT '差评数',
`supplier_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '供应商id',
`discount_config` int(1) NOT NULL DEFAULT '0' COMMENT '优惠设置(0默认 1自定义)',
`discount_method` varchar(20) NOT NULL DEFAULT '' COMMENT '优惠方式(discount打折 manjian 满减 fixed_price 指定价格)',
`member_price` varchar(255) NOT NULL DEFAULT '' COMMENT '会员价',
`goods_service_ids` varchar(255) NOT NULL DEFAULT '' COMMENT '商品服务id',
`virtual_sale` int(11) NOT NULL DEFAULT '0' COMMENT '虚拟销量',
`max_buy` int(11) NOT NULL DEFAULT '0' COMMENT '限购',
`min_buy` int(11) NOT NULL DEFAULT '0',
`del_flag` varchar(1) DEFAULT '0' COMMENT '删除标志',
`version` int(8) DEFAULT '0',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
`remarks` varchar(200) DEFAULT NULL COMMENT '备注',
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品sku表';
5、库存地点表。
CREATE TABLE `stock_place` (
`id` varchar(32) NOT NULL,
`mall_id` varchar(32) DEFAULT NULL COMMENT '项目',
`store_id` varchar(32) DEFAULT NULL COMMENT '店铺ID',
`status` int(11) DEFAULT NULL COMMENT '状态1启用 0禁用',
`place_code` varchar(50) DEFAULT NULL COMMENT '地点编号',
`place_name` varchar(50) DEFAULT NULL COMMENT '地点名称',
`remark` varchar(50) DEFAULT NULL COMMENT '备注',
`def_status` int(1) DEFAULT NULL COMMENT '是否默认',
`create_by` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户id',
`del_flag` varchar(1) DEFAULT '0' COMMENT '删除标志',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
6、库存表。
CREATE TABLE `stock_product` (
`id` varchar(32) NOT NULL COMMENT 'id',
`goods_id` varchar(32) DEFAULT NULL COMMENT '商品',
`sku_id` varchar(32) DEFAULT NULL COMMENT '商品SKU',
`sku_no` varchar(32) DEFAULT NULL COMMENT '商品SKU NO',
`place_id` varchar(50) DEFAULT NULL COMMENT '库存地点',
`quantity_total` int(8) DEFAULT NULL COMMENT '总库存',
`quantity_available` int(8) DEFAULT NULL COMMENT '可用库存',
`quantity_frozen` int(8) DEFAULT NULL COMMENT '冻结库存',
`cost_unit` decimal(10,2) DEFAULT NULL COMMENT '单价成本',
`cost_total` decimal(10,2) DEFAULT NULL COMMENT '总成本',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`status` int(10) DEFAULT NULL COMMENT '状态 1启用 0禁用',
`del_flag` varchar(1) DEFAULT '0' COMMENT '0表示未删除,1表示删除',
`sys_org_code` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='商品库存';
7、库存出入库单据表
CREATE TABLE `stock_in_out_receipt` (
`id` varchar(32) NOT NULL COMMENT 'id',
`receipt_no` varchar(50) DEFAULT NULL COMMENT '单据编号',
`mall_id` varchar(32) DEFAULT NULL COMMENT '项目',
`store_id` varchar(32) DEFAULT NULL COMMENT '店铺',
`place_id` varchar(32) DEFAULT NULL COMMENT '库存地点',
`stock_type` int(1) DEFAULT NULL COMMENT '入库类型(1 采购入库 2 自有入库 3 销售出库 4 货损出库)',
`status` int(1) DEFAULT NULL COMMENT '状态 0 草稿 1 审批中 2 拒绝 3 通过',
`audit_time` datetime DEFAULT NULL COMMENT '审批时间',
`audit_by` varchar(32) DEFAULT NULL COMMENT '审批人',
`origin_receipt_no` varchar(100) DEFAULT NULL COMMENT '原始单号',
`cost_total` decimal(10,2) DEFAULT NULL COMMENT '总成本',
`remark` varchar(50) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人(制单人)',
`create_time` datetime DEFAULT NULL COMMENT '创建时间(制单时间)',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`del_flag` varchar(1) DEFAULT '0' COMMENT '0表示未删除,1表示删除',
`sys_org_code` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户id',
`operation_time` datetime DEFAULT NULL COMMENT '操作时间',
`operator` varchar(32) DEFAULT NULL COMMENT '操作人',
`stock_date` datetime DEFAULT NULL COMMENT '出入库日期',
`submit_time` datetime DEFAULT NULL COMMENT '提交审核时间',
`submit_by` varchar(32) DEFAULT NULL COMMENT '提交审核人',
`audit_time_twice` datetime DEFAULT NULL COMMENT '复审时间',
`audit_by_twice` varchar(32) DEFAULT NULL COMMENT '复审人',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='入库单据';
8、库存出入库详情表
CREATE TABLE `stock_in_out_receipt_detail` (
`id` varchar(32) NOT NULL COMMENT 'id',
`receipt_no` varchar(50) DEFAULT NULL COMMENT '单据编号',
`receipt_id` varchar(32) DEFAULT NULL COMMENT '单据id',
`line` int(4) DEFAULT NULL COMMENT '行号',
`place_id` varchar(32) DEFAULT NULL COMMENT '库存地点',
`goods_id` varchar(32) DEFAULT NULL COMMENT '商品id',
`sku_id` varchar(32) DEFAULT NULL COMMENT 'SKU ID',
`cost_unit` decimal(10,2) DEFAULT NULL COMMENT '单价成本',
`quantity` int(8) DEFAULT NULL COMMENT '数量',
`cost_total` decimal(10,2) DEFAULT NULL COMMENT '总成本',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`sys_org_code` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户id',
`goods_code` varchar(32) DEFAULT NULL COMMENT '商品编码',
`sku_no` varchar(32) DEFAULT NULL COMMENT 'SKU编码',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='入库单据明细';
9、库存出入库日志表
CREATE TABLE `stock_log` (
`id` varchar(32) NOT NULL COMMENT 'id',
`stock_product_id` varchar(50) DEFAULT NULL COMMENT '单据编号',
`mall_id` varchar(32) DEFAULT NULL COMMENT '项目',
`place_id` varchar(32) DEFAULT NULL COMMENT '库存地点',
`goods_id` varchar(32) DEFAULT NULL COMMENT '商品id',
`sku_id` varchar(32) DEFAULT NULL COMMENT 'SKU ID',
`operation_type` int(1) DEFAULT NULL COMMENT '操作类型 1 入库,2 出库 3 销售 4 退货 5 冻结 6 解冻',
`operation_way` int(1) DEFAULT NULL COMMENT '途径 1 后台 2 商城 ',
`remark` varchar(50) DEFAULT NULL COMMENT '备注',
`cost_unit` decimal(10,2) DEFAULT NULL COMMENT '单价成本',
`quantity` int(8) DEFAULT NULL COMMENT '数量',
`cost_total` decimal(10,2) DEFAULT NULL COMMENT '总成本',
`quantity_after` int(8) DEFAULT NULL COMMENT '操作完库存数量',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`sys_org_code` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='库存日志';
第二、订单相关的表。
1、订单主表。这张表是在商城中的订单主表,其他表也是以这张表为中心,商城项目的业务分析——创建订单的业务,是围绕这张表来写的接口。
CREATE TABLE `order_info` (
`id` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
`order_no` varchar(50) NOT NULL DEFAULT '' COMMENT '订单编号',
`order_name` varchar(1000) NOT NULL DEFAULT '' COMMENT '订单内容',
`order_from` varchar(55) NOT NULL DEFAULT '' COMMENT '订单来源',
`order_from_name` varchar(50) NOT NULL DEFAULT '' COMMENT '订单来源名称',
`order_type` int(1) NOT NULL DEFAULT '0' COMMENT '订单类型 1. 普通订单 2. 门店订单 3. 本地配送订单4. 虚拟订单 5.秒杀订单6.拼团订单',
`order_type_name` varchar(50) NOT NULL DEFAULT '' COMMENT '订单类型名称',
`order_promotion_type` int(1) NOT NULL DEFAULT '0' COMMENT '订单营销类型',
`order_promotion_name` varchar(50) NOT NULL DEFAULT '' COMMENT '营销活动类型名称',
`mall_id` varchar(32) DEFAULT NULL COMMENT '项目id',
`store_id` varchar(32) NOT NULL COMMENT '店铺id',
`promotion_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '营销活动id',
`out_trade_no` varchar(64) NOT NULL DEFAULT '' COMMENT '支付流水号',
`out_trade_no_2` varchar(20) NOT NULL DEFAULT '' COMMENT '支付流水号(多次支付)',
`delivery_code` varchar(50) NOT NULL DEFAULT '' COMMENT '整体提货编码',
`order_status` int(1) NOT NULL DEFAULT '0' COMMENT '订单状态',
`order_status_name` varchar(50) NOT NULL DEFAULT '' COMMENT '订单状态名称',
`order_status_action` varchar(1000) NOT NULL DEFAULT '' COMMENT '订单操作',
`pay_status` int(1) NOT NULL DEFAULT '0' COMMENT '支付状态',
`delivery_status` int(1) NOT NULL DEFAULT '0' COMMENT '配送状态1待发货;2待提货;3已发货;4已提货',
`refund_status` int(1) NOT NULL DEFAULT '0' COMMENT '退款状态1退款中;2退款完成',
`pay_type` int(1) NOT NULL COMMENT '支付方式',
`pay_type_name` varchar(50) NOT NULL DEFAULT '' COMMENT '支付类型名称',
`delivery_type` int(1) NOT NULL DEFAULT '0' COMMENT '配送方式,1到店自提;2快递物流',
`delivery_type_name` varchar(50) NOT NULL DEFAULT '' COMMENT '配送方式名称',
`customer_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '会员',
`customer_level_id` varchar(32) DEFAULT NULL COMMENT '会员等级',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '购买人姓名',
`mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '购买人手机',
`telephone` varchar(20) NOT NULL DEFAULT '' COMMENT '购买人固定电话',
`area` varchar(200) NOT NULL DEFAULT '0' COMMENT '省市区',
`address` varchar(255) NOT NULL DEFAULT '' COMMENT '购买人地址',
`full_address` varchar(255) NOT NULL DEFAULT '' COMMENT '购买人详细地址',
`longitude` varchar(10) NOT NULL DEFAULT '' COMMENT '购买人地址经度',
`latitude` varchar(10) NOT NULL DEFAULT '' COMMENT '购买人地址纬度',
`buyer_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '购买人ip',
`buyer_ask_delivery_time` datetime DEFAULT NULL COMMENT '购买人要求配送时间',
`buyer_message` varchar(50) NOT NULL DEFAULT '' COMMENT '购买人留言信息',
`goods_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品总金额',
`delivery_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '配送费用',
`delivery_point` decimal(10,2) DEFAULT '0.00',
`promotion_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '订单优惠金额(满减)',
`voucher_ids` varchar(500) NOT NULL DEFAULT '0' COMMENT '优惠券id',
`voucher_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '优惠券金额',
`invoice_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '发票金额',
`order_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '订单合计金额',
`adjust_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '订单调整金额',
`balance_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '余额支付金额',
`pay_money` decimal(10,2) DEFAULT '0.00' COMMENT '抵扣之后应付金额',
`create_time` datetime(6) DEFAULT NULL COMMENT '创建时间',
`verify_time` datetime DEFAULT NULL COMMENT '提货时间',
`pay_time` datetime DEFAULT NULL COMMENT '订单支付时间',
`delivery_time` datetime DEFAULT NULL COMMENT '订单配送时间',
`sign_time` datetime DEFAULT NULL COMMENT '订单签收时间',
`finish_time` datetime DEFAULT NULL COMMENT '订单完成时间',
`close_time` datetime DEFAULT NULL COMMENT '订单关闭时间',
`expiry_time` datetime DEFAULT NULL COMMENT '订单超时时间',
`is_lock` int(11) NOT NULL DEFAULT '0' COMMENT '是否锁定订单(针对维权,锁定不可操作)',
`is_evaluate` int(11) NOT NULL DEFAULT '0' COMMENT '是否允许订单评价',
`is_delete` int(11) NOT NULL DEFAULT '0' COMMENT '是否删除(针对后台)',
`is_enable_refund` int(11) NOT NULL DEFAULT '0' COMMENT '是否允许退款',
`remark` varchar(255) NOT NULL DEFAULT '' COMMENT '卖家留言',
`goods_num` int(11) NOT NULL DEFAULT '0' COMMENT '商品件数',
`delivery_place_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '门店id',
`delivery_status_name` varchar(50) NOT NULL DEFAULT '' COMMENT '发货状态,待发货;待提货;已发货;已提货',
`is_settlement` int(1) NOT NULL DEFAULT '0' COMMENT '是否进行结算',
`store_settlement_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '门店结算id',
`delivery_place_name` varchar(255) NOT NULL DEFAULT '' COMMENT '门店名称',
`promotion_type` varchar(255) NOT NULL DEFAULT '' COMMENT '营销类型',
`promotion_type_name` varchar(255) NOT NULL DEFAULT '' COMMENT '营销类型名称',
`promotion_status_name` varchar(255) NOT NULL DEFAULT '' COMMENT '营销状态名称',
`delivery_store_info` varchar(255) NOT NULL DEFAULT '' COMMENT '门店信息(json)',
`virtual_code` varchar(255) NOT NULL DEFAULT '' COMMENT '虚拟商品码',
`evaluate_status` int(1) NOT NULL DEFAULT '0' COMMENT '评价状态,0:未评价,1:已评价,2:已追评',
`evaluate_status_name` varchar(20) NOT NULL DEFAULT '' COMMENT '评价状态名称,未评价,已评价,已追评',
`refund_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '订单退款金额',
`commission` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '总支出佣金',
`is_invoice` int(1) NOT NULL DEFAULT '0' COMMENT '是否需要发票 0 无发票 1 有发票',
`invoice_type` int(1) NOT NULL DEFAULT '1' COMMENT '发票类型 1 纸质发票 2 电子发票',
`invoice_title` varchar(255) NOT NULL DEFAULT '' COMMENT '发票抬头',
`taxpayer_number` varchar(255) NOT NULL DEFAULT '' COMMENT '纳税人识别号',
`invoice_rate` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '发票税率',
`invoice_content` varchar(255) NOT NULL DEFAULT '' COMMENT '发票内容',
`invoice_delivery_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '发票邮寄费用',
`invoice_full_address` varchar(255) NOT NULL DEFAULT '' COMMENT '发票邮寄地址',
`is_tax_invoice` int(11) NOT NULL DEFAULT '0' COMMENT '是否需要增值税专用发票',
`invoice_email` varchar(255) NOT NULL DEFAULT '' COMMENT '发票发送邮件',
`invoice_title_type` int(1) NOT NULL DEFAULT '0' COMMENT '发票抬头类型 1 个人 2 企业',
`is_fenxiao` int(1) NOT NULL DEFAULT '1' COMMENT '是否参与分销 0不参与 1参与',
`point_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '积分抵现金额',
`points` decimal(12,2) DEFAULT '0.00' COMMENT '抵扣积分',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
`description` varchar(255) DEFAULT NULL COMMENT '备注',
`express_company` int(1) unsigned zerofill DEFAULT NULL COMMENT '快递公司;',
`express_no` varchar(50) DEFAULT NULL COMMENT '快递单号',
`express_company_name` varchar(50) DEFAULT NULL COMMENT '快递公司名称',
`deduction_rule_id` varchar(32) DEFAULT NULL COMMENT '抵现规则ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='订单表';
2、订单详情表。
CREATE TABLE `order_goods` (
`id` varchar(32) NOT NULL,
`order_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '订单id',
`order_no` varchar(50) NOT NULL DEFAULT '' COMMENT '订单编号',
`store_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '店铺id',
`customer_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '购买会员id',
`goods_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '商品id',
`place_id` varchar(32) DEFAULT NULL COMMENT '库存地点id',
`sku_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '商品skuid',
`sku_name` varchar(255) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '商品名称',
`sku_image` varchar(255) DEFAULT '' COMMENT '商品图片',
`sku_no` varchar(32) NOT NULL DEFAULT '' COMMENT '商品编码',
`is_virtual` int(1) NOT NULL DEFAULT '0' COMMENT '是否是虚拟商品',
`goods_class` int(1) NOT NULL DEFAULT '0' COMMENT '商品种类(1.实物 2.虚拟3.卡券)',
`goods_class_name` varchar(50) DEFAULT '' COMMENT '商品类型名称',
`price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品卖价',
`points` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品卖价',
`cost_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本价',
`num` int(11) NOT NULL DEFAULT '0' COMMENT '购买数量',
`goods_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品总价',
`cost_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '成本总价',
`delivery_status` int(1) NOT NULL DEFAULT '0' COMMENT '配送状态',
`delivery_no` varchar(50) DEFAULT '' COMMENT '配送单号',
`gift_flag` int(1) NOT NULL DEFAULT '0' COMMENT '赠品标识',
`refund_no` varchar(20) DEFAULT '' COMMENT '退款编号(申请产生)',
`refund_status` int(1) DEFAULT '0' COMMENT '退款状态',
`refund_status_name` varchar(50) DEFAULT '' COMMENT '退款状态名称',
`refund_status_action` varchar(1000) DEFAULT '' COMMENT '退款操作',
`refund_type` int(1) NOT NULL DEFAULT '0' COMMENT '退款方式',
`refund_apply_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '退款申请金额',
`refund_reason` varchar(255) DEFAULT '' COMMENT '退款原因',
`refund_real_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '实际退款金额',
`refund_delivery_name` varchar(50) DEFAULT '' COMMENT '退款公司名称',
`refund_delivery_no` varchar(64) NOT NULL DEFAULT '' COMMENT '退款单号',
`refund_time` datetime(6) DEFAULT NULL COMMENT '实际退款时间',
`refund_refuse_reason` varchar(255) DEFAULT '' COMMENT '退款拒绝原因',
`refund_action_time` datetime(6) DEFAULT NULL COMMENT '退款时间',
`delivery_status_name` varchar(50) DEFAULT '' COMMENT '配送状态名称',
`real_goods_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '实际商品购买价',
`refund_remark` varchar(255) DEFAULT '' COMMENT '退款说明',
`refund_delivery_remark` varchar(255) DEFAULT '' COMMENT '买家退货说明',
`refund_address` varchar(255) DEFAULT '' COMMENT '退货地址',
`is_refund_stock` int(11) NOT NULL DEFAULT '0' COMMENT '是否返还库存',
`refund_money_type` int(11) NOT NULL DEFAULT '1' COMMENT '退款方式 1 原路退款 2线下退款',
`promotion_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '优惠金额',
`voucher_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '优惠券金额',
`adjust_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '调整金额',
`goods_name` varchar(400) DEFAULT '' COMMENT '商品名称',
`sku_spec_format` varchar(1000) DEFAULT '' COMMENT 'sku规格格式',
`is_fenxiao` int(1) NOT NULL DEFAULT '1',
`use_point` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '积分抵扣所用积分数',
`point_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '积分抵扣金额',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
`description` varchar(255) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='订单商品表';
3、订单日志表。
CREATE TABLE `order_log` (
`id` varchar(32) NOT NULL,
`store_id` varchar(32) NOT NULL COMMENT '店铺id',
`order_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '订单id',
`customer_id` varchar(32) DEFAULT NULL COMMENT '会员id',
`action` varchar(255) NOT NULL DEFAULT '' COMMENT '操作',
`nick_name` varchar(50) NOT NULL DEFAULT '' COMMENT '操作人',
`order_status` int(1) NOT NULL DEFAULT '0' COMMENT '订单状态',
`action_way` int(1) NOT NULL DEFAULT '0',
`order_status_name` varchar(255) NOT NULL DEFAULT '' COMMENT '订单状态名称',
`action_time` datetime(6) NOT NULL COMMENT '操作时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='订单操作表';
4、购物车表。
CREATE TABLE `goods_cart` (
`id` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
`customer_id` varchar(32) CHARACTER SET utf8mb4 NOT NULL DEFAULT '0' COMMENT '会员id',
`sku_id` varchar(32) CHARACTER SET utf8mb4 NOT NULL DEFAULT '0' COMMENT 'sku_id',
`num` int(11) NOT NULL DEFAULT '0' COMMENT '数量',
`create_by` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '租户id',
`goods_id` varchar(32) CHARACTER SET utf8mb4 NOT NULL COMMENT '商品主表id',
`delivery_type` int(1) DEFAULT NULL COMMENT '配送方式,0:自动发放 1到店自提;2快递物流',
`store_id` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '店铺id',
`sku_name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT 'sku名称',
`goods_name` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '商品名称',
`sku_image` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT 'sku图片',
`buy_mode` int(1) DEFAULT NULL COMMENT '付款方式',
`min_buy` int(2) DEFAULT NULL COMMENT '最小购买',
`max_buy` int(2) DEFAULT NULL COMMENT '最大购买',
`once_max_buy` int(2) DEFAULT NULL COMMENT '一次最多购买',
`points` decimal(10,2) DEFAULT NULL COMMENT '商品积分',
`price` decimal(10,2) DEFAULT NULL COMMENT '商品价格',
`goods_delivery_type` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '商品配送方式',
PRIMARY KEY (`id`) USING BTREE,
KEY `IDX_ns_goods_cart_member_id` (`customer_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=' 购物车';
第三、支付相关的表
1、支付流水表。
CREATE TABLE `pay` (
`id` varchar(32) NOT NULL COMMENT '主键',
`store_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '店铺id',
`order_id` varchar(32) NOT NULL COMMENT '订单id',
`out_trade_no` varchar(255) NOT NULL DEFAULT '' COMMENT '支付流水号',
`pay_type` varchar(255) NOT NULL DEFAULT '' COMMENT '支付方式',
`trade_no` varchar(255) NOT NULL DEFAULT '' COMMENT '交易单号',
`pay_no` varchar(255) NOT NULL DEFAULT '' COMMENT '支付账号',
`pay_body` varchar(1000) NOT NULL DEFAULT '' COMMENT '支付主体',
`pay_detail` varchar(1000) NOT NULL DEFAULT '' COMMENT '支付详情',
`pay_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '支付金额',
`pay_addon` varchar(255) NOT NULL DEFAULT '' COMMENT '支付插件',
`pay_voucher` varchar(255) NOT NULL DEFAULT '' COMMENT '支付票据',
`pay_status` int(1) NOT NULL DEFAULT '0' COMMENT '支付状态(0.待支付 1. 支付中 2. 已支付 -1已取消)',
`return_url` varchar(255) NOT NULL DEFAULT '' COMMENT '同步回调网址',
`event` varchar(255) NOT NULL DEFAULT '' COMMENT '支付成功后事件(事件,网址)',
`mch_info` varchar(1000) NOT NULL DEFAULT '' COMMENT '商户信息',
`pay_time` datetime(6) NOT NULL COMMENT '支付时间',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
`app_id` varchar(64) DEFAULT NULL COMMENT '支付appid',
`mall_id` varchar(32) DEFAULT NULL COMMENT '项目id',
`open_id` varchar(64) DEFAULT NULL COMMENT '会员OPEN_ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='支付记录';
2、退款流水表。
CREATE TABLE `pay_refund` (
`id` varchar(32) NOT NULL COMMENT '主键',
`store_id` varchar(32) NOT NULL DEFAULT '0' COMMENT '店铺id',
`refund_no` varchar(255) NOT NULL DEFAULT '' COMMENT '退款编号',
`out_trade_no` varchar(255) NOT NULL DEFAULT '' COMMENT '对应支付流水号',
`refund_detail` varchar(10000) NOT NULL DEFAULT '' COMMENT '退款详情',
`refund_type` int(1) NOT NULL COMMENT '退款类型',
`refund_fee` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '退款金额',
`refund_time` datetime(6) NOT NULL COMMENT '退款时间',
`total_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '实际支付金额',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '修改人',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门编码',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
`order_id` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '订单id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='退款记录';
以上列举了一个最基本的商城,需要具备的数据库表。现在是不考虑物流的情况,如果加上物流,还需要物流相关的表;也不考虑退款的审核,如果考虑的话,还有审核流程相关的表。因为商城项目中,我们需要考虑数据库表设计很多,从业务层面,先列举这些。
商城项目的业务,最首先的是分析业务,然后就是进行数据库表设计,这里的数据库表设计是一个简单的参考,并不适用于所有的商城项目的业务场景。
今天我们的商城项目业务分析,具体和大家聊一下,商城项目需要哪些数据库表以及表的设计是怎么样的,在我们了解了商城的业务之后,下一步做的就是表的设计和规划,从商品管理到支付退款的表,我们做一个梳理。
今天我们来探讨一下商城项目当中秒杀的场景,秒杀场景可以说是商城项目当中最难的场景,也是最重要的场景,今天我们对秒杀业务的基本业务做一下梳理,并简单讲解秒杀的代码实现和需要注意的各方面问题。
今天我们来探讨一下商城项目当中购物车的场景,分析一下商城中购物车场景的业务实现以及要注意的问题。首先想聊一下部分开发同学对购物车业务的一个普遍的误区。部分没有开发过购物车业务的小伙伴会认为,购物车业务有什么好分析的,不就是简单的增删改查吗?一旦听到这样的回答,往往几乎可以断定,这位是没有实际开发过购物车业务,下面,我们来分析一下,购物车有哪些业务,我们需要注意些什么。(因为商品购物车关联的就是商城的订单创建,具体可以查看 商城项目的业务分析创建订单这篇文章。
今天尹白和大家一起分析商城项目中的创建订单的业务.通过这次对商城服务的核心业务中的创建订单的分析和解刨,对商城的订单有一个全面的认识。在商城业务当中,创建订单的接口,可以说是整个商城的业务当中最重要的接口。通过创建订单,真正建立了一个商品与用户的联系。
今天我们分析一下,商城项目的业务中,必不可少的支付环节,现在主流的微信支付,几乎是每一个商城项目都必备的支付方式,我们来分析一下微信支付的业务。项目中的支付,一般都会独立成一个模块,很多时候会独立成一个服务。因为调用支付的业务线一般都有好几条,比如商城下单后支付订单,比如商城购买高级会员或者续费,比如saas服务中购买某个插件或者某些功能等等。这些业务都会用到支付,没必要把支付放到商城模块下,更好的做法是把支付抽离出来,和各个模块形成松耦合。
今天我们聊一聊商城项目的业务中关于缓存的使用。在前面的内容中,我们已经介绍过商城业务中的核心接口,创建订单,https://www.inbai.net/article/141.html,在这篇文章里,我们详细介绍了创建订单的流程,不过我们更多的讨论的是业务分析,而没有深入去研究创建订单的性能。那么,今天我们就关于商城项目的性能方面,展开我们的话题,也就是在合适的地方使用上合适的缓存机制。