0 电商系统

为了巩固自己JavaWeb阶段的知识,我选择了一个较为简单的电商项目来练手。

1 项目概述

本项目从电子商务最基本的需求出发,将系统分为前台系统后台系统,前台系统是消费者使用的子系统,后台系统是管理者使用的子系统,以下是两个子系统的各个功能展示。

电商系统功能设计

2 数据库设计

2.1 表详细设计

表t_user,用户表

字段名 字段类型 字段中文名 备注
userName varchar(255) 用户名 主键
password varchar(255) 密码
gender varchar(255) 性别
phone varchar(255) 电话
address varchar(255) 地址
status int(11) 是否冻结 0表示正常 1表示冻结
role int(11) 用户身份 0表示管理员 1表示普通用户

表t_goods_categories,商品类别表

字段名 字段类型 字段中文名 备注
id varchar(255) 类别id 主键
name varchar(255) 类别名称

表t_goods,商品表

字段名 字段类型 字段中文名 备注
id varchar(255) 商品id 主键
name varchar(255) 商品名字
description varchar(255) 商品描述
price 商品价格
img varchar(255) 商品图片
count int(11) 商品库存
categoryId int(11) 所属类别编号

表t_car,购物车表

字段名 字段类型 字段中文名 备注
id int(11) 购物车id 主键
userName varchar(255) 购物车用户名
goodsId varchar(255) 货品id
goodsName varchar(255) 货品名
goodsPrice decimal(10) 货品单价
goodsImg varchar(255) 货品图片
number int(11) 货品数量
totalPrice decimal(10) 总价

表t_order,订单表

字段名 字段类型 字段中文名 备注
id varchar(255) 订单id 主键
userName varchar(255) 下单用户名
goodsId varchar(255) 商品Id
count int(11) 下单商品数量
status int(11) 订单状态 0表示审核中 1表示通过 2表示未通过
orderTime dateTime 付款方式
sendType varchar(255) 发货方式
payType varchar(255) 付款方式
totalPrice decimal(10) 订单总金额

2.2 数据库生成代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
Navicat Premium Data Transfer

Source Server : localhost_3306
Source Server Type : MySQL
Source Server Version : 80017
Source Host : localhost:3306
Source Schema : mall_system

Target Server Type : MySQL
Target Server Version : 80017
File Encoding : 65001

Date: 27/01/2022 18:23:14
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for t_car
-- ----------------------------
DROP TABLE IF EXISTS `t_car`;
CREATE TABLE `t_car` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '购物车id',
`userName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '购物车用户名',
`goodsId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '货品id',
`goodsName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '货品名',
`goodsPrice` decimal(10, 2) NOT NULL COMMENT '货品单价',
`goodsImg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '货品图片',
`number` int(11) NOT NULL COMMENT '货品数量',
`totalPrice` decimal(10, 2) NOT NULL COMMENT '总价',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_car
-- ----------------------------
INSERT INTO `t_car` VALUES (2, 'a', '1', '联想笔记本', 55.00, 'ff5f3947-a676-4142-9ccf-16363911fdd9-bg3.jpg', 1, 55.00);
INSERT INTO `t_car` VALUES (3, 'a', '1', '联想笔记本', 55.00, 'ff5f3947-a676-4142-9ccf-16363911fdd9-bg3.jpg', 1, 55.00);
INSERT INTO `t_car` VALUES (5, '王五', '1', '联想笔记本', 55.00, 'ff5f3947-a676-4142-9ccf-16363911fdd9-bg3.jpg', 1, 55.00);

-- ----------------------------
-- Table structure for t_goods
-- ----------------------------
DROP TABLE IF EXISTS `t_goods`;
CREATE TABLE `t_goods` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品Id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品名字',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品描述',
`price` decimal(10, 2) NOT NULL COMMENT '商品价格',
`img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品图片',
`count` int(11) NOT NULL COMMENT '商品库存',
`categoryId` int(11) NOT NULL COMMENT '所属类别',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_goods
-- ----------------------------
INSERT INTO `t_goods` VALUES ('1', '联想笔记本', '这是一台笔记本', 55.00, 'ff5f3947-a676-4142-9ccf-16363911fdd9-bg3.jpg', 10, 1);
INSERT INTO `t_goods` VALUES ('2', '冰箱', '这是一台大冰箱', 55.00, '07f1db0b-01fd-41d9-951c-c8c5330edde3-bg17.jpg', 7, 1);
INSERT INTO `t_goods` VALUES ('3', '沙发', '这是一台沙发', 999.00, '70b252ab-0227-46f3-9221-2156a590e298-bg13.jpg', 2, 2);
INSERT INTO `t_goods` VALUES ('4', '桌子', '这是一台桌子', 44.00, '185465aa-562e-4200-9f97-33650f349e57-bg25.jpg', 436, 2);
INSERT INTO `t_goods` VALUES ('5', '假货', '这是一本假货', 54.00, 'c7bdbca4-8d92-4169-9f8d-b46190a950fd-bg3.jpg', 45, 3);
INSERT INTO `t_goods` VALUES ('6', '计组', '这是一本专业书', 44.00, '5c304731-781e-45c8-becf-410c79e623db-bg7.jpg', 88, 3);

-- ----------------------------
-- Table structure for t_goods_categories
-- ----------------------------
DROP TABLE IF EXISTS `t_goods_categories`;
CREATE TABLE `t_goods_categories` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类别id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类别名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_goods_categories
-- ----------------------------
INSERT INTO `t_goods_categories` VALUES ('1', '电器');
INSERT INTO `t_goods_categories` VALUES ('2', '家具');
INSERT INTO `t_goods_categories` VALUES ('3', '书籍');

-- ----------------------------
-- Table structure for t_order
-- ----------------------------
DROP TABLE IF EXISTS `t_order`;
CREATE TABLE `t_order` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单id',
`userName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '下单用户名',
`goodsId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品Id',
`count` int(11) NOT NULL COMMENT '下单商品数量',
`status` int(11) NOT NULL COMMENT '订单状态 0表示审核中 1表示通过 2表示未通过',
`orderTime` datetime NOT NULL COMMENT '下单时间',
`sendType` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发货方式',
`payType` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '付款方式',
`totalPrice` decimal(10, 2) NOT NULL COMMENT '订单总金额',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_order
-- ----------------------------
INSERT INTO `t_order` VALUES ('1', 'a', '2', 1, 0, '2021-09-17 15:34:39', '顺丰', '支付宝', 55.00);
INSERT INTO `t_order` VALUES ('4', 'a', '4', 5, 1, '2021-09-17 19:29:52', '顺丰', '支付宝', 220.00);

-- ----------------------------
-- Table structure for t_user
-- ----------------------------
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`userName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码',
`gender` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别',
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '电话',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地址',
`status` int(11) NOT NULL COMMENT '是否冻结 0表示正常 1表示冻结',
`role` int(11) NOT NULL COMMENT '0表示管理员 1表示普通用户',
PRIMARY KEY (`userName`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_user
-- ----------------------------
INSERT INTO `t_user` VALUES ('admin', '000000', '未知', '333', '天堂', 0, 0);
INSERT INTO `t_user` VALUES ('王五', '0', '男', '11', '11', 0, 1);

SET FOREIGN_KEY_CHECKS = 1;

3 详细代码设计

项目详细代码已上传至github:https://github.com/J-egrets/MallSystem

4 项目演示

登录界面

登录界面

注册界面

注册界面

4.1 前台系统

欢迎界面

前台欢迎界面

商品展示

商品展示

订单展示

订单展示

购物车展示

购物车展示

商品分类展示

商品分类展示

商品搜索展示

商品搜索展示

个人信息查看

个人信息查看

密码修改

密码修改

4.2 后台系统

由于后台系统有些功能(商品搜索,商品展示,个人中心)和前台的重复,故而不再重复展示。

欢迎界面

后台欢迎界面

用户管理

用户管理

订单管理

订单管理

商品添加

商品添加