six-shop / shipping-template
运费模板
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Type:sixshop-extension
pkg:composer/six-shop/shipping-template
Requires
- php: >=8.3
- six-shop/core: >=0.6 <1.0
README
简介
运费模板扩展为 SixShop 商城系统提供灵活的运费计算功能,支持按件数、重量和体积三种计费方式。
数据库设计
1. shipping_templates 表(运费模板表)
字段名 | 类型 | 说明 |
---|---|---|
id | int(11) | 主键 |
name | varchar(100) | 模板名称 |
calc_method | varchar(20) | 计费方式: piece(按件), weight(按重量), volume(按体积) |
unit | varchar(10) | 单位: 件,g,kg,cm3,m3 |
status | tinyint(1) | 状态: 0(禁用), 1(启用) |
sort | int(11) | 排序 |
create_time | datetime | 创建时间 |
update_time | datetime | 更新时间 |
delete_time | datetime | 删除时间 |
2. shipping_template_rules 表(运费模板规则表)
字段名 | 类型 | 说明 |
---|---|---|
id | int(11) | 主键 |
template_id | int(11) | 运费模板ID |
first | decimal(10,3) | 首件/首重/首体积 |
first_price | decimal(10,2) | 首件/首重/首体积费用 |
next_price | decimal(10,2) | 续件/续重/续体积费用 |
area_type | varchar(20) | 区域类型: default(默认), special(特殊区域) |
regions | json | 地区信息(JSON格式,省级行政区划,包含地区编码和名称) |
create_time | datetime | 创建时间 |
update_time | datetime | 更新时间 |
3. 表关系
- 一个运费模板可以有多个规则(1:N)
- 每个模板必须有一个默认规则(area_type = 'default')
- 可选多个特殊区域规则(area_type = 'special')
地区层级说明
在运费模板中,地区信息限定为省级层级:
- 省级层级(唯一支持的层级)
- 适用于所有地区运费设置
- 管理简单,维护成本低
- 满足大多数业务场景需求
- 例如:北京市、上海市、广东省等
这种设计简化了系统复杂度,同时满足了核心业务需求。
数据库迁移
扩展包含以下迁移文件:
20251010100000_create_shipping_templates_table.php
- 创建运费模板表20251010100100_create_shipping_template_rules_table.php
- 创建运费模板规则表
数据结构示例
regions 字段 JSON 格式示例:
[
{
"code": "110000",
"name": "北京市"
},
{
"code": "120000",
"name": "天津市"
}
]