承运商邮编管理

背景

1、承运商可以派送到达地址邮编

表结构

1. carrier_postal_code 承运商派送邮编

CREATE TABLE `carrier_postal_code` (
  `cpc_id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
  `carrier_id` bigint NOT NULL DEFAULT '0' COMMENT '承运商ID',
  `start_code` varchar(50) NOT NULL COMMENT '开始邮编',
  `end_code` varchar(50) NOT NULL COMMENT '结束邮编',
  `create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`cpc_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=32931 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='承运商派送邮编表';

2. carrier_postal_code 按规范添加字段与索引

-- carrier_postal_code
-- 第一步先添加字段,存在create_time
ALTER TABLE carrier_postal_code
     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 carrier_postal_code set
                               create_user = create_user_id,
                               update_user = create_user_id,
                               update_time = create_time
where 1=1;

-- 第三步修改字段约束
ALTER TABLE carrier_postal_code
    MODIFY  COLUMN   `create_user` bigint NOT NULL   COMMENT '创建人',
    MODIFY  COLUMN   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';

-- 索引
-- 需要处理数据后再添加唯一索引,目前carrier_id,start_code,end_code 存在重复数据
-- DELETE t1 from carrier_postal_code t1
-- INNER JOIN (
-- SELECT cpc_id from carrier_postal_code GROUP BY `carrier_id`,`start_code`,`end_code` HAVING COUNT(*)>1
-- ) t2 on t1.cpc_id = t2.cpc_id;

ALTER TABLE carrier_postal_code
    ADD UNIQUE INDEX `uniq_cid_scode_ecode`(`carrier_id`,`start_code`,`end_code`);
ALTER TABLE carrier_postal_code
    ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);

-- create_user_id待弃用
ALTER TABLE carrier_postal_code
    MODIFY  COLUMN   `create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID(待弃用)';

功能点流程图

添加入口在承运商管理导入邮编

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