# 基于springboot的购物商城管理系统
# 1.项目简介
## 1.1 用户简介
用户主要分为管理员和用户端:
- **管理员**: 管理员可以对后台数据进行管理、拥有最高权限、具体权限有登录后进行首页轮播图的配置管理、商品的配置、新品家具商城的配置管理、、家具商城分类管理配置、家具商城详情商品管理、用户管理、订单管理以及、修改密码等操作
- **客户端用户**:用户输入家具商城网站系统地址、可以浏览家具商城信息、需要查看详情或其他购买加入购物车等操作需要用户进行登录、,没有账号的用户可以进行注册操作、输入相关注册信息完成注册后登录。登录完成后可以进行商品的购买、商品查询、加入购物车、修改收货地址等一系列操作
## 1.2 技术栈
主要技术实现:spring、 springboot、 mybatis 、 jquery 、 md5 、bootstarp.js tomcat、富文本编译器、拦截器等
## 1.3 功能模块
### 1.3.1 前端用户
- **用户注册和登录登录功能**
- 用户的注册功能 : 访问网站的人根据网站的提示注册自己的账户
- 用户的登录功能 : 用户可以输入用户名和密码进行登录操作,当没有该账户的时 候,提示错误,用户必须通过注册完成或者从数据库中获取才能进行会员权限级别的操 作。登录成功之后可以购买商品,查询订单的详细信息
- **个人信息的管理**
- 用户信息的修改操作,其中包括会员名、密码、性别、联系方式 e-mail 和个人介 绍等用户信息的修改操作。但是会员邮箱是绑定账号的,会员邮箱不能进行更改操作
- 订单管理操作:订单只能查询和删除操作,不能有修改操作,修改操作是属于管理员的权限
- 用户退出操作:当点击用户退出时,就会退出当前用户的登录状态,恢复到游客状态
- **商品的操作**
- 搜索商品操作: 当在 Search 栏输入想搜索的家居用品时, 会使用模糊查询, 搜索 出客户想到查询的家居用品
- 商品列表展示
- 商品详细信息展示
- 购物车的管理操作
- 显示商品信息:当我们一进入购物车页面,就会显示出商品的详细信息,以及购 物车界面的功能信息
- 修改商品的数量:用户可以自己输入不同数量的商品,当商品的数量变动时,商 品的库存就会相应的减少,也会根据商品的数量得到购买这一种商品的金额小计
- 删除购物车中的商品
- 购物流程变动
- **订单管理操作**
- 订单生成:进入结算中心,会提示用户已经登录成功并来到结算中心,然后在提 交订单的时候生成了一份订单,会显示在确认订单页面
- 确认订单:当点击确认订单的时候会进入支付页面,那里会真正的付款操作
- 订单查询:在我的订单页面会显示订单的详细信息,我们可以查询我们想要的订单信息
- 订单管理:在我的订单页面会显示所有订单的信息,可以在那里删除订单,查询 订单等
### 1.3.2 后台管理员
系统的后台是专门为管理家居商城系统的人员设计的,功能如下:
- **超级管理员**:拥有管理该系统的最大权限,他有两个特有的功能
- 数据字典:可以对后台的不同分类的分类列表具有增删改查的操作
- 角色管理:将拥有不同权限的管理员分成不同的角色,每个不同角色有自己的权限,不能执行越权操作
- **商品分类的管理**
- 添加编辑分类:点击添加按钮,会跳转到分类添加页面,需要编写分类名称,分类描述信息
- 删除分类:当点击删除按钮时,会弹出一个提醒框,当点击确定,删除分类,点击取消,保持原来不变
- **商品管理功能**
- 查询商品 : 查询所有商品列表, 还有通过商品的名称、 商品的类别和价格区间查询
- 添加修改商品 : 点击添加商品会转到添加商品页面, 需要提供商品名称、 商品图片、商 5 6 品类别、商品价格、库存数量、商品描述等内容
- 删除商品:删除商品
# 2.数据库设计
## 2.1 表结构
**用户表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/526f520841e6fdaf2d0f83dca567e395.writebug)
**收货地址表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/d60c3e408ebcf1fa82121bcd812aecf7.writebug)
**购物车表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/fe4f3d0518ed88a14501465b043c0973.writebug)
**分类表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/fa2d07170d6ff93eeeaba538a184ed0d.writebug)
**评论表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/916a2ea87d681886ad8b6146eb9a65a0.writebug)
**商品表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/70d97eea882b6c9609ba1542ab8d2f56.writebug)
**订单详情表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/62b83b53c290b41f6680dae6f3257f7f.writebug)
**产品信息表**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/4fec134646c912b7ee8be40c3057612c.writebug)
## 2.2 E-R图
![](http://www.writebug.com/myres/static/uploads/2021/10/19/1053c7999c0719fa0ba0443ea023f980.writebug)
# 3.项目实现
## 3.1 业务代码
```java
/**
* 后台管理登录验证
*/
@PostMapping("login")
@ResponseBody
public Map<String,Object> login(User user, String verity, HttpSession session){
Map<String, Object> map = new HashMap<String, Object>();
String adminLogin = session.getAttribute("adminLogin")+"";
if (!adminLogin.toUpperCase().equals(verity.toUpperCase())){
map.put("state", "error");
map.put("msg", "验证码输入错误,请重新输入");
return map;
}
return userAdminService.Login(user,session,verity);
}
@PostMapping("upload")
@ResponseBody
public String upload(MultipartFile file){
String filename = file.getOriginalFilename();
String name = filename.substring(filename.lastIndexOf(".") + 1, filename.length());
String s = UUID.randomUUID().toString();
File filepath = new File("D:\\work\\ideaprojects\\gitAdmin\\shop\\upload\\"+s+"."+name);
try {
file.transferTo(filepath);
} catch (IOException e) {
e.printStackTrace();
return null;
}
return "http://image.shop.com/"+s+"."+name;
}
@PostMapping("update")
@ResponseBody
public String update(User user){
return userAdminService.update(user);
}
@GetMapping("delete")
@ResponseBody
public String delete(Long id){
Integer delete = userAdminService.delete(id);
if (delete>0){
return "ok";
}
return "error";
}
@PostMapping("save")
@ResponseBody
public String save(User user){
Integer save = userAdminService.save(user);
if (save>0){
return "ok";
}
return "error";
}
```
```java
public Map<String, Object> reg(User user) {
//初始化返回参数
Map<String, Object> map = new HashMap<String, Object>();
//初始化查询参数
User us = new User();
//根据用户名查询该用户是否存在
us.setUsername(user.getUsername());
if (userDao.selectOne(us) != null) {
map.put("state", "error");
map.put("msg", "该用户已存在,请重新注册");
return map;
}
//使用md5加密密码
user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
//添加默认值
user.setRole("普通用户");
user.setHeader_url("img/txs.jpg");
user.setCreated(new Date());
user.setUpdated(new Date());
userDao.insertSelective(user);
map.put("state", "success");
return map;
}
public Map<String, Object> login(User user, HttpSession session) {
//初始化返回参数
Map<String, Object> map = new HashMap<String, Object>()
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
精选_基于springboot的购物商城管理系统_源码打包 (1000个子文件)
ueditor.css 43KB
layui.css 39KB
admin.css 36KB
ueditor.min.css 34KB
video-js.css 21KB
image.css 18KB
grid.css 17KB
proList.css 17KB
video.css 15KB
layer.css 14KB
attachment.css 14KB
video-js.min.css 11KB
myorder.css 9KB
laydate.css 8KB
layui.mobile.css 8KB
public.css 8KB
shCoreDefault.css 7KB
demo.css 6KB
comment.css 6KB
index.css 6KB
mygrxx.css 5KB
mygxin.css 5KB
scrawl.css 4KB
email.css 3KB
codemirror.css 3KB
reset.css 3KB
charts.css 3KB
background.css 2KB
login.css 2KB
emotion.css 2KB
login.css 2KB
dialogbase.css 2KB
music.css 2KB
comment.css 2KB
iconfont.css 1KB
panel.css 1KB
column.css 1KB
forget.css 1KB
edittable.css 1KB
code.css 1KB
template.css 1KB
idea.css 995B
avatar.css 943B
page.css 751B
webuploader.css 515B
help.css 389B
css3.css 67B
iframe.css 41B
var.css 0B
设计文档.docx 3.52MB
iconfont.eot 52KB
iconfont.eot 12KB
vjs.eot 3KB
UEditorSnapscreen.exe 508KB
a7efa376-3fce-4d22-a352-d06652383746.gif 271KB
5a16def8-b702-47ae-8a2b-31a86c3c5317.gif 271KB
48a44062-03ad-48e4-a281-25a5858683c6.gif 271KB
8acc51f5-f033-497b-b3cc-eb71620355bb.gif 271KB
dfa3ba33-d1cc-4e7b-a924-2c1b86136383.gif 271KB
cefd1bf7-2b22-430e-8b3e-c9e8c437f59b.gif 271KB
275ebaae-8e35-4783-a310-dd5d790fdc57.gif 271KB
35551d51-4964-489e-b7a9-5bb7ef182d99.gif 271KB
29c82e8c-f7e4-42f7-9d90-d61f41546ac5.gif 271KB
f00259b3-056a-4bfa-9bfa-a5dfaea19e6e.gif 271KB
5fa46ed3-61bc-4840-a055-a2c2f1e258c8.gif 271KB
df05a644-aa71-46df-82cd-d1159dc21737.gif 271KB
030d1fdc-12dd-4be8-996b-a73de2da381d.gif 271KB
5db277f5-395c-4115-876a-e6df866516dd.gif 271KB
f3bcc4e9-59c0-4fc2-98ae-93eb9ed26249.gif 271KB
bf4158da-7b9a-4873-ae2b-385089fd930a.gif 271KB
83a2cf10-f274-447c-8062-ffeb3a33e309.gif 271KB
72571f7c-344e-4032-bbfd-6730b78a1e58.gif 271KB
54b33bf2-c28f-4544-8ac2-41dae6a26db4.gif 271KB
e78d4fe3-7750-4779-84c2-28c5d36d1c85.gif 271KB
a7e817ce-b3aa-4ef5-ac23-82beff52beb5.gif 271KB
b8b47adc-167c-452b-b974-3205942a8371.gif 271KB
614e75e2-85ea-454c-9489-91f78d6a7436.gif 271KB
cc198498-a212-449c-906a-9715f15e986c.gif 271KB
d1b3cda4-2d5e-4b31-b9f6-93c50db53533.gif 271KB
ee56fcc3-8561-48ca-8d1e-8749a281e1f1.gif 271KB
4a08a472-eec4-43ed-9ecd-6f7313cbdacf.gif 271KB
0c3ee7c9-badc-44a0-8397-6f6751160d38.gif 271KB
491aff75-03e9-4e67-b801-46d121607570.gif 271KB
6e425030-f469-43d2-beb1-8988f830f6d0.gif 271KB
19c97d6b-fe74-4e6f-852a-40f6670ba0ad.gif 271KB
b3f1ea7f-ba83-4fa3-ba60-ee08487934be.gif 271KB
6f0bc33c-e6e6-4ed3-bcb4-98b911019144.gif 271KB
55d73885-fef7-45e7-9930-cd21f4273f18.gif 271KB
afa9e720-3d00-43bf-a91e-2b46d18206ca.gif 271KB
ef4a042e-a2dc-4ec4-ae82-bf707e726d87.gif 271KB
5f04fd4e-6cd3-454f-848e-65207d1aa8f6.gif 271KB
efe77933-0bbc-483a-af95-4283dfdca064.gif 271KB
7fce6c1e-c8cd-4e75-8869-bedeee5c2f1c.gif 271KB
2e13f4ab-5c44-4c92-817c-1f98813035b8.gif 271KB
f92cad6e-770c-45b1-858f-a9869d0734f6.gif 271KB
3d9d11f9-6e55-4f55-8294-054e6803979a.gif 271KB
4b3d6199-db90-462f-8494-4412d04ca5c4.gif 271KB
wface.gif 49KB
jxface2.gif 40KB
yface.gif 28KB
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
工具盒子
- 粉丝: 60
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功