本章节了解商品模块的数据模型和关系
一、数据表
如上图,商品管理包含以下几张表
yx_store_product:商品表
yx_store_product_attr:商品属性表
yx_store_product_attr_result:商品属性详细表
yx_store_product_attr_value:商品属性值
yx_store_product_relation:商品点赞和收藏表
yx_store_product_reply:评论表
yx_store_product_rule:商品规格值表
其中商品表是主表。商品属性表,商品属性详细表,商品属性值,商品点赞和收藏表,评论表都是通过product_id与商品表关联起来
二、数据表详细字段介绍
yx_store_product:商品表
CREATE TABLE `yx_store_product` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品id',
`mer_id` int(10) unsigned DEFAULT '0' COMMENT '商户Id(0为总后台管理员创建,不为0的时候是商户后台创建)',
`image` varchar(256) NOT NULL COMMENT '商品图片',
`slider_image` varchar(2000) NOT NULL COMMENT '轮播图',
`store_name` varchar(128) NOT NULL COMMENT '商品名称',
`store_info` varchar(256) NOT NULL COMMENT '商品简介',
`keyword` varchar(256) NOT NULL COMMENT '关键字',
`bar_code` varchar(15) DEFAULT '' COMMENT '产品条码(一维码)',
`cate_id` varchar(64) NOT NULL COMMENT '分类id',
`price` decimal(8,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '商品价格',
`vip_price` decimal(8,2) unsigned DEFAULT '0.00' COMMENT '会员价格',
`ot_price` decimal(8,2) unsigned DEFAULT '0.00' COMMENT '市场价',
`postage` decimal(8,2) unsigned DEFAULT '0.00' COMMENT '邮费',
`unit_name` varchar(32) DEFAULT NULL COMMENT '单位名',
`sort` smallint(11) DEFAULT '0' COMMENT '排序',
`sales` mediumint(11) unsigned DEFAULT '0' COMMENT '销量',
`stock` mediumint(11) unsigned DEFAULT '0' COMMENT '库存',
`is_show` tinyint(1) DEFAULT '1' COMMENT '状态(0:未上架,1:上架)',
`is_hot` tinyint(1) DEFAULT '0' COMMENT '是否热卖',
`is_benefit` tinyint(1) DEFAULT '0' COMMENT '是否优惠',
`is_best` tinyint(1) DEFAULT '0' COMMENT '是否精品',
`is_new` tinyint(1) DEFAULT '0' COMMENT '是否新品',
`description` text COMMENT '产品描述',
`create_time` datetime DEFAULT NULL COMMENT '添加时间',
`update_time` datetime DEFAULT NULL,
`is_postage` tinyint(1) unsigned DEFAULT '0' COMMENT '是否包邮',
`is_del` tinyint(1) unsigned DEFAULT '0' COMMENT '是否删除',
`mer_use` tinyint(1) unsigned DEFAULT '0' COMMENT '商户是否代理 0不可代理1可代理',
`give_integral` decimal(8,2) unsigned DEFAULT NULL COMMENT '获得积分',
`cost` decimal(8,2) unsigned DEFAULT NULL COMMENT '成本价',
`is_seckill` tinyint(1) unsigned DEFAULT '0' COMMENT '秒杀状态 0 未开启 1已开启',
`is_bargain` tinyint(1) unsigned DEFAULT NULL COMMENT '砍价状态 0未开启 1开启',
`is_good` tinyint(1) DEFAULT '0' COMMENT '是否优品推荐',
`ficti` mediumint(11) DEFAULT '100' COMMENT '虚拟销量',
`browse` int(11) DEFAULT '0' COMMENT '浏览量',
`code_path` varchar(64) NOT NULL DEFAULT '' COMMENT '产品二维码地址(用户小程序海报)',
`is_sub` tinyint(1) DEFAULT '0' COMMENT '是否单独分佣',
`temp_id` int(10) DEFAULT NULL COMMENT '运费模板ID',
`spec_type` tinyint(1) DEFAULT '0' COMMENT '规格 0单 1多',
`is_integral` tinyint(1) unsigned zerofill DEFAULT NULL COMMENT '是开启积分兑换',
`integral` int(11) DEFAULT '0' COMMENT '需要多少积分兑换 只在开启积分兑换时生效',
PRIMARY KEY (`id`) USING BTREE,
KEY `is_hot` (`is_hot`) USING BTREE,
KEY `is_benefit` (`is_benefit`) USING BTREE,
KEY `is_best` (`is_best`) USING BTREE,
KEY `is_new` (`is_new`) USING BTREE,
KEY `toggle_on_sale, is_del` (`is_del`) USING BTREE,
KEY `price` (`price`) USING BTREE,
KEY `is_show` (`is_show`) USING BTREE,
KEY `sort` (`sort`) USING BTREE,
KEY `sales` (`sales`) USING BTREE,
KEY `add_time` (`create_time`) USING BTREE,
KEY `is_postage` (`is_postage`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品表';
yx_store_product_attr:商品属性表
CREATE TABLE `yx_store_product_attr` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`product_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '商品ID',
`attr_name` varchar(32) NOT NULL COMMENT '属性名',
`attr_values` varchar(256) NOT NULL COMMENT '属性值',
PRIMARY KEY (`id`) USING BTREE,
KEY `store_id` (`product_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=83 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品属性表';
yx_store_product_attr_result:商品属性详细表
CREATE TABLE `yx_store_product_attr_result` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`product_id` bigint(20) unsigned NOT NULL COMMENT '商品ID',
`result` text NOT NULL COMMENT '商品属性参数',
`change_time` datetime NOT NULL COMMENT '上次修改时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `product_id` (`product_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品属性详情表';
yx_store_product_attr_value:商品属性值
CREATE TABLE `yx_store_product_attr_value` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`product_id` bigint(20) unsigned NOT NULL COMMENT '商品ID',
`sku` varchar(128) NOT NULL COMMENT '商品属性索引值 (attr_value|attr_value[|....])',
`stock` int(10) unsigned NOT NULL COMMENT '属性对应的库存',
`sales` int(10) unsigned DEFAULT '0' COMMENT '销量',
`price` decimal(8,2) unsigned NOT NULL COMMENT '属性金额',
`image` varchar(128) DEFAULT NULL COMMENT '图片',
`unique` varchar(100) NOT NULL DEFAULT '' COMMENT '唯一值',
`cost` decimal(8,2) unsigned NOT NULL COMMENT '成本价',
`bar_code` varchar(255) DEFAULT NULL COMMENT '商品条码',
`ot_price` decimal(10,2) DEFAULT '0.00' COMMENT '原价',
`weight` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '重量',
`volume` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '体积',
`brokerage` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '一级返佣',
`brokerage_two` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '二级返佣',
`pink_price` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '拼团价',
`pink_stock` int(10) NOT NULL DEFAULT '0' COMMENT '拼团库存',
`seckill_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '秒杀价',
`seckill_stock` int(10) NOT NULL DEFAULT '0' COMMENT '秒杀库存',
`integral` int(10) unsigned zerofill DEFAULT '0000000000' COMMENT '需要多少积分兑换',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `unique` (`unique`,`sku`) USING BTREE,
KEY `store_id` (`product_id`,`sku`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=131 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品属性值表';
yx_store_product_relation:商品点赞和收藏表
CREATE TABLE `yx_store_product_relation` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`uid` bigint(20) unsigned NOT NULL COMMENT '用户ID',
`product_id` bigint(20) unsigned NOT NULL COMMENT '商品ID',
`type` varchar(32) DEFAULT NULL COMMENT '类型(收藏(collect)、点赞(like))',
`category` varchar(32) DEFAULT NULL COMMENT '某种类型的商品(普通商品、秒杀商品)',
`create_time` datetime NOT NULL COMMENT '添加时间',
`update_time` datetime DEFAULT NULL,
`is_del` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uid` (`uid`,`product_id`,`type`,`category`) USING BTREE,
KEY `type` (`type`) USING BTREE,
KEY `category` (`category`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品点赞和收藏表';
yx_store_product_reply:评论表
CREATE TABLE `yx_store_product_reply` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '评论ID',
`uid` bigint(20) NOT NULL COMMENT '用户ID',
`oid` bigint(20) NOT NULL COMMENT '订单ID',
`unique` char(32) NOT NULL COMMENT '唯一id',
`product_id` bigint(20) NOT NULL COMMENT '产品id',
`reply_type` varchar(32) NOT NULL DEFAULT 'product' COMMENT '某种商品类型(普通商品、秒杀商品)',
`product_score` tinyint(1) NOT NULL COMMENT '商品分数',
`service_score` tinyint(1) NOT NULL COMMENT '服务分数',
`comment` varchar(512) CHARACTER SET utf8mb4 NOT NULL COMMENT '评论内容',
`pics` text NOT NULL COMMENT '评论图片',
`create_time` datetime NOT NULL COMMENT '评论时间',
`update_time` datetime DEFAULT NULL,
`merchant_reply_content` varchar(300) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '管理员回复内容',
`merchant_reply_time` datetime DEFAULT NULL COMMENT '管理员回复时间',
`is_del` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0未删除1已删除',
`is_reply` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0未回复1已回复',
PRIMARY KEY (`id`) USING BTREE,
KEY `add_time` (`create_time`) USING BTREE,
KEY `parent_id` (`reply_type`) USING BTREE,
KEY `is_del` (`is_del`) USING BTREE,
KEY `product_score` (`product_score`) USING BTREE,
KEY `service_score` (`service_score`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='评论表';
yx_store_product_rule:商品规格值表
CREATE TABLE `yx_store_product_rule` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`rule_name` varchar(32) NOT NULL COMMENT '规格名称',
`rule_value` json NOT NULL COMMENT '规格值',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`is_del` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='商品规则值(规格)表';
计划
1、ruoyi-flowable-plus工作流拆解
2、ruoyi-flowable-plus如何快速开发
3、电商项目源代码拆解
4、JEECG低代码开发平台
请关注我,本星球会持续推出更多的开源项目代码解析,如有更好的意见请留言回复或者私信。运行不起来可以联系我