当前位置: 首页 > news >正文

升鲜宝生鲜配送供应链管理系统——云商品库功能设计(一)

import zipfile
import os# 1. Original Schema Content (Extracted from source)
original_sql_content = """
/*升鲜宝 - 云商品库(原版提取)对应表前缀: platform_
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- 1. 平台商品品牌表
-- ----------------------------
DROP TABLE IF EXISTS `platform_brand`;
CREATE TABLE `platform_brand` (`id` bigint NOT NULL COMMENT '主键id',`brand_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '品牌名称',`brand_url` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '品牌logo',`brand_index` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '品牌首字母',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`use_count` int DEFAULT '0' COMMENT '引用次数',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品品牌表';-- ----------------------------
-- 2. 平台商品类别表
-- ----------------------------
DROP TABLE IF EXISTS `platform_category`;
CREATE TABLE `platform_category` (`id` bigint NOT NULL COMMENT '主键id',`pid` bigint DEFAULT '0' COMMENT '父id',`level` int DEFAULT NULL COMMENT '分类级别:1->1级;2->2级',`category_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型编码',`category_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型名称',`category_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '类别图像',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`use_count` int DEFAULT '0' COMMENT '引用次数',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品类别表';-- ----------------------------
-- 3. 平台商品表 (核心主档)
-- ----------------------------
DROP TABLE IF EXISTS `platform_material`;
CREATE TABLE `platform_material` (`id` bigint NOT NULL COMMENT '主键id',`material_code` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品编码',`material_name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品名称',`category_id` bigint DEFAULT NULL COMMENT '商品类型id',`brand_id` bigint DEFAULT NULL COMMENT '商品品牌id',`unit_id` bigint DEFAULT NULL COMMENT '最小单位id',`material_property` int DEFAULT NULL COMMENT '商品性质  0=非标品  1=标品',`gb_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '国标码',`material_description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '中文描述',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`use_count` int DEFAULT '0' COMMENT '引用次数',`shelf_status` int DEFAULT '0' COMMENT '上架状态 0=未上架 1=已上架',`synchronous` tinyint DEFAULT '0' COMMENT '是否已同步 0=未同步 1=已同步',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品表';-- ----------------------------
-- 4. 已导入的云商品表 (租户关系)
-- ----------------------------
DROP TABLE IF EXISTS `platform_material_goods`;
CREATE TABLE `platform_material_goods` (`id` bigint NOT NULL COMMENT '主键id',`material_id` bigint NOT NULL DEFAULT '0' COMMENT '已导入的云商品id',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='已导入的云商品表';-- ----------------------------
-- 5. 平台商品素材表
-- ----------------------------
DROP TABLE IF EXISTS `platform_media`;
CREATE TABLE `platform_media` (`id` bigint NOT NULL COMMENT '主键id',`media_group_id` bigint DEFAULT NULL COMMENT '素材组id',`media_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '素材名称',`media_type` int DEFAULT '0' COMMENT '素材类型 0=图片,1=视频,2=文件',`media_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '素材图片地址',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`use_count` int DEFAULT '0' COMMENT '引用次数',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品素材表';-- ----------------------------
-- 6. 平台商品素材组表
-- ----------------------------
DROP TABLE IF EXISTS `platform_media_group`;
CREATE TABLE `platform_media_group` (`id` bigint NOT NULL COMMENT '主键id',`media_group_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '素材组名称',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`use_count` int DEFAULT '0' COMMENT '引用次数',`category_id` bigint DEFAULT NULL COMMENT '商品分类',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品素材组表';-- ----------------------------
-- 7. 平台商品素材映射表
-- ----------------------------
DROP TABLE IF EXISTS `platform_media_mapping`;
CREATE TABLE `platform_media_mapping` (`id` bigint NOT NULL COMMENT '主键id',`media_id` bigint DEFAULT NULL COMMENT '媒体id=platform_media.id',`material_id` bigint DEFAULT NULL COMMENT '商品id=platform_material.id',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`major` tinyint(1) DEFAULT '0' COMMENT '是否为主媒体 0=否, 1=是',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品素材映射表';-- ----------------------------
-- 8. 平台商品单位表
-- ----------------------------
DROP TABLE IF EXISTS `platform_unit`;
CREATE TABLE `platform_unit` (`id` bigint NOT NULL COMMENT '主键id',`unit_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单位名称',`unit_type` int DEFAULT NULL COMMENT '单位类型(0=计件,1=计重)',`enabled` int NOT NULL DEFAULT '1' COMMENT '1 启用 0 禁用  默认1',`del_flag` int NOT NULL DEFAULT '0' COMMENT '1:删除 0:正常',`sort_code` int NOT NULL DEFAULT '1' COMMENT '排序码',`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建人id',`create_date` bigint DEFAULT NULL COMMENT '创建时间',`updater` bigint NOT NULL DEFAULT '0' COMMENT '修改人id',`update_date` bigint DEFAULT NULL COMMENT '修改时间',`remark` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',`use_count` int DEFAULT '0' COMMENT '引用次数',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='平台商品单位表';SET FOREIGN_KEY_CHECKS = 1;
"""# 2. Optimized Schema Content (Architect Design)
optimized_sql_content = """
/*升鲜宝 - 云商品库(架构师优化版)对应表前缀: std_ (Standard)设计目标: 支持一品多码、行业模版一键初始化、租户订阅同步
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- 1. 标准商品主表 (SPU Core)
-- ----------------------------
DROP TABLE IF EXISTS `std_product_spu`;
CREATE TABLE `std_product_spu` (`id` bigint NOT NULL COMMENT '主键',`spu_code` varchar(64) NOT NULL COMMENT '云端唯一编码(系统自动生成)',`gb_code` varchar(64) DEFAULT NULL COMMENT '国家标准分类码(国标)',`category_id` bigint NOT NULL COMMENT '标准分类ID',`brand_id` bigint DEFAULT 0 COMMENT '标准品牌ID',`product_name` varchar(200) NOT NULL COMMENT '标准名称(如: 可口可乐)',`product_alias` varchar(500) DEFAULT NULL COMMENT '别名/搜索词(如: 可乐, 快乐水, CocaCola)',`product_type` tinyint DEFAULT 1 COMMENT '类型: 1=标品(有条码), 2=非标品(生鲜/称重)',`std_unit_id` bigint NOT NULL COMMENT '基础计量单位ID(最小单位)',`spec_desc` varchar(100) DEFAULT NULL COMMENT '规格描述(如: 330ml)',`shelf_life_days` int DEFAULT 0 COMMENT '保质期(天)',`storage_condition` tinyint DEFAULT 1 COMMENT '存储条件: 1=常温, 2=冷藏, 3=冷冻',`main_image` varchar(500) DEFAULT NULL COMMENT '官方主图URL',`status` tinyint DEFAULT 1 COMMENT '1=启用, 0=禁用',`source_origin` varchar(50) DEFAULT 'SYSTEM' COMMENT '来源: SYSTEM=官方, CROWD=众包',`created_time` datetime DEFAULT CURRENT_TIMESTAMP,`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `uk_spu_code` (`spu_code`),KEY `idx_name` (`product_name`)
) COMMENT='云端标准商品主表(SPU)';-- ----------------------------
-- 2. 标准条码库 (核心: 0秒建档)
-- ----------------------------
DROP TABLE IF EXISTS `std_product_barcode`;
CREATE TABLE `std_product_barcode` (`id` bigint NOT NULL COMMENT '主键',`spu_id` bigint NOT NULL COMMENT '关联标准SPU',`barcode` varchar(64) NOT NULL COMMENT 'GTIN/EAN-13条形码',`unit_id` bigint NOT NULL COMMENT '条码对应的单位ID',`pack_qty` decimal(10,2) DEFAULT 1.00 COMMENT '包装内的基础单位数量(如: 箱码对应的数量是24)',`is_primary` tinyint DEFAULT 0 COMMENT '是否为主条码',PRIMARY KEY (`id`),UNIQUE KEY `uk_barcode` (`barcode`),KEY `idx_spu` (`spu_id`)
) COMMENT='云端标准条码库(一品多码)';-- ----------------------------
-- 3. 标准单位换算库
-- ----------------------------
DROP TABLE IF EXISTS `std_product_unit_convert`;
CREATE TABLE `std_product_unit_convert` (`id` bigint NOT NULL,`spu_id` bigint NOT NULL,`unit_id_from` bigint NOT NULL COMMENT '源单位(如: 箱)',`unit_id_to` bigint NOT NULL COMMENT '目标单位(如: 瓶)',`conversion_rate` decimal(12,4) NOT NULL COMMENT '换算率(如: 24)',`is_standard` tinyint DEFAULT 1 COMMENT '是否行业标准换算',PRIMARY KEY (`id`),KEY `idx_spu` (`spu_id`)
) COMMENT='云端多单位换算规则库';-- ----------------------------
-- 4. 行业/场景模版表 (核心: 裂变赋能)
-- ----------------------------
DROP TABLE IF EXISTS `std_industry_template`;
CREATE TABLE `std_industry_template` (`id` bigint NOT NULL,`template_name` varchar(100) NOT NULL COMMENT '模版名称(如: 川菜火锅店, 商务酒店, 企业食堂)',`industry_type` varchar(50) COMMENT '行业类型',`cover_image` varchar(500) COMMENT '封面图',`sku_count` int DEFAULT 0 COMMENT '包含商品数',`download_count` int DEFAULT 0 COMMENT '引用次数',`created_time` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) COMMENT='行业初始化商品模版';DROP TABLE IF EXISTS `std_industry_template_item`;
CREATE TABLE `std_industry_template_item` (`id` bigint NOT NULL,`template_id` bigint NOT NULL COMMENT '关联模版ID',`spu_id` bigint NOT NULL COMMENT '关联商品SPU',`recommend_price` decimal(10,2) COMMENT '建议零售价',`recommend_stock_min` int COMMENT '建议最低库存',PRIMARY KEY (`id`),KEY `idx_tpl` (`template_id`)
) COMMENT='行业模版商品明细';-- ----------------------------
-- 5. 租户订阅关系表 (核心: 数据同步)
-- ----------------------------
DROP TABLE IF EXISTS `std_product_subscription`;
CREATE TABLE `std_product_subscription` (`id` bigint NOT NULL,`tenant_id` bigint NOT NULL COMMENT '租户ID(ShopID或CompanyID)',`spu_id` bigint NOT NULL COMMENT '云端SPU ID',`local_goods_id` bigint NOT NULL COMMENT '租户本地商品ID',`sync_strategy` tinyint DEFAULT 1 COMMENT '同步策略: 1=完全跟随, 2=仅同步图片, 3=不更新',`last_sync_time` bigint COMMENT '最后同步时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_spu` (`tenant_id`, `spu_id`)
) COMMENT='租户商品订阅/引用关系表';-- ----------------------------
-- 6. 众包审核暂存表 (核心: 库的自动生长)
-- ----------------------------
DROP TABLE IF EXISTS `std_product_audit`;
CREATE TABLE `std_product_audit` (`id` bigint NOT NULL,`barcode` varchar(64) NOT NULL,`product_name` varchar(200) NOT NULL,`submitter_tenant_id` bigint COMMENT '提交者租户ID',`submit_images` text COMMENT '提交的图片',`status` tinyint DEFAULT 0 COMMENT '0=待审核, 1=通过, 2=驳回',`audit_remark` varchar(200) COMMENT '审核意见',`created_time` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`),KEY `idx_barcode` (`barcode`)
) COMMENT='云商品众包审核暂存表';SET FOREIGN_KEY_CHECKS = 1;
"""# 3. Write files
file1_name = "1_original_platform_schema.sql"
file2_name = "2_optimized_std_schema.sql"
zip_name = "Cloud_Product_Library_DB.zip"with open(file1_name, "w", encoding="utf-8") as f:f.write(original_sql_content)with open(file2_name, "w", encoding="utf-8") as f:f.write(optimized_sql_content)# 4. Create Zip
with zipfile.ZipFile(zip_name, 'w') as zipf:zipf.write(file1_name)zipf.write(file2_name)# Cleanup source files to keep environment clean
os.remove(file1_name)
os.remove(file2_name)zip_name

  

http://www.jsqmd.com/news/365663/

相关文章:

  • 腾讯云Linux服务器操作系统 ISO下载地址
  • 前端高频面试题(含口语化通俗解答)
  • 2026年热门的卧式砂磨机,立式砂磨机厂家行业实力推荐 - 品牌鉴赏师
  • podman-compose -f jar.compose.yml logs -f --tail=10000 | grep -A 100 -B 100 文件id
  • 2026国内最新强化地板厂商TOP10推荐:优质企业权威榜单发布,环保耐用适配多元家装场景 - 品牌推荐2026
  • COMSOL应用:压电-热释电纳米发电与压电薄膜三维模型的复现
  • 2026年国内靠谱的SSL证书/SSL证书申请/SSL数字证书提供商盘点 - 麦麦唛
  • 测试文章标题 - 自动化发布验证
  • 全新上线——最全面的 Turf.js中英文学习文档
  • 分析苏州飞贺纺织专业度,排名前十的公司推荐 - 工业品网
  • 2026年2月苏州园林绿化工程公司最新推荐,本地口碑企业精选 - 品牌鉴赏师
  • 聊聊深圳高性价比的婚纱摄影企业,这些公司值得一看 - 工业品牌热点
  • 2026年二次元影像仪十大品牌排名权威发布 - 品牌推荐大师1
  • PTH-RP (140-173) (human) ;TALLWGLKKKKENNRRTHHMQLMISLFKSPLLLL
  • 清华机试题目大概思路2C2176cjbPidK4FBABgmeBe7B3A
  • 2026年盘点不错的定制服装厂,南通地区哪家口碑更好 - mypinpai
  • 三维扫描仪怎么选?思看与蔡司深度对比 70-80%性价比优势揭秘 - 匠言榜单
  • 2026年上海靠谱的智能电表品牌推荐,无线防逆流电表ADW300值得关注 - 工业推荐榜
  • 讲讲北京工业散热器生产厂年度排名,专业厂家价格多少 - myqiye
  • 深聊上海诚信的婚纱摄影品牌企业,靠谱推荐别错过 - 工业推荐榜
  • 探讨磁选机选购,行唐县天丰机械厂的磁选机值得推荐吗? - 工业品网
  • 2026年郑州口碑好的海鲜烧烤店推荐,破店肥哈玉米楼店全解析 - 工业设备
  • 订做服装制造厂哪家合作案例多,更上制服经验案例丰富 - 工业设备
  • 深入解析:百万级数据合并去重实战:基于Spring Boot3.x + Redis + 多线程的高效解决方案
  • 2026年华埔装修公司性价比排名,费用多少你知道吗? - 工业品牌热点
  • 2026年苏州工厂服装服务商性价比排名,更上制服名列前茅 - mypinpai
  • 2026年苏州无锡靠谱的团体服品牌制造商推荐与选择攻略 - mypinpai
  • 2026年2月光伏变压器厂家推荐,新能源配套实力企业 - 品牌鉴赏师
  • 2026年北京陪诊公司联系电话推荐:专业机构联系方式汇总 - 品牌推荐
  • 大数据技术的基于Python对b站热门视频的数据分析与研究_xdpl44x6--论文-爬虫 可视化