基于 SpringBoot 的网上图书商城

目录

1 绪论
1.1课题背景与意义
1.2 系统实现的功能
1.3课题研究现状
2系统相关技术
2.1 Java技术
2.2 B/S架构
2.3 MySQL 介绍
2.4MySQL环境配置
2.5SpringBoot框架
3系统需求分析
3.1系统功能
3.2可行性研究
3.2.1 经济可行性
3.2.2 技术可行性
3.2.3 运行可行性
3.2.4 时间可行性
3.3系统业务过程分析
3.4系统用例图
4系统设计
4.1数据库设计
4.2系统整体设计
4.2.1 系统设计思想
4.2.2系统流程图
5系统详细设计
5.1系统功能模块
5.2管理员功能模块
5.3卖家功能模块
6系统测试
7总结与心得体会
7.1 总结
7.2 心得体会
参考文献
致谢

绪论

课题背景与意义

在Internet高速发展的今天,计算机的应用几乎完全覆盖我们生活的各个领域,互联网在经济,生活等方面有着举足轻重的地位,成为人们资源共享,信息快速传递的重要渠道。在中国,网上管理的兴起也同时飞速发展着。为了适应现代人类强烈的时间观念,对于网上图书商城传统管理方式的缺点,互联网的出现打破了这种局限性,给了广大用户更大的选择空间,促进了网上图书商城管理,有效的避免了网上图书商城管理缭乱的局面,方便用户。本网站中,管理员可以以最方便的形式,在最短的时间内查找最多的网上图书信息。因此,系统无疑给人们的生活带来了极大的方便,网络的应用让时间和距离不再是局限。

通过网上图书商城的研究可以更好地理解系统开发的意义,而且也有利于发展更多的智能系统,解决了人才的供给和需求的平衡问题,网上图书商城的开发建设,由于其开发周期短,维护方便,所以它可以适应网上图书商城体系基本要求。

系统实现的功能

本次设计任务是要设计一个网上图书商城,通过这个系统能够满足网上图书商城的管理功能。系统的主要功能包括首页、个人中心、用户管理、卖家管理、图书类型管理、图书信息管理、订单管理、系统管理等功能。

管理员可以根据系统给定的账号进行登录,登录后可以进入网上图书商城,对网上图书商城所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。

该系统为每一个用户都分配了一个用户账号,用户通过账号的登录可以在系统中查看网上图书商城信息及对个人信息进行修改等功能。

系统相关技术

  • Java技术
  • B/S 架构
  • MySQL 介绍
  • SpringBoot

系统需求分析

系统功能架构图

在这里插入图片描述

系统用例图

系统业务用例图

在这里插入图片描述

数据库表设计

图书类型

在这里插入图片描述

地址

在这里插入图片描述

图书借阅

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
dianpumingchengvarchar200店铺名称
tushumingchengvarchar200图书名称
tushuleixingvarchar200图书类型
zhanghaovarchar200账号
shuliangint数量
jieyueriqidate借阅日期
guihairiqidate归还日期
jieyueshuomingvarchar200借阅说明
yonghumingvarchar200用户名
xingmingvarchar200姓名
shoujivarchar200手机
sfshvarchar200是否审核
shhflongtext4294967295审核回复

订单表

字段名称类型长度字段说明主键默认值
idbigint主键主键
addtimetimestamp创建时间CURRENT_TIMESTAMP
orderidvarchar200订单编号
tablenamevarchar200商品表名tushuxinxi
useridbigint用户id
goodidbigint商品id
goodnamevarchar200商品名称
picturevarchar200商品图片
buynumberint购买数量
pricefloat价格/积分0
discountpricefloat折扣价格0
totalfloat总价格/总积分0
discounttotalfloat折扣总价格0
typeint支付类型1
statusvarchar200状态
addressvarchar200地址
telvarchar200电话
consigneevarchar200收货人
logisticslongtext4294967295物流
zhanghaovarchar200商户名称

系统整体设计

系统操作流程图

在这里插入图片描述

系统详细设计

图书信息界面图

在这里插入图片描述

购物车界面图

在这里插入图片描述

卖家管理界面图

在这里插入图片描述

图书信息管理界面图

在这里插入图片描述

订单管理界面图

在这里插入图片描述

总结与心得体会

总结

通过完成该网上图书商城和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。

本网站所实现的是一个网上图书商城,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。

  • 52
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要定义购物车的数据模型,包括购物项和购物车。 购物项包括书籍信息、数量和小计金额。购物车包括购物项列表和总金额。 购物车需要实现以下功能: 1. 添加购物项 2. 删除购物项 3. 修改购物项数量 4. 清空购物车 5. 计算购物车总金额 接下来,我们可以创建一个 ShoppingCartService 类,实现以上功能。 ```java @Service public class ShoppingCartService { private Map<Long, ShoppingCartItem> cartItems = new HashMap<>(); // 添加购物项 public void addItem(Book book, int quantity) { if (cartItems.containsKey(book.getId())) { ShoppingCartItem item = cartItems.get(book.getId()); item.setQuantity(item.getQuantity() + quantity); item.setSubtotal(item.getSubtotal() + book.getPrice() * quantity); } else { ShoppingCartItem item = new ShoppingCartItem(); item.setBook(book); item.setQuantity(quantity); item.setSubtotal(book.getPrice() * quantity); cartItems.put(book.getId(), item); } } // 删除购物项 public void removeItem(Long bookId) { cartItems.remove(bookId); } // 修改购物项数量 public void updateItemQuantity(Long bookId, int quantity) { ShoppingCartItem item = cartItems.get(bookId); item.setQuantity(quantity); item.setSubtotal(item.getBook().getPrice() * quantity); } // 清空购物车 public void clearCart() { cartItems.clear(); } // 计算购物车总金额 public double getTotal() { double total = 0.0; for (ShoppingCartItem item : cartItems.values()) { total += item.getSubtotal(); } return total; } // 获取购物项列表 public List<ShoppingCartItem> getCartItems() { return new ArrayList<>(cartItems.values()); } } ``` 然后,我们可以在控制器中调用 ShoppingCartService 实现购物车功能。 ```java @RestController public class ShoppingCartController { @Autowired private ShoppingCartService shoppingCartService; // 添加购物项 @PostMapping("/shopping-cart") public void addItem(@RequestParam Long bookId, @RequestParam int quantity) { Book book = bookService.getBookById(bookId); shoppingCartService.addItem(book, quantity); } // 删除购物项 @DeleteMapping("/shopping-cart/{bookId}") public void removeItem(@PathVariable Long bookId) { shoppingCartService.removeItem(bookId); } // 修改购物项数量 @PutMapping("/shopping-cart/{bookId}") public void updateItemQuantity(@PathVariable Long bookId, @RequestParam int quantity) { shoppingCartService.updateItemQuantity(bookId, quantity); } // 清空购物车 @DeleteMapping("/shopping-cart") public void clearCart() { shoppingCartService.clearCart(); } // 获取购物车信息 @GetMapping("/shopping-cart") public ShoppingCart getShoppingCart() { ShoppingCart cart = new ShoppingCart(); cart.setCartItems(shoppingCartService.getCartItems()); cart.setTotal(shoppingCartService.getTotal()); return cart; } } ``` 最后,我们可以在前端页面中调用以上接口实现购物车功能。例如,添加购物项可以使用以下代码: ```javascript function addToCart(bookId, quantity) { $.ajax({ type: "POST", url: "/shopping-cart?bookId=" + bookId + "&quantity=" + quantity, success: function() { alert("添加成功!"); }, error: function() { alert("添加失败!"); } }); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值