基于SpringBoot的旧物回收商城的设计与实现
2019-12-05叶方超张思扬李传锴
叶方超 张思扬 李传锴
摘 要:针对人们对物质需求的提升造成资源浪费严重问题,考虑到目前大众文化水平提升,城市生活的高压和快速,使得人们开始追求精致生活、慢生活,而工艺品正符合人们的需求。本商城将废品与工艺品结合,设计了回收废品的新方案。用户可以使用本商城将废品转化为更有价值的工艺品,实现废品的回收再利用。
关键词: SpringBoot;MyBatis;MySQL;网上商城;废品回收
【Abstract】 With the improvement of people's living standards, people's growing material demand has made resources waste more and more serious. And with the improvement of the level of popular culture and the high pressure and speed of urban life, people began to pursue exquisite life and slow life, and the crafts just meet the needs of people. The mall combines waste and crafts to provide a new solution for recycling waste. Users can use this mall to turn waste into more valuable crafts to achieving waste recycling and reuse.
【Key words】 SpringBoot; MyBatis; MySQL; online store; waste recycling
0 引 言
近年来,随着互联网的发展,废品回收和二手转卖的市场从线下转移到了线上,使得人们对废品有了新的处理方法。但这些线上平台的回收形式基本都是在回收后直接转卖或者处理。而另一方面在当今社会,工艺品市场均价较高,常常会出现中意商品,但却因自身購买力不足导致望而却步[1]。
本商城在以往的回收模式中,引进了加工这一环节,并且加工人员多会任用应届毕业生,在为其创造工作机会的同时,减少了加工中的人力开销,并且将工艺品销售放入网上商城,以求最大限度简化销售环节流程,通过上述方式来优化工艺品的价格,从而降低购买者门槛,扩大消费群体。本商城使用当下最流行的JavaEE架构SpringBoot框架开发,使用MySQL的InnoDB引擎管理数据库[2],利用Druid连接池来连接数据库,再使用MyBatis对数据库进行操作,这样的结构配置能让商城做到安全稳定运营、易于拓展、高速开发,从而满足项目初期的各项设计需求。
1 核心关键技术
1.1 SpringBoot
Spring Boot是Pivotal团队于2013年推出的新框架,主要用来简化Spring开发框架的开发、配置、调试和部署工作,并在这个新框架中集成了大量便于使用的实用基础框架[3]。同时,该框架使用特定方式来调配,开发者已不再需要定义样板化的配置,因此Spring Boot非常适合于快速开发研究。
1.2 MyBatis
MyBatis是集成SQL查询、存储过程调用和高级映射的持久层框架,几乎封装了所有通过手工设置的JDBC代码,通过简单的XML配置和注解,将Java的POJOs映射成数据库中的记录[4]。同时,这还是开源免费的轻量级框架,学习成本低,开发者可以快速上手,并且解除了SQL和程序代码之间的耦合,开发者则可以在此基础上继续封装自己需要的持久层。
2 整体设计思路
2.1 用户需求分析
与常规商城结构相似,该商城分前台和后台,商城客户使用前台,商城工作人员使用后台。对于客户,商城要做到无障碍使用,且界面美观,安全无忧。对于工作人员,则要立足于对客户、商品、订单、员工的有效管理,且操作方便、快速响应、安全无误。对于商城维护人员,则要使其维护方便、且易于后续功能拓展。同时,还要做到多终端、多浏览器适配,以适应用户群体的差异性,提升用户使用体验。
2.2 功能需求分析
文中将商城的使用人员主要分为客户和工作人员,对于不同的工作人员可以对其进行权限控制,使其不能操作权限以外的功能。系统功能模块如图 1所示。对于客户,要实现账号登录、账号注册、账号信息修改、购物车管理、订单管理等操作。对于工作人员,要实现权限管理、订单管理、用户管理、商品管理、客服交流等操作。
3 数据库设计
3.1 概念结构设计
本商城主要包含8个实体,分别是:员工、客户、商品、出货订单、进货订单、购物车、工单、地址,通过E-R图来解释各个实体之间的关系。实体关系如图 2所示。
3.2 逻辑结构设计
根据商城的需求和功能,设计出该商城的8个关系。对此可阐释分述如下。
(1)员工表(员工编号,用户名,密码,性别,出生日期,住址,电话,邮箱,等级,备注)。
(2)客户表(客户编号,用户名,密码,性别,出生日期,住址,联系电话,电子邮件,备注)。
(3)商品表(商品编号,商品名字,商品图片,上架日期,商品库存量,商品已出货量)。
(4)进货表(时间,订单号,商品名称,数量,单价,总金额,经手人,备注)。
(5)销售表(时间,销售记录编号,用户编号,商品名称,商品编号,单价,数量,总价,用户地址,经手人,备注)。
(6)购物车表(购物车id,商品id,商品姓名,用户id,数量,单价,总价)。
(7)工单表(工单号,工单内容,工单图片,提交者用户名,提交者id,工单状态)。
(8)收货地址表(地址id,用户id,地址信息)。
4 系统功能实现
4.1 用户功能模块
客户在无账号的情况下,就能够浏览商城商品,也能查看商品的详细信息,但若要购买商品,还需要注册一个账号。成功注册、并登录,用户将根据系统提示来完善账户信息,就可以进行购买操作,当然也可以将心仪的商品加入到购物车、再一同结算,结算后会产生订单,用户签收后,订单就完成了。用户在本商城不仅可以进行购买操作,还可以执行回收和定制操作,用户根据提示在工单页面提交相关信息后,即会有工作人员进行对接,同时生成相关订单,直至交易结束,订单关闭。商城首页界面如图 3所示。设计研发的关键代码详见如下。
@GetMapping("/shoppings")
public String shopping(HttpSession httpSession,Model model){
int user_id=(int) httpSession.getAttribute
("user_id");
if(httpSession.getAttribute("address")!=null){
List
(List
AddressUser addressUser=address.get(0);
model.addAttribute("Address_shop",addressUser);
}
List
model.addAttribute("shoplist",shoppinglistbyid);
return "Shopping";
}
4.2 后台功能模块
后台界面需要使用管理员账户才能登录进入,后台管理界面如图 4所示。而且根据登录的账号不同,可调取使用的功能也有所不同。客服员工,能进行工单管理,对发送来的工单设置了查看和回复功能,对于提交过来的回收需求和定制,客服员工能生成订单,用于完成回收流程和定制流程。普通员工,能进行订单管理,并查看系统中的订单,若根据订单发货后再修改订单,也能对无效订单进行删除操作,普通员工也被赋予了商品管理功能,对新商品执行上架操作,对活动商品信息进行修改,以及制定需下架的无效商品。除此之外,普通员工还能兼任客服工作,对工单进行管理。管理员、也就是商城老板,可以使用管理员账户进行员工管理,在系统中加入新员工账号,对职位变更的员工将修改其权限和信息,并及时删除离职员工的信息。此外,管理员也能进行工单管理、订单管理、商品管理以及用户管理。设计研发的关键代码具体如下。
@GetMapping("/deletemployee")
public String delteemployee(@RequestParam
("id") int id,Model model){
employeeServices.deleteUser(id);
model.addAttribute("employeelist",
employeeServices.getUserList());
return "employee_list_back";
}
@PostMapping("/addemployee")
public String addemployee(Employee employee,Model model){
employeeServices.addUser(employee);
model.addAttribute("employeelist",
employeeServices.getUserList());
return "employee_list_back";
}
5 結束语
本商城系统的设计与实现为废品回收提供了一个全新的解决方案,进一步方便人们日常生活中的废物处理,也为工艺品市场注入新的生机和活力。本废品回收商城经过测试和试运行,基本实现了需求分析中所描述的功能,并且使用简单、界面美观、安全稳定,还具备高可用性和高拓展性。但在试运行中也暴露出了一些不足,如订单接收无提醒、客服的通讯延迟等问题,这些都需要后续研究的改进与完善。
参考文献
[1]蔡骅. 浅谈电商平台下的艺术品市场[J]. 时代金融,2018(29):342,349.
[2]吴沧舟,兰逸正,张辉. 基于MySQL数据库的优化[J]. 电子科技,2013,26(9):182-184.
[3]吕宇琛. SpringBoot框架在web应用开发中的探讨[J].科技创新导报,2018,15(8):168,173.
[4]荣艳冬.关于Mybatis持久层框架的应用研究[J].信息安全与技术,2015,6(12):86-88.