商品表 mark一下
tct_pdt 商品表
tct_pdt_type 品类表
tct_pdt 商品表,表字段
`pdtCode` varchar(32) '商品编号 ',
`typeCode` varchar(32) '品种类型编码 ',
`bisGuid` varchar(32) '商家ID ',
`pdtName` varchar(128) '商品名 ',
`pdtAlias` varchar(250) '商品别名 ',
`shortName` varchar(32) '商品简称 ',
`isPackaged` varchar(8) '是否预包装 TRUE:是 FALSE:否',
`unit` varchar(8) '单位 ',
`spec` varchar(32) '规格 ',
`price` decimal(8,2) '单价 ',
`status` varchar(8) '状态 上架:SHV 下架:OFFSHV',
`inputTime` timestamp '录入时间 ',
`optTime` timestamp '操作时间 ',
`bigImg` varchar(128) '大图 ',
`mediumImg` varchar(128) '中图 ',
`smallImg` varchar(128) '小图 ',
`pdtDesc` varchar(32) '商品描述',
`pdtQuality` text '商品质量规范',
`pdtNamePY` varchar(2048) '商品名称拼音',
`pdtAliasPY` varchar(2048) '别名拼音',
`supplierId` varchar(32) '供货商ID',
`buyPrice` decimal(8,2) '采购价',
`miniNum` decimal(8,2) '商品起订量',
`details` text '商品详情文本',
`goodsCode` varchar(32) '税收编码',
`rateType` varchar(16) '免税类型',
`policyType` varchar(16) '优惠政策类型',
`isPolicy` varchar(8) '是否使用优惠政策类型',
`isDelete` char(1) '逻辑删除: 0,正常;1,禁用',
`brandName` varchar(64) '品牌’,
`taxRate` decimal(4,2) '销项税率',
`taxRateIn` decimal(4,2) '进项税率',
PRIMARY KEY (`pdtCode`),
KEY `idx_tct_pdt` (`bisGuid`,`status`,`typeCode`,`pdtName`),
KEY `idx_tct_pdt_disguid_pdtcode` (`pdtCode`,`bisGuid `) USING BTREE
tct_pdt_type 品类表,表字段
`guid` char(32) '主键ID',
`dlrGuid` varchar(32) '配送商ID',
`typeName` varchar(32) '品类名称',
`parentCode` varchar(10) '父级品类编号(唯一)',
`typeCode` varchar(10) '品类Code',
`typeIcon` varchar(520) '品类图标OSS路径',
`level` int(3) '层级',
`sortNo` int(11) NOT NULL COMMENT '排序号',
`initTime` datetime COMMENT '添加日期',
`opTime` datetime '操作时间',
`parentName` varchar(32) '父级品类名称',
`grandName` varchar(32) '爷爷级品类名称',
`grandCode` varchar(32) '爷爷级品类编号',
`isDelete` char(1) '逻辑删除: 0,正常;1,禁用',
PRIMARY KEY (`guid`),
UNIQUE KEY `uk_disGuid_typeCode` (`dlrGuid`,`typeCode`) USING BTREE ‘商家ID和品类编号组合唯一',
KEY `index_disGuid_parentCode` (`disGuid`,`parentCode`) USING BTREE,
KEY `typeCode` (`typeCode`)
商品编号(pdtCode):添加商品,商品id是唯一的,自增。
商品编号样式:前缀 + 流水号,前缀:商家id,流水号:5位
3051011000001 ,30510110(前缀) + 00001(流水号)
字符组合标识 key = ”pdtcode“ + ”:” + 商家id
- 从redis 取值,若不存在则加锁从数据库获取最大值,放到redis,如果数据库没有,放入”0“到redis,执行第三步
- 从redis取值,存在值,执行第三步
- 从Redis中自增获取新的pdtCode
- 存入数据库
商家1:商品1:pdtCode:3051011000001
商家1:商品2:pdtCode:3051011000002
商家2:商品1:pdtCode:3051012000001
商家2:商品2:pdtCode:3051012000002
商品分类(typeCode):添加商品分类,三个分类:一级分类、二级分类、三级分类,商家的typeCode是唯一的,id自增。
一级 2位 01,02
二级 5位 01001,02001
三级 8位 01001001,02001001,
父级品类(parentCode):三级品类,父级品类是二级品类,二级品类父级品类是一级品类,一级品类父级品类为空。
三级品类 01001001 父级品类 01001
二级品类 01001 父级品类 01
一级品类 01 父级品类 空
组合索引:
tct_pdt
KEY (pdtCode
,bisGuid
) 最常用查询字段,商品详情,某一商家的某一个商品
tct_pdt_type
UNIQUE KEY (dlrGuid
,typeCode
) 商家ID和品类编号组合唯一,商家30510110 拥有三级品类01001001唯一。
网友评论