springboot+社区购物小程序 毕业设计-附源码291720
社区购物小程序
摘 要
近年来,随着便民小程序的快速发展,购物小程序越来越受到网民们的欢迎,商业化购物小程序对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得购物小程序越来越赢得人们们的青睐。现今,大量的计算机技术应用于商业领域,包括软件技术、网络技术、硬件技术简便小程序等。越来越多的企业使用互联网小程序来开展业务、销售、购买和宣传各种商品。各种商业系统和软件已经解放了企业的双手,并使企业能够最大限度地获得利益。因此,互联网小程序技术在商业领域占有非常重要的地位。
本文主要通过对系统的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据小程序的功能设计确定了数据库结构,实现完整的代码编写。社区购物小程序使用采取MySQL作为后台数据的主要存储单元,采用Springboot框架、JSP技术、Ajax技术进行业务系统的编码及其开发,本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、商品搜索功能、加入订单和查看订单功能、生成订单和查看我的订单功能、在线付款功能以及商品推荐功能的实现过程。
关键词:社区购物; SSM框架;小程序
Community shopping applet
Abstract
In recent years, with the rapid development of convenient applets, shopping applets are more and more popular with Internet users. Commercial shopping applets also play a more and more important role in the development of national economy. Simple process, convenient and reliable payment method, fast and smooth logistics express and safe information protection all make shopping applets more and more popular. Nowadays, a large number of computer technologies are used in commercial fields, including software technology, network technology, hardware technology, simple applet and so on. More and more enterprises use Internet applets to carry out business, sell, buy and publicize all kinds of goods. Various business systems and software have liberated the hands of enterprises and enabled enterprises to maximize benefits. Therefore, Internet applet technology plays a very important role in the business field.
This paper mainly analyzes the functional requirements of the foreground system and background management system, and analyzes the non functional requirements of the security and scalability of the system. Based on the detailed requirement analysis, the database structure is determined according to the function design of the applet to realize the complete coding. The community shopping applet uses MySQL as the main storage unit of background data, and uses Springboot framework, JSP technology and Ajax technology to code and develop the business system. This paper shows the implementation effect diagram of the home page, and introduces the user registration function, commodity search function, adding order and viewing order function through the code and page The implementation process of generating orders and viewing my orders, online payment and commodity recommendation.
Key words:Community shopping; Springboot framework; Applet
目 录
第1章 绪论
1.1开发背景与意义
1.2开发意义
1.3研究现状 2
第2章 开发工具及相关技术介绍 2
2.1 J2EE技术 2
2.2MVVM模式
2.3B/S结构
2.4Sringboot框架
2.5Mysql数据库 4
第3章 系统分析 4
3.1可行性分析 5
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3法律条款可行性 7
3.1.4操作可行性 8
3.2需求分析 9
3.3业务流程分析
3.4 数据流分析
第4章 系统设计
4.1系统结构设计
4.2功能模块设计
4.3数据库设计
4.3.1 E-R图设计
4.3.2表设计
第5章 系统实现
5.1基本任务
5.2主页面的实现
5.3商品推荐模块的实现
5.4订单信息管理模块的实现
5.5注册用户管理模块的实现
5.6商城列表管理模块的实现
第6章 系统测试
6.1测试目的
6.2测试概述
6.3单元测试
6.3.1登录测试
6.3.2商品管理测试
6.3.3购买商品测试
6.4集成测试
第7章 总结与展望
参考文献
致谢
- 绪论
- 开发背景与意义
近年来,随着移动互联网的迅速发展,除了传统的网页浏览、资料搜索、发送电子邮件等基本应用外,国内大多数人们已经渐渐习惯了通过小程序接受购物、通讯、旅游、娱乐等传统功能之外的新服务模式,其中利用小程序购物也日益成为人们生活中一种重要的购物形式。互联网的快速发展为购物小程序的发展提供了强大保障和支撑,另外,在线购物的外部环境也逐渐得到了改善,移动互联网终端(手机、平板)使得网民结构变得越来越大众化,支付结算手段越来越便捷,快递物流越来越畅通,相应的法规政策也越来越完善。
- 开发意义
现如今,社区小程序购物对人们的吸引力越来越大,人们对社区小程序购物的看法也从一开始的不了解到了解,从怀疑到逐渐信任,从拒绝到慢慢接受并习惯。在线社区小程序购物的观念已经越来越深入人心,促使人们在线社区小程序购物的主要因素有:
(1)方便快捷。社区小程序购物可全天 24 小时营业,人们不需要奔赴到商店就可进行购物,购买的商品也可以直接送达到家。这样就使得消费者即使足不出户,也能买到来自世界各地得喜爱商品。
(2)信息量大。相比于传统的购物的方式,电子商务所能容纳的信息量非常大,既包括现实产品也包括虚拟产品。另外,还可以提供一些比较特殊的产品,既能保护消费者的个人隐私,又能满足消费者不同的心理需求。
(3)私密性强。消费者有时候在购买一些不愿意让别人知道的商品时,利用社区小程序购物,卖家和快递物流都可以保护好用户的隐私,这样就可以避免一些不必要的麻烦。
- 研究现状
由于近年来在线销售行业的兴起,也了解了一些相关信息。在中国,以前的销售只是传统销售,而在线销售似乎满足了市场需求。到目前为止,有一些家喻户晓的名字,如淘宝和天猫。然而,这种在线销售也有一些缺点:用户不能在下订单并付款后立即提货,他们还应该考虑货物是否受损。该系统是根据商品网络上的销售情况开发的。
经过几年的发展,许多被消费者认可的社区小程序购物中心已经出现在国内外。这些社区小程序购物中心的内容是多样化的,它们包含的功能相对完善,包括注册用户、搜索商品、管理订单、介绍商品细节。如今,互联网的广泛使用在一定程度上导致了国内外在线购物中心的发展,只要企业通过这个平台在线打字,就可以随时管理系统的内容。通过展示商品内容和发布公告,鼓励消费者购买和进行在线交易。
- 开发工具及相关技术介绍
MVVM模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
- Mysql数据库
Mysql 经过多次的更新,功能层面已经非常的丰富和完善了,从Mysql4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的Mysql支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的学生课程考试系统在实际的实现过程中,最终选择Mysql数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的Mysql来对校园竞赛管理系统后台数据进行存储操作。
- 系统分析
本系统将在经济、技术、操作、法律条款这三个角度上进行可行性分析。
- 经济可行性
整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。
- 技术可行性
技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于Java语言,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用SQL Server数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。
- 法律条款可行性
社区购物小程序的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用Java技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。
- 操作可行性
开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。
- 需求分析
前台需求:
(1)用户模块:主要包括用户的注册和登陆、用户个人信息管理和用户帐单查询等功能。
(2)商品模块:主要包括商品浏览、商品信息展示、商品搜索、商品收藏、商品购买、商品评论等功能。
(3)订单模块:主要包括添加订单、查看我的订单和删除订单等功能。
(4)订单模块:主要包括生成订单、我的订单、查看订单详细信息、在线支付、确认收货等功能。
后台需求:
(1)用户管理:主要包括用户列表、用户等级管理和用户评论管理等功能。
(2)商品管理:主要包括商品列表、商品类目管理、商品添加、商品信息管理等功能。
(3)订单管理:主要包括订单和支付管理等功能。
用户用例图如下所示。
图3-1 用户用例图
管理员用例图如下所示。
图3-2 管理员用例图
商品添加用例描述如下表所示。
表3-1商品添加用例描述
用例名称 |
添加新商品 |
|
参与者 |
商家 |
|
用例概述 |
本用例用于商家进行添加新商品操作 |
|
前置条件 |
商家添加新商品前必须登录系统 |
|
后置条件 |
系统中添加一个新商品 |
|
基本事件流 |
参与者动作 |
系统响应 |
4、商家填写新商品信息,点击“添加”按钮。 |
2、系统打开添加新商品界面。 3、系统检查管理员输入的商品信息是正确有效的。 5、系统将商品添加到数据库中。 6、系统提示“操作成功”。 7、系统跳转到商品管理界面。 |
|
其他事件流 |
1、系统验证商家输入的商品名为空,则提示“*请填写商品名称!”。 2、系统验证商家输入的价格不是货币格式,则提示“*价格必须是货币格式!” |
商品删除用例描述如下表所示。
表3-2商品删除用例描述
用例名称 |
删除商品 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行删除商品操作 |
|
前置条件 |
管理员删除商品前必须登录系统 |
|
后置条件 |
系统中删除一个商品 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“商品管理”。 4、管理员选择一个商品,点击“删除”按钮。 6、管理员点击“确定”按钮。 |
2、系统从数据库中获取商品信息列表 3、系统打开商品列表界面。 5、系统提示“你确定要删除吗?”。 7、系统将商品从数据库中删除。 8、系统提示“删除成功”。 9、系统跳转到商品管理界面。 |
|
其他事件流 |
无 |
用户编辑用例描述如下表所示。
表3-3用户编辑用例描述
用例名称 |
修改用户 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行修改用户信息操作 |
|
前置条件 |
管理员已经登录系统 |
|
后置条件 |
系统中更新一条用户记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“用户管理”。 4、管理员在用户列表中选择一个用户,点击“编辑”按钮。 6、管理员填写用户信息,点击“保存修改”按钮。 |
2、系统从数据库中获取用户信息。 3、系统打开用户列表界面。 5、系统打开修改用户信息界面。 7、系统将更改后的添加到数据库中。 8、系统提示“操作成功”。 9、系统跳转到用户管理界面。 |
|
其他事件流 |
无 |
商品评价用例描述如下表所示。
表3-4商品评价用例描述
用例名称 |
添加评论 |
|
参与者 |
用户 |
|
用例概述 |
本用例用于用户进行对商品评论操作 |
|
前置条件 |
用户已经登录系统 |
|
后置条件 |
系统中增加一条用户评论 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、用户在前台首页选择任意一个商品分类。 4、管理员在用户列表中选择一个商品。 7、用户填写评论,点击“添加评论”按钮。 |
2、系统从数据库中获取商品列表信息。 3、系统打开商品列表界面。 5、系统从数据库中获取商品和评论信息。 6、系统打开商品信息及评论界面。 8、系统检查用户输入的评论是正确有效的。 9、系统将评论添加到数据库中。 |
|
其他事件流 |
1、系统验证用户输入的字段为空,则提示“*评论内容不能为空!”。 |
商品购买用例描述如下表所示。
表3-5商品购买用例描述
用例名称 |
商品购买 |
|
参与者 |
用户 |
|
用例概述 |
本用例用于用户进行对商品购买操作 |
|
前置条件 |
用户已经登录系统 |
|
后置条件 |
系统中增加一条用户购买记录 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、用户在前台首页选择任意一个商品分类。 4、管理员在用户列表中选择一个商品。 7、用户填写购买订单,点击“购买”按钮。 |
2、系统从数据库中获取商品列表信息。 3、系统打开商品列表界面。 5、系统从数据库中获取商品信息。 6、系统打开商品信息及购买界面。 8、系统检查用户输入的信息是正确有效的。 9、系统将购买记录添加到数据库中。 |
|
其他事件流 |
1、系统验证用户输入的字段为空,则提示“*购买数量不能为空!”。 |
- 业务流程分析
社区购物小程序的前台中,用户模块和商品模块进行数据交互,实现购买的功能。前台的功能主要包括用户模块、商品模块、订单模块和订单模块。
社区购物小程序的后台中,管理员对用户在前台提交申请产生的数据进行处理,以满足用户的需求。前台系统和后台系统有数据交互,整个系统各个部分相互独立又密不可分。后台的功能主要包括用户管理、商品管理、订单管理。
系统业务流程图如下所示。
图3-2系统业务流程图
数据流图的设计主要是由于系统目前功能还没有确定,可以先描述可能要使用到的功能内容,并且向用户了解“系统从外界接受什么数据”和“系统向外界送出什么数据”等信息,根据用户所给的答复进行设计数据流图。
图3-5系统数据流图(1层)
系统第二层数据流图主要详细反应各功能模块对应的操作与数据进行交互的原理。并且更详细的显示出各角色对功能模块操作的数据流向,让开发人员能了解该系统的开发方向,能够更准确的开发出系统模型。
将商品信息维护进行细化得到商品信息管理二层数据流程图,如下图所示。
图3-6商品管理数据流图(2层)
将订单信息管理进行细化得到订单信息管理二层数据流程图,如下图所示。
图3-7订单管理数据流图(2层)
- 系统设计
- 系统结构设计
软件系统的功能是多样的,在软件设计的过程中分层进行的思维是极为重要的,这样的思维可以在软件开发的过程中很大程度降低层之间的耦合度,这一点是符合“低耦合、高内聚”的软件设计原则的。因此,可以把社区购物小程序划分为显示层、数据层和业务层。在系统的架构中,为了方便上层调用完成相应的功能,每个层次都会为其对应的上层提供相应的接口。
系统结构图如下所示。
图4-1系统结构图
1.显示层
此层主要是为用户提供计算机交互的UI界面,它根据用户的相应操作来提供相应的逻辑处理。
2.数据库层
数据库不仅是对软件所涉及的实体映射,而且也是系统读取和处理数据的关键所在。本系统的整个操作流程设计都是围绕着数据库里面的数据所展开的。
3.业务层
主要是通过系统的业务层中的业务逻辑来实现业务需求,依据相应的需求,剖析实现的策略和对应的业务逻辑,其优劣,在很大程度上决定了软件的质量,所以,整个系统成败的主要原因在于业务的逻辑实现。
- 功能模块设计
通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。
图4-2系统功能结构图
注册/登录
游客(未进行注册或登陆的用户)可以浏览、搜索商品,但不能进行收藏和购买。用户注册首先需要进行表单验证,来验证用户名和手机号码是否合法,然后验证用户名和手机号是否已经存在,验证通过即可注册。
注册成功后,用户可以通过输入用户名来登录系统,输入密码后进行验证。登录成功后,用户可以使用商品收藏、商品购买、查看我的订单、商品推荐、个人信息管理等功能。
个人信息管理
用户登录系统后,在账户设置中,可以修改昵称、头像、手机号、登陆密码、收货地址等个人基本信息。
商品搜索
系统首页展示了商品搜索输入框,用户在输入框内输入与商品名称相关的关键字,系统通过模糊查询搜索到用户需要的商品并展示。
商品信息展示
用户在浏览商品时,点击某一个商品,跳转到该商品的信息展示页。在商品信息页面展示了商品的详情信息,比如商品介绍,商品详情,商品销量和收藏量,商品评价等,用户通过浏览信息了解商品的主要功能和评价,最终决定是否购买。
商品购买
在商品信息页面,用户可以通过点击“购买”进行购买商品,点击后跳转到订单生成页面。订单生成页面会展示商品信息,收货地址,优惠信息等,用户确认后信息无误点击“提交”生成订单,订单生成后跳转到支付页面,支付完成则购买成功。
商品评论
用户在完成交易后可以对购买的商品进行评价,用户可以对商品进行打分,上传文字和商品图片等。用户对商品的评论可以帮助其他用户了解该商品,方便其他用户决定是否购买。
生成订单
用户在购买商品时,点击商品信息页面的“立即购买”或订单页面的“去结算”,跳转到订单生成页面,在订单生成页面用户需要确认收货地址、收货人手机号、收货人姓名等信息,确认无误后点击“提交订单”,订单提交成功,生成一条订单信息。
查看订单详情
用户在查看我的订单列表时,可以点击某一个订单来查看该订单的详细信息,主要包括订单编号、订单状态、订单日期、订单中的商品、交易金额等。订单详情还可以查看商品物流信息,用户通过能够物流信息了解所购买商品的发货状态。
商品列表
商家可以在“商品列表”中展示商城中需要销售的商品,包含商品名称,商品属性以及类目等商品信息。商家可以对商品进行搜索,按分类查询商品。
商品添加
添加商品首先需要输入商品基本信息,如商品名称、商品数量、商品分类等;然后需要编辑商品信息详情,如商品规格,商品描述,商品图片等。商家也可以删除已添加的商品。
商品管理
用户在购买商品时需要选择商品规格,管理员可以设置商品规格的名称以及展示的顺序等。管理员还可以给商品规格添加属性值,也可以删除不需要的属性值。同时,管理员可以编辑商品信息,如商品介绍、商品展示图片等,方便用户浏览。
- 数据库设计
- E-R图设计
概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。
系统E-R图如下所示。
图4-3系统E-R图
在图中,用户购买商品,关系为1:N,用户评论商品,关系为1:N,用户和订单的关系为1:1,用户和订单的关系为1:N。
- 表设计
数据库表是设计和实现系统的一个重要基础。以下列出了该购物系统几个重要的数据库表。
group表:
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
group_id |
mediumint |
8 |
0 |
-1 |
用户组ID |
display |
smallint |
4 |
0 |
0 |
显示顺序 |
name |
varchar |
16 |
0 |
0 |
名称 |
description |
varchar |
255 |
-1 |
0 |
描述 |
source_table |
varchar |
255 |
-1 |
0 |
来源表: |
source_field |
varchar |
255 |
-1 |
0 |
来源字段: |
source_id |
int |
10 |
0 |
0 |
来源ID: |
register |
smallint |
1 |
-1 |
0 |
注册位置: |
create_time |
timestamp |
0 |
0 |
0 |
创建时间: |
update_time |
timestamp |
0 |
0 |
0 |
更新时间: |
mall_management表:
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
mall_management_id |
int |
11 |
0 |
-1 |
商城管理ID |
manufactor |
varchar |
64 |
-1 |
0 |
厂家 |
hits |
int |
11 |
0 |
0 |
点击数 |
praise_len |
int |
11 |
0 |
0 |
点赞数 |
examine_state |
varchar |
16 |
0 |
0 |
审核状态 |
recommend |
int |
11 |
0 |
0 |
智能推荐 |
cart_title |
varchar |
125 |
-1 |
0 |
标题 |
cart_img |
text |
0 |
-1 |
0 |
封面图: |
cart_description |
varchar |
255 |
-1 |
0 |
描述 |
cart_price_ago |
double |
8 |
0 |
0 |
原价:[1] |
cart_price |
double |
8 |
0 |
0 |
卖价:[1] |
cart_inventory |
int |
11 |
0 |
0 |
商品库存 |
cart_type |
varchar |
64 |
0 |
0 |
商品分类: |
cart_content |
longtext |
0 |
-1 |
0 |
正文 |
cart_img_1 |
text |
0 |
-1 |
0 |
主图1: |
cart_img_2 |
text |
0 |
-1 |
0 |
主图2: |
cart_img_3 |
text |
0 |
-1 |
0 |
主图3: |
cart_img_4 |
text |
0 |
-1 |
0 |
主图4: |
cart_img_5 |
text |
0 |
-1 |
0 |
主图5: |
create_time |
datetime |
0 |
0 |
0 |
创建时间 |
update_time |
timestamp |
0 |
0 |
0 |
更新时间 |
order表:
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
order_id |
int |
11 |
0 |
-1 |
订单ID: |
order_number |
varchar |
64 |
-1 |
0 |
订单号: |
goods_id |
mediumint |
8 |
0 |
0 |
商品id |
title |
varchar |
32 |
-1 |
0 |
商品标题: |
img |
varchar |
255 |
-1 |
0 |
商品图片: |
price |
double |
10 |
0 |
0 |
价格: |
price_ago |
double |
10 |
0 |
0 |
原价: |
num |
int |
8 |
0 |
0 |
数量: |
price_count |
double |
8 |
0 |
0 |
总价: |
norms |
varchar |
255 |
-1 |
0 |
规格: |
type |
varchar |
64 |
0 |
0 |
商品分类: |
contact_name |
varchar |
32 |
-1 |
0 |
联系人姓名: |
contact_email |
varchar |
125 |
-1 |
0 |
联系人邮箱: |
contact_phone |
varchar |
11 |
-1 |
0 |
联系人手机: |
contact_address |
varchar |
255 |
-1 |
0 |
收件地址: |
postal_code |
varchar |
9 |
-1 |
0 |
邮政编码: |
user_id |
int |
10 |
0 |
0 |
买家ID: |
merchant_id |
mediumint |
8 |
0 |
0 |
商家ID: |
create_time |
timestamp |
0 |
0 |
0 |
创建时间: |
update_time |
timestamp |
0 |
0 |
0 |
更新时间: |
description |
varchar |
255 |
-1 |
0 |
描述 |
state |
varchar |
16 |
0 |
0 |
订单状态 |
comment表:
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
comment_id |
int |
11 |
0 |
-1 |
评论ID: |
user_id |
int |
11 |
0 |
0 |
评论人ID: |
reply_to_id |
int |
11 |
0 |
0 |
回复评论ID |
content |
longtext |
0 |
-1 |
0 |
内容: |
nickname |
varchar |
255 |
-1 |
0 |
昵称: |
avatar |
varchar |
255 |
-1 |
0 |
头像地址 |
create_time |
timestamp |
0 |
0 |
0 |
创建时间: |
update_time |
timestamp |
0 |
0 |
0 |
更新时间: |
source_table |
varchar |
255 |
-1 |
0 |
来源表: |
source_field |
varchar |
255 |
-1 |
0 |
来源字段: |
source_id |
int |
10 |
0 |
0 |
来源ID: |
- 系统实现
- 基本任务
本章节详细介绍了系统各大功能模块的实现过程和实现方法,对每个功能进行实现,设计详细的根本目标是确定应该具体实现所要求的系统,每个模块都对应着相应的界面和显示的配图。主要从主页面的实现、登录模块的实现、商品信息管理模块的实现、订单信息管理模块的实现、注册用户管理模块的实现、商家信息管理模块的实现等方面来描述。
- 主页面的实现
用户界面要尽量简洁大方,使用户能够方便找到需要的功能入口,浏览、购买商品,且要易于修改和维护,同时还要保证用户合法和系统安全。
首页界面如下图所示。
图5-1首页界面
首页关键代码如下。
server:
port: 5000
servlet:
context-path: /api
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
jackson:
property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
- 商品推荐模块的实现
用户可以获取所有商品的列表并对其进行搜索。包括商品基本信息,如名称、价格、规格、厂家、商品详情描述,有商品功能的描述以及展示图片等。
商品推荐界面如下图所示。
图5-2商品推荐界面
商品推荐主要代码如下。
<%
//difengysfiqfgieuheze
@RestController
@RequestMapping("auth")
public class AuthController extends BaseController<Auth, AuthService> {
/**
* 服务对象
*/
@Autowired
public AuthController(AuthService service) {
setService(service);
}
}
- 订单信息管理模块的实现
管理员在后台管理界面点击到所有订单界面dingdan_list.jsp,向控制层dingdanAction发送请求,搜索当前所有订单信息,dingdanAction向dingdanDAOImp调用搜索全部订单的请求,向数据库的订单表搜索当前所有订单并将订单信息以对象的形式层层返回到dingdan_list.jsp界面,显示出当前所有订单信息。同时可以删除过期订单,确认已有订单,进行发货处理。
订单管理界面如下图所示。
图5-3订单管理界面
订单管理主要代码如下。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
StringBuffer sql = new StringBuffer("INSERT INTO ");
sql.append("`").append(table).append("`").append(" (");
for (Map.Entry<String,Object> entry:body.entrySet()){
sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
}
sql.deleteCharAt(sql.length()-1);
sql.append(") VALUES (");
for (Map.Entry<String,Object> entry:body.entrySet()){
Object value = entry.getValue();
if (value instanceof String){
sql.append("'").append(entry.getValue()).append("'").append(",");
}else {
sql.append(entry.getValue()).append(",");
}
}
sql.deleteCharAt(sql.length() - 1);
sql.append(")");
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
query.executeUpdate();
}
- 注册用户管理模块的实现
管理员对系统用户的管理,在yhzhgl.jsp实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,提交到mod.jsp中,使用sql命令更新密码。
用户管理界面如下图所示。
图5-4用户管理界面
用户管理关键代码如下。
@RequestMapping(value = {"/count_group", "/count"})
public Map<String, Object> count(HttpServletRequest request) {
Query count = service.count(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
- 系统测试
- 测试目的
社区购物小程序能够完成商品选购,商品分类,商城列表,商品评价,商品订单,用户管理等功能,做到所开发的系统操作简单,符合系统开放性要求,该小程序能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接。
- 测试概述
根据小程序测试目的并结合面向对象的测试方法,给出如下系统测试方案:
1、尽可能早的、并且不断地进行系统测试。因为错误发现的越早,修正它所付出的代价以及费用就会越小。
2、设计本测试用例时,应该给出测试的预期结果。一个合理的测试用例由两部分组成:主要有测试用的输入数据和该输入数据所期望的系统运行结果。
3、在设计本测试用例时,不仅需要有合法的输入测试用例,还应该要有非法的输入测试用例。因为,因为在系统的实际使用过程中,通常由于各种原因,用户往往会使用一些非法的输入测试用例来进行测试。测试用例为了测试系统的正确性和完整性,本节将对系统中重点模块的测试进行介绍。
- 单元测试
- 登录测试
测试项 |
首页登录功能测试 |
输入数据 |
1、输入正确的用户名和密码,单击“登录”按钮 2、输入错误的用户名和密码,单击“登录”按钮 3、不输入用户名和密码,单击“登录”按钮 |
预计输出数据 |
1、数据库中存在的用户能正确登录,。结果弹出主界面。 2、错误的或者无效用户登录,登录系统失败。 3、输入用户名或密码信息为空,登录系统失败。 |
使用上述测试用例对前台首页登录界面进行测试,当在用户名输入框中输入正确的用户名和密码时候,系统将弹出登录成功信息提示对话框。
使用上述测试用例对前台首页登录界面进行测试,当在用户名输入框中输入错误的或无效的用户名时,系统将弹出错误信息提示对话框。
通过测试可以观察到实现的运行结果与测试用例中预计输出的结果是相符的,所以测试通过。
- 商品分类测试
表6-2商品表预存数据
商品名 |
商品类别 |
商品价格 |
商品状态 |
A |
A |
389 |
上架 |
B |
B |
249 |
上架 |
C |
C |
322 |
下架 |
D |
D |
168 |
上架 |
添加时应注意事项:
管理员添加商品时必须添加已存在的商品类别,若该商品不属于现有的所有类别,则应该先添加商品类别。
下表描述了添加商品进行测试的用例,主要是为了防止添加商品时出现异常和存在的漏洞。
表6-3添加商品测试用例
输入 |
输出 |
||
商品名 |
商品价格 |
商品图片 |
|
空 |
参数错误 |
||
空 |
参数错误 |
||
空 |
请选择上传图片 |
||
A |
1 |
a.jpg |
添加成功 |
输入 |
输出 |
||
用户ID |
商品ID |
商品数量 |
|
11 |
1 |
1 |
购买商品成功 |
22 |
电视 |
请填写商品数量 |
|
33 |
电视 |
a |
购买失败 |
用户购买商品时,首先判断商品数量是否小于库存,若超出库存数量,则提示商品数量不足。
- 集成测试
集成测试的方案主要如下所述:
1.将系统移植到另一台计算机上,运行出错。修改配置信息后运行成功。
2.用户信息管理模块综合测试,添加新用户roess,为其分配一般管理员角色,查看一般管理员角色权限,保存设置,以roess身份登录,查看所拥有权限。
3.最后按照社区购物小程序的设计与实现,以不同角色的身份进入系统,对系统各模块功能进行测试,测试模块间逻辑功是否有误。
经过测试,发现此开发系统可以满足社区购物小程序流程的基本工作流程和基本要求。
- 总结与展望
本文针对社区购物小程序的特点和用户需求,前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的springboot框架进行开发,通过详细的需求分析、页面设计和功能设计,最终实现了一个基于 Java 的社区购物小程序。
社区购物小程序的特点有:
(1)简单大方,易于操作的 Web 页面;
(2)利用 Ajax 技术使页面进行无刷新更新;
(3)根据用户的浏览和购买记录,向用户推荐可能感兴趣的商品;
(4)系统具有商品搜索功能,使用户能够简单方便的找到自己心仪的商品;
(5)商品评论功能可以帮助用户更全面的了解商品信息,用户可以发表自己对已购买商品的评价;
(6)有良好的安全性和可扩展性,增强了系统的可靠性,使系统保持持久的生命力。
由于时间限制和本人能力条件有限,该系统还存在一些不足,今后也会出现许多新的开发技术,未来还可以对系统做出如下改进:
(1)优化系统页面,使页面更加美观且方便操作;
(2)优化商品搜索功能,提供多条件选择查询搜索;
(3)优化商品推荐功能,提高商品推荐的精准度;
(4)优化在线支付功能,提供更多支付接口,使用户付款更加方便;
(5)进一步提高系统的安全性,使系统更加健壮;
(6)优化数据和代码,提升软件效率,方便系统维护和扩展。
参考文献
[1]黄建澍.浅谈“互联网+”对外贸的影响(深圳)[J].知识经济,2016(15).
[2]张周平.2017年度中国电子商务市场数据监测报告[R].电子商务研究中心,2018.
[3]PanH,JiangWR,YanJ,etal.DesignandImplementationofE-commerceFeatureMajorWebsite[C]//SecondInternationalConferenceonMultimedia&InformationTechnology.IEEE,2015.
[4]中国互联网络信息中心,李静.第41次《中国互联网络发展状况统计报告》发布[J].中国广播,2018.
[5]HeidarzadehHanzaeeK,JavanbakhtA.Theeffectsofshoppingenvironmentonconsumptionemotions,perceivedvaluesandbehavioralintentions[J].ManagementScienceLetters,2013:2501-2512.
[6]彭非.B2B电子商务模式在我国的研究现状及发展趋势探析[J].金融经济,2017(2):85-87.
[7]曹继东.互联网+科技自媒体创新与盈利模式[R].北京:中国科技新闻学会,2015.
[8]艾维娜,杨坚争.B2B电子商务平台发展及存在的问题[J].电子商务,2018.
[9]LeeRST.ANewEraofIntelligente-CommerceBasedonIntelligentJavaAgent-BasedDevelopmentEnvironment(iJADE)[M]//Internet-BasedIntelligentInformationProcessingSystem,2015.
[10]卢信文,武志学.关于程序设计入门语言的教学改革研究[J].电脑知识与技术,2015(4):101-103.
[11]邱仲潘,张星成,宋智军.高级程序设计语言:JAVA版[M].清华大学出版社,2015.
[12]ChenKY,ChangJ,HouTW.AnEnergy-EfficientJavaVirtualMachine[J].IEEETransactionsonCloudComputing,2015:1-1.
[13]宦臣.JavaWeb开发中MVC模式的研究[J].时代教育(教育教学版),2015(21).
[14]LiJH,MengFX,WenXM.TheDesignandRealizationofLibraryMISBasedonMVC[J].AdvancedMaterialsResearch,2013,756-759:1114-1118.
[15]于湛麟,李仲秋,任永昌.SSH框架实现MVC架构的电子商务软件平台[J].计算机技术与发展,2016(10).
[16]张南平,朱富利.基于MVC模式的Struts框架的研究与应用[J].计算机技术与发展,2016,16(3).
[17]张晓峰.基于MDA的Web信息系统设计与实现[D].上海交通大学,2016.
[18]陈力行.基于开源框架的教学辅助平台的设计与实现[D].电子科技大学,2017.
[19]宁承林.基于MVC模式的Struts框架在J2EEWEB应用中的研究与实现[D].北京邮电大学,2015.
[20]WojciechowskiJ,SakowiczB,DuraK,etal.MVCmodel,strutsframeworkandfileuploadissuesinwebapplicationsbasedonJ2EEplatform[C]//ModernProblemsofRadioEngineering,Telecommunications&ComputerScience,InternationalConference.IEEE,2014:342-345.
致谢
时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。
点赞+收藏+关注 → 私信领取本源代码、数据库
springboot+社区购物小程序 毕业设计-附源码291720相关推荐
- springboot+音乐播放小程序 毕业设计-附源码191730
Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器,系统为人们提供了方便快捷.即用即搜的音乐搜索播放服务,包括音乐资讯.音乐搜索.新歌榜单.注册登录.论坛 ...
- springboot+电影售票小程序 毕业设计-附源码201532
影院售票小程序 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使 ...
- springboot影院售票小程序毕业设计-附源码201532
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确 ...
- 小程序+spring boot美食教程小程序 毕业设计-附源码190900
Springboot美食教程小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的美食教程小程序,系统为人们提供了方便快捷.即用即搜的美食教程服务,包括美食资讯.美食话题.注册登录等,用户能够方便 ...
- SSM+高校食堂外卖服务小程序 毕业设计-附源码200910
Springboot基于微信小程序的高校食堂外卖服务 摘要 随着生活质量的日益改善以及生活节奏的日益加快,人们对餐饮需求的质量以及速度也随之发生着变化.为了满足社会需求,餐饮的高质量和快节奏也渐渐使电 ...
- springboot+食堂预约订餐小程序 毕业设计-附源码221554
小程序springboot食堂预约订餐系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术 ...
- springboot日结工管理小程序毕业设计-附源码070940
摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对日结工管理等问题,对 ...
- springboot+校园交友平台小程序 毕业设计-附源码191733
小程序+spring boot校园交友平台 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱, ...
- springboot+高校自习室座位管理小程序 毕业设计-附源码191028
基于SpringBoot的高校自习室座位管理小程序 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于学校的各种信息管理也是十分常见的.随着时代发展,越来越多小程序被普遍使 ...
- 健康饮食小程序 毕业设计-附源码280920
健康饮食小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的健康饮食小程序小程序,系统为人们提供了方便快捷.即用即搜的健康食谱服务,包括健康食谱,医疗资讯.注册登录等,用户能够方便快捷地查看资讯 ...
最新文章
- latex自动生成中文目录_自动生成工作表目录三种方法,看哪种适合你?
- ubuntu下查询SSH状态和安装SSH服务
- linux之dig命令
- 1.C#基础之简介(完成)
- Java学习日报—消息队列—2021/11/23
- [导入]Fedora Linux 9 的硬盘安装
- 执行函数_PyCUDA(1)-执行核函数
- .NET微信扫码支付模式二API接口开发测试
- 华成英-模拟电子技术P11 场效应管及其放大电路 笔记
- AAAI2020-一种生成对抗网络的蒸馏方法(Distilling portable Generative Adversarial Networks for Image Translation)
- 渗透测试技术----工具使用(二)--Nessus工具下载及使用(安装在Kali上)
- 遇见的网易云评论整理(持续更新)
- Spherical harmonics 和 cubemap 的关系
- 认识PCIe---硬件篇
- 中国石油大学《红楼梦研究》第一阶段在线作业
- Woohoo flash
- 微信小程序+PHP 搜索+分页
- 你在自学软件测试吗?学软件测试10本必看书
- 怎么合并多个PDF文件?看完这篇你就会了
- 人工智能 | 自然语言处理研究报告(应用篇)
热门文章
- 感知哈希算法实现以图搜图软件
- 好用的图形工具yEd Graph Editor
- Gym - 101606L Lizard Lounge 计算几何+LIS
- 【Java 8 GC 调优】“代”(Generation)
- 产品能力|书山有路-趣味算法(第二版)读书笔记part1
- Display 亮度调节
- 重磅开源!平安产险提出TableMASTER:表格识别大师
- 计算机sumifs函数怎么操作,excel中SUMIFS函数的公式语法及使用方法教程
- excel数据可视化
- 正在等待暴雪服务器响应,炉石传说无法通过暴雪战网服务进行登录,炉石传说,“游戏无法将你登陆至战网。请等待几分钟并再次尝试”...