网点管理
背景
1、区域存在的网点信息
表结构
1. site_info 网点基本信息
CREATE TABLE `site_info` (
`site_id` bigint NOT NULL AUTO_INCREMENT COMMENT '网点ID',
`site_code` varchar(32) NOT NULL DEFAULT '' COMMENT '网点编码',
`site_name` varchar(64) NOT NULL DEFAULT '' COMMENT '网点名称',
`site_type` tinyint NOT NULL COMMENT '网点类型:1仓库,2站点',
`longitude_latitude` varchar(64) NOT NULL DEFAULT '' COMMENT '经纬度',
`site_zone` varchar(32) NOT NULL COMMENT '时区',
`owner_id` bigint NOT NULL DEFAULT '0' COMMENT '负责人',
`commuter_time` varchar(64) NOT NULL DEFAULT '' COMMENT '上班时间',
`secret_key` varchar(128) NOT NULL DEFAULT '' COMMENT 'OptimoRoute密钥',
`state` varchar(64) NOT NULL DEFAULT '' COMMENT '省州',
`city` varchar(64) NOT NULL DEFAULT '' COMMENT '城市',
`cut_off_time` time DEFAULT NULL COMMENT '截至时间',
`site_status` tinyint NOT NULL DEFAULT '0' COMMENT '是否禁用 1是 0否',
`dispatch_type` tinyint NOT NULL DEFAULT '0' COMMENT '取派类型 0全部 1 揽收 2派送',
`create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`site_level` tinyint NOT NULL DEFAULT '0' COMMENT '网点层级 0.总部 1.一级网点 2.二级网点 3.三级网点',
`parent_site_id` bigint DEFAULT NULL COMMENT '上级网点ID',
`applicable_region` varchar(64) DEFAULT NULL COMMENT '适用区域',
`country_id` int NOT NULL DEFAULT '0' COMMENT '国家Id',
`country_code` varchar(32) NOT NULL DEFAULT '' COMMENT '国家代码',
`site_longitude` decimal(10,6) DEFAULT NULL COMMENT '订单地理位置经度',
`site_latitude` decimal(10,6) DEFAULT NULL COMMENT '订单地理位置纬度',
`location_flag` tinyint NOT NULL DEFAULT '0' COMMENT '提取地理经纬度标识 0-未提取,1-已提取,2-提取异常',
PRIMARY KEY (`site_id`) USING BTREE,
KEY `idx_site_code` (`site_code`)
) ENGINE=InnoDB AUTO_INCREMENT=269 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='网点信息表';
2. site_info 按规范添加字段与索引
-- site_info
-- 第一步先添加字段,存在create_time
ALTER TABLE site_info
ADD COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
ADD COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结',
ADD COLUMN `create_user` bigint DEFAULT NULL COMMENT '创建人',
ADD COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人',
ADD COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';
-- 第二步历史数据初始化,存在create_user_id,create_time
update site_info set
create_user = create_user_id,
update_user = create_user_id,
update_time = create_time
where 1=1;
-- 第三步修改字段约束
ALTER TABLE site_info
MODIFY COLUMN `create_user` bigint NOT NULL COMMENT '创建人',
MODIFY COLUMN `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
-- 索引
ALTER TABLE site_info
ADD UNIQUE INDEX `uniq_site_code`(`site_code`),
ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);
-- create_user_id待弃用
ALTER TABLE site_info
MODIFY COLUMN `create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID(待弃用)';
3. site_info_ext 网点信息扩展
CREATE TABLE `site_info_ext` (
`site_id` bigint NOT NULL AUTO_INCREMENT COMMENT '网点ID',
`from_name` varchar(64) DEFAULT '' COMMENT '发件人',
`from_company` varchar(128) DEFAULT '' COMMENT '公司',
`from_phone` varchar(32) DEFAULT '' COMMENT '电话',
`from_address_line1` varchar(64) DEFAULT '' COMMENT '地址1',
`from_address_line_2` varchar(64) DEFAULT '' COMMENT '地址2',
`from_city` varchar(32) DEFAULT '' COMMENT '城市',
`from_state` varchar(32) DEFAULT '' COMMENT '州',
`from_postal_code` varchar(32) DEFAULT '' COMMENT '邮编',
`from_country_code` varchar(32) DEFAULT '' COMMENT '国家',
PRIMARY KEY (`site_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=269 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='站点扩展表(对接合作承运商发件信息)';
4. site_info_ext 按规范添加字段与索引
-- site_info_ext
-- 第一步先添加字段
ALTER TABLE site_info_ext
ADD COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
ADD COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结',
ADD COLUMN `create_user` bigint DEFAULT NULL COMMENT '创建人',
ADD COLUMN `create_time` datetime DEFAULT NULL COMMENT '创建时间',
ADD COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人',
ADD COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';
-- 第二步历史数据初始化
update site_info_ext set
create_user = 1,
create_time = now(),
update_user = 1,
update_time = now()
where 1=1;
-- 第三步修改字段约束
ALTER TABLE site_info_ext
MODIFY COLUMN `create_user` bigint NOT NULL COMMENT '创建人',
MODIFY COLUMN `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
MODIFY COLUMN `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
-- 索引
ALTER TABLE site_info_ext
ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);
5. site_log 网点操作日志
CREATE TABLE `site_log` (
`log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
`site_id` bigint NOT NULL DEFAULT '0' COMMENT '网点ID',
`user_id` bigint NOT NULL DEFAULT '0' COMMENT '操作用户ID/0系统/-1客户',
`log_add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
`log_note` text COMMENT '备注',
`log_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '操作IP',
PRIMARY KEY (`log_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2760 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='网点操作日志表';
6. site_log 按规范添加字段与索引
-- 网点日志 site_log
-- 第一步先添加字段
ALTER TABLE site_log
ADD COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
ADD COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结',
ADD COLUMN `create_user` bigint DEFAULT NULL COMMENT '创建人',
ADD COLUMN `create_time` datetime DEFAULT NULL COMMENT '创建时间',
ADD COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人',
ADD COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';
-- 第二步历史数据初始化,表原有存在user_id,log_add_time
update site_log set
create_user = user_id,
create_time = log_add_time,
update_user = user_id,
update_time = log_add_time
where 1=1;
-- 第三步修改字段约束
ALTER TABLE site_log
MODIFY COLUMN `create_user` bigint NOT NULL COMMENT '创建人',
MODIFY COLUMN `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
MODIFY COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人',
MODIFY COLUMN `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
-- 索引,没有唯一索引
ALTER TABLE site_log
ADD INDEX `idx_site_id` (`site_id`),
ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);
ALTER TABLE site_log
MODIFY COLUMN `user_id` int NOT NULL DEFAULT '0' COMMENT '操作用户ID/0系统/-1客户(待弃用)',
MODIFY COLUMN `log_add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间(待弃用)';
7. trunk_line_info 尾程派送网点(干线)
CREATE TABLE `trunk_line_info` (
`trunk_line_id` bigint NOT NULL AUTO_INCREMENT COMMENT '干线ID',
`trunk_line_code` varchar(32) NOT NULL DEFAULT '' COMMENT '干线编码',
`trunk_line_name` varchar(64) NOT NULL DEFAULT '' COMMENT '干线名称',
`start_site_id` bigint NOT NULL DEFAULT '0' COMMENT '开始网点ID',
`end_site_id` bigint NOT NULL DEFAULT '0' COMMENT '结束网点ID',
`distance` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '距离',
`driving_distance` decimal(24,6) NOT NULL DEFAULT '0.000000' COMMENT '车程',
`create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`trunk_line_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3653 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='干线信息表';
8. trunk_line_info 按规范添加字段与索引
-- 尾程派送网点(干线)
-- 第一步先添加字段,存在create_time
ALTER TABLE trunk_line_info
ADD COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
ADD COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结',
ADD COLUMN `create_user` bigint DEFAULT NULL COMMENT '创建人',
ADD COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人',
ADD COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';
-- 第二步历史数据初始化,存在create_user_id,create_time
update trunk_line_info set
create_user = create_user_id,
update_user = create_user_id,
update_time = create_time
where 1=1;
-- 第三步修改字段约束
ALTER TABLE trunk_line_info
MODIFY COLUMN `create_user` bigint NOT NULL COMMENT '创建人',
MODIFY COLUMN `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
-- 索引
ALTER TABLE trunk_line_info
ADD UNIQUE INDEX `uniq_ssid_esid`(`start_site_id`,`end_site_id`),
ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);
-- create_user_id待弃用
ALTER TABLE trunk_line_info
MODIFY COLUMN `create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID(待弃用)';
9. site_history_secret_key 网点历史密钥
CREATE TABLE `site_history_secret_key` (
`site_history_secret_key_id` bigint NOT NULL COMMENT '历史秘钥id',
`site_id` bigint NOT NULL COMMENT '网点ID',
`secret_key` varchar(128) NOT NULL COMMENT '秘钥',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结',
`create_user` bigint NOT NULL COMMENT '创建人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_user` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`site_history_secret_key_id`),
KEY `idx_site_id` (`site_id`),
KEY `idx_update_time` (`update_time`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='站点历史秘钥表';
功能流程图

作者:陆飞 创建时间:2026-01-13 17:16
最后编辑:高美燕 更新时间:2026-03-03 10:08
最后编辑:高美燕 更新时间:2026-03-03 10:08