shipping-template repository

runphp 83b027ba66 feat(shipping-template): 添加运费模板删除功能 5 сар өмнө
database 7381d0e1d8 feat(shipping-template): 实现运费模板管理功能 5 сар өмнө
route 7381d0e1d8 feat(shipping-template): 实现运费模板管理功能 5 сар өмнө
src 83b027ba66 feat(shipping-template): 添加运费模板删除功能 5 сар өмнө
.gitignore 8518715ba3 feat(shipping-template): 初始化运费模板插件基础结构 5 сар өмнө
README.md fc0ec06fbf feat(shipping-template): 初始化运费模板功能模块 5 сар өмнө
composer.json fc0ec06fbf feat(shipping-template): 初始化运费模板功能模块 5 сар өмнө
config.php 8518715ba3 feat(shipping-template): 初始化运费模板插件基础结构 5 сар өмнө
info.php 6f000e1447 feat(composer): 添加 shipping-template 依赖包 5 сар өмнө

README.md

运费模板扩展

简介

运费模板扩展为 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')

地区层级说明

在运费模板中,地区信息限定为省级层级:

  1. 省级层级(唯一支持的层级)
    • 适用于所有地区运费设置
    • 管理简单,维护成本低
    • 满足大多数业务场景需求
    • 例如:北京市、上海市、广东省等

这种设计简化了系统复杂度,同时满足了核心业务需求。

数据库迁移

扩展包含以下迁移文件:

  1. 20251010100000_create_shipping_templates_table.php - 创建运费模板表
  2. 20251010100100_create_shipping_template_rules_table.php - 创建运费模板规则表

数据结构示例

regions 字段 JSON 格式示例:

[
  {
    "code": "110000",
    "name": "北京市"
  },
  {
    "code": "120000",
    "name": "天津市"
  }
]