在线商城,运费模板数据库表设计

本文介绍了一种基于淘宝平台的运费模板设计方案,通过四个核心表——运费模板主表、包邮条件表、运费模板地区信息表及运送方式表,构建了灵活且详细的运费计算体系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参照淘宝的主要功能,主要设计成4个表,表之间的关系为

运费模板主表:包邮条件表 = 1:n
运费模板主表:运送方式表 = 1:n

运送方式表:运费模板地区信息表 = 1:n
包邮条件表:运费模板地区信息表 = 1:n

当运费模板主表的是否指定条件包邮 = 是的时候,包邮条件表起作用

1、运费模板主表

CREATE TABLE `supplier_template`  (
  `template_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主表主键ID',
  `template_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模板名称',
  `province` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宝贝地址 省份',
  `city` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宝贝地址 市',
  `region` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宝贝地址 区',
  `ship_time` int(11) NULL DEFAULT 24 COMMENT '发货时间 小时数',
  `free_post` tinyint(1) NULL DEFAULT 1 COMMENT '是否包邮 0:不包邮 1:包邮',
  `pricing_manner` tinyint(1) NULL DEFAULT 1 COMMENT '计价方式 1:按件数 2:按重量 3:按体积',
  `is_free_post_condition` tinyint(1) NULL DEFAULT 0 COMMENT '是否指定条件包邮 0:否 1:是',
  `is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除 0:使用中 1:已删除',
  `create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建者',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`template_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '运费模板主表' ROW_FORMAT = Compact;

2、包邮条件表

CREATE TABLE `supplier_template_freepost`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '包邮条件表主键',
  `fareid` bigint(20) NULL DEFAULT NULL COMMENT '关联邮费模板表[template]主键',
  `pieceno` int(11) NULL DEFAULT NULL COMMENT '包邮件数',
  `weightno` decimal(18, 2) NULL DEFAULT NULL COMMENT '包邮重量',
  `bulkno` decimal(18, 2) NULL DEFAULT NULL COMMENT '包邮体积',
  `amount` int(11) NULL DEFAULT NULL COMMENT '包邮金额',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '包邮条件表' ROW_FORMAT = Compact;

3、运费模板地区信息表*(type为运费地区时,table_id中存储的是运送方式表的id。type为包邮地区时,table_id中存储的是包邮条件表表的id)*

CREATE TABLE `supplier_template_region`  (
  `id` bigint(20) NOT NULL DEFAULT 1 COMMENT '运费模板地区信息表',
  `type` tinyint(1) NULL DEFAULT NULL COMMENT '类别 1:运费地区 2:包邮地区',
  `table_id` bigint(20) NULL DEFAULT NULL COMMENT '关联表主键ID',
  `province` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宝贝地址 省份',
  `city` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宝贝地址 市',
  `region` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宝贝地址 区',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '运费模板地区信息表' ROW_FORMAT = Compact;

4、运送方式表

CREATE TABLE `supplier_template_ship`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '运送方式表主键',
  `fareid` bigint(20) NULL DEFAULT NULL COMMENT '关联邮费模板表[template]主键',
  `first_piece` int(11) NULL DEFAULT NULL COMMENT '首件数量',
  `first_weight` decimal(18, 2) NULL DEFAULT NULL COMMENT '首重重量 KG',
  `first_bulk` decimal(18, 2) NULL DEFAULT NULL COMMENT '首体积 立方米',
  `first_amount` int(11) NULL DEFAULT NULL COMMENT '首费',
  `second_piece` int(11) NULL DEFAULT NULL COMMENT '续件',
  `second_weight` decimal(18, 2) NULL DEFAULT NULL COMMENT '续重 KG',
  `second_bulk` decimal(18, 2) NULL DEFAULT NULL COMMENT '续体积 立方米',
  `second_amount` int(11) NULL DEFAULT NULL COMMENT '续费',
  `carry_way` tinyint(1) NULL DEFAULT 0 COMMENT '运送方式 0:快递 1:EMS 2:平邮',
  `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认 0:否 1:是',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '运送方式表' ROW_FORMAT = Compact;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值