[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析
1.数据表ER图
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/258ea1f4f9de84a6a006a173f0a48d96.png)
2.数据表相关
(1).商品分类表相关
1).数据表
-- ----------------------------
-- Table structure for goods_cate 商品分类表
-- ----------------------------
DROP TABLE IF EXISTS `goods_cate`;
CREATE TABLE `goods_cate` (`id` int(0) NOT NULL AUTO_INCREMENT,`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT '标题',`cate_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT '分类图片',`link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT '跳转地址',`template` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT '加载的模板: 为空的话加载默认模板, 不为空的话加载自定义模板',`pid` int(0) NULL DEFAULT NULL COMENT '上级id: 为0的话则是顶级分类',`sub_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT 'SEO标题',`keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT 'SEO关键字',`description` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT 'SEO描述',`status` tinyint(1) NULL DEFAULT NULL COMENT '排序',`sort` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMENT '状态: 1 显示, 0 隐藏',`add_time` int(0) NULL DEFAULT NULL COMENT '添加时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
2).商品分类对应的后台页面展示
增加页面
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/e08f75af191d62d776d06ca3b5047dee.png)
分类列表
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/aea978d396750cb81863fb3e599bd7e2.png)
3).商品分类对应的前端页面展示
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/b8831c69f305c251c17dcc28dd7a5304.png)
(2).商品类型表相关
1).数据表
-- ----------------------------
-- Table structure for goods_type 商品类型表
-- ----------------------------
DROP TABLE IF EXISTS `goods_type`;
CREATE TABLE `goods_type` (`id` int(0) NOT NULL AUTO_INCREMENT,`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型名称',`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '介绍',`status` int(0) NULL DEFAULT NULL COMMENT '状态',`add_time` int(0) NULL DEFAULT NULL COMMENT '添加时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for goods_type_attribute 商品类型属性表
-- ----------------------------
DROP TABLE IF EXISTS `goods_type_attribute`;
CREATE TABLE `goods_type_attribute` (`id` int(0) NOT NULL AUTO_INCREMENT,`cate_id` int(0) NULL DEFAULT NULL COMMENT '商品类型id:商品类型表goods_type.id',`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '属性名称',`attr_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '属性录入方式: 1 单行文本框, 2 多行文本框, 3 从下面列表中选择(一行代表一个可选值)',`attr_value` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '可选值列表',`status` tinyint(1) NULL DEFAULT NULL COMMENT '状态',`sort` int(0) NULL DEFAULT NULL COMMENT '排序',`add_time` int(0) NULL DEFAULT NULL COMMENT '增加时间',PRIMARY KEY (`id`) USING BTREE,INDEX `cate_id`(`cate_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
2).商品类型对应的后台页面
增加商品类型页面
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/088eebd9ff977b6384ff2cebbd0ff00b.png)
商品类型列表页面
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/a353ff46872e60ca10db537e82eeebbb.png)
类型属性列表页面
以电脑类型为例
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/8d37f3476892c03831bda6acc0132c75.png)
类型属性增加页面
以电脑类型为例
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/50b597a1857ab49b7c665eb379136aac.png)
类型属性修改页面
以电脑类型为例
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/979c14059d71c55556d1b49346c0e228.png)
3).商品类型功能用法
在增加/修改商品规格包装时使用,以电脑类型为例
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/ab078884ceddcd66812e6fca424f7c9f.png)
3).商品类型对应的前端页面展示
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/8483080e9cc09611b7efa71bd978aa25.png)
(3).商品表相关
1).数据表
-- ----------------------------
-- Table structure for goods 商品表
-- ----------------------------
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods` (`id` int(0) NOT NULL AUTO_INCREMENT,`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品标题',`sub_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附属标题:用于SEO搜索',`goods_sn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品编号',`cate_id` int(0) NULL DEFAULT NULL COMMENT '商品分类id: 商品分类表goods_cate.id',`click_count` int(0) NULL DEFAULT NULL COMMENT '商品点击数量',`goods_number` int(0) NULL DEFAULT NULL COMMENT '商品库存',`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',`market_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品市场价(原价)',`relation_goods` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '关联商品id,如: 1, 23,55 ,商品id以逗号隔开',`goods_attr` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品更多属性',`goods_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品版本',`goods_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图片',`goods_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品赠品',`goods_gift` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品配件',`goods_fitting` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '颜色',`goods_keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'SEO关键字',`goods_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'SEO商品描述',`goods_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '商品详情',`is_delete` tinyint(0) NULL DEFAULT NULL COMMENT '是否删除',`is_hot` tinyint(0) NULL DEFAULT NULL COMMENT '是否热销',`is_best` tinyint(0) NULL DEFAULT NULL COMMENT '是否精品',`is_new` tinyint(0) NULL DEFAULT NULL COMMENT '是否新品',`goods_type_id` int(0) NULL DEFAULT NULL COMMENT '商品类型id,关联GoodsType.Id',`sort` int(0) NULL DEFAULT NULL COMMENT '排序',`status` tinyint(0) NULL DEFAULT NULL COMMENT '状态',`add_time` int(0) NULL DEFAULT NULL COMMENT '添加时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for goods_attr 商品属性表(保存规格包装-商品类型对应的数据)
-- ----------------------------
DROP TABLE IF EXISTS `goods_attr`;
CREATE TABLE `goods_attr` (`id` int(0) NOT NULL AUTO_INCREMENT,`goods_id` int(0) NULL DEFAULT NULL COMMENT '商品id:关联表goods.id',`attribute_cate_id` int(0) NULL DEFAULT NULL COMMENT '商品类型id,关联表goods_type.id',`attribute_id` int(0) NULL DEFAULT NULL COMMENT '商品类型属性id,关联表goods_type_attribute.id',`attribute_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类型属性标题',`attribute_type` tinyint(1) NULL DEFAULT NULL COMMENT '类型属性录入方式:关联表goods_type_attribute.attr_type',`attribute_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类型属性值',`sort` int(0) NULL DEFAULT NULL COMMENT '',`add_time` int(0) NULL DEFAULT NULL COMMENT '',`status` tinyint(1) NULL DEFAULT NULL COMMENT '',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 113 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for goods_image 商品相册表
-- ----------------------------
DROP TABLE IF EXISTS `goods_image`;
CREATE TABLE `goods_image` (`id` int(0) NOT NULL AUTO_INCREMENT COMMENT '',`goods_id` int(0) NULL DEFAULT NULL COMMENT '商品id',`img_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图片保存路径:一般只会保存类似于/static/upload/20230313/xxx.png这种格式',`color_id` int(0) NULL DEFAULT NULL COMMENT '颜色id',`sort` int(0) NULL DEFAULT NULL COMMENT '',`add_time` int(0) NULL DEFAULT NULL COMMENT '',`status` tinyint(1) NULL DEFAULT NULL COMMENT '',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Table structure for goods_color 商品颜色
-- ----------------------------
DROP TABLE IF EXISTS `goods_color`;
CREATE TABLE `goods_color` (`id` int(0) NOT NULL AUTO_INCREMENT,`color_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMEMT '颜色名称',`color_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMEMT '颜色标记,如:red,#000'',`status` int(0) NULL DEFAULT NULL COMMENT '状态',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
2).商品表对应的后台页面
商品列表
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/b7bc068ce4c631de4ad99c886570acf6.png)
增加商品
需要用到商品分类表goods_cate,选择所属分类
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/f715f739e49eb01c7318472a60fe7dce.png)
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/acc911060a04eff26e5b360216783692.png)
需要用到商品颜色表goods_color,选择商品颜色
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/3f7de94a127fb84f3ff5f0cb685878e9.png)
需要用到商品类型表goods_type,商品类型属性表goods_type_attribute,选择商品类型,以及设置类型对应的属性,完成后保存数据到商品属性表goods_attr中
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/3afdeadf6aaec5230d597fa7fa6be38f.png)
选择图片,保存到商品相册表goods_image中
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/35b3452a54e888196f0c546af040dd31.png)
3).商品表对应的前端页面展示
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/fa28a2be56553821fba9ef9376373866.png)
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/8aeff4a902e9a236ff0b2a0d3288c6ff.png)
![[golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析](https://img-blog.csdnimg.cn/img_convert/623f625e28d55da50b4c68efd3965cc1.png)
[上一节][golang gin框架] 15.Gin 商城项目-封装上传图片方法,轮播图的增删改查以及异步修改状态,数量
[下一节][golang gin框架] 17.Gin 商城项目-商品分类模块, 商品类型模块,商品类型属性模块功能操作