基于springboot的网上花店设计与实现-计算机毕设 附源码 09668
基于springboot的网上花店设计与实现
摘要
随着电子商务的快速发展,鲜花销售行业逐渐从线下转向线上。传统的鲜花销售模式依赖实体店铺,顾客需亲自到店选购,流程繁琐且效率低下。线上销售系统能够有效解决这些问题,提供更便捷的购物体验。然而,现有系统在用户体验、数据管理和功能扩展方面仍存在不足,如界面交互不友好、数据处理效率低、功能单一等。
本系统采用前后端分离架构,前端使用Vue框架,后端基于SpringBoot开发,数据库采用MySQL。系统主要功能包括用户端的鲜花商城、收货地址管理、购物车管理、订单管理和鲜花科普浏览;管理员端的鲜花类型管理、鲜花科普管理、销售金额统计、鲜花商城管理和订单管理。用户可通过商城浏览、搜索、分类选择、排序、加入购物车、购买和支付鲜花;管理员可对鲜花类型、科普内容、销售数据和订单进行管理。系统旨在提升鲜花销售的效率和用户体验,解决传统销售模式的局限性。
关键词:线上花店,Springboot;Vue;MySql
With the rapid development of e-commerce, the flower sales industry is gradually shifting from offline to online. The traditional flower sales model relies on physical stores, where customers need to personally visit the store to make purchases, resulting in a cumbersome and inefficient process. Online sales systems can effectively solve these problems and provide a more convenient shopping experience. However, existing systems still have shortcomings in terms of user experience, data management, and functional expansion, such as unfriendly interface interaction, low data processing efficiency, and single functionality.
This system adopts a front-end and back-end separation architecture, with Vue framework used for the front-end and SpringBoot based development for the back-end. MySQL is used for the database. The main functions of the system include a flower mall on the user side, delivery address management, shopping cart management, order management, and flower science popularization browsing; Flower type management, flower science popularization management, sales amount statistics, flower mall management, and order management on the administrator side. Users can browse, search, categorize, sort, add to shopping cart, purchase and pay for flowers through the mall; Administrators can manage flower types, popular science content, sales data, and orders. The system aims to improve the efficiency and user experience of flower sales, and address the limitations of traditional sales models.
Key words: online flower shop,Springboot;Vue;MySql
目录
鲜花销售行业的历史可追溯到早期的集市和实体花店。在没有计算机技术的时代,鲜花销售依赖实体店铺和面对面交易。顾客需要亲自前往花店挑选鲜花,商家则通过手工记录库存和订单信息[1]。这种模式受限于地理位置和营业时间,顾客的选择范围有限,交易效率较低。随着城市化进程加快,消费者对便捷性和多样化的需求日益增长,传统销售模式逐渐显现出不足。计算机技术的普及和互联网的发展为鲜花销售行业带来了新的机遇。电子商务平台的兴起使得鲜花销售从线下扩展到线上,消费者可以通过网络浏览和购买鲜花,商家也能够更高效地管理库存和订单[2]。这种转变不仅扩大了市场范围,还提升了交易效率,推动行业的现代化发展。
本系统的意义在于解决传统鲜花销售模式中的诸多问题,为消费者和商家提供更高效、便捷的服务。对于消费者而言,系统提供了丰富的鲜花选择、直观的浏览界面和灵活的购买方式,满足了多样化的需求。对于商家而言,系统简化了库存管理和订单处理流程,提高了运营效率[3]。系统的引入不仅优化了用户体验,还促进了鲜花销售行业的数字化转型,为行业的可持续发展提供了支持。通过线上平台的建立,鲜花销售突破了时间和空间的限制,为消费者和商家创造了更大的价值。
鲜花销售行业的研究与实践近年来逐渐受到学术界和业界的关注。2023年,柴志成、孙怡文、梁严心、张桐语和史家琛在《商场现代化》期刊上发表论文《予己flower——线上线下鲜花售卖创新研究》,探讨校园鲜花销售的创新模式。研究以大学生创业品牌“予己flower”为例,分析传统鲜花销售在校园环境中的困境,指出传统花店模式难以适应校园市场的需求[4]。提出借助互联网技术,线上线下结合的销售模式能够有效解决传统花店的经营难题。该论文详细介绍“予己flower”在营销策略、用户体验和运营管理方面的创新实践,为校园鲜花销售提供了新的思路。研究还对该品牌未来的发展方向进行展望,强调持续优化用户体验和拓展市场的重要性。
何彪在《电脑知识与技术》期刊上发表论文《基于JSP的网上花店系统的开发与设计》,针对年轻人情感表达的需求,设计一款基于JSP技术的网上花店系统。该系统通过在线选购和快速配送功能,解决用户因羞涩而难以直接表达情感的问题[5]。研究详细描述了系统的设计与实现过程,重点分析了商品展示、订单处理和配送管理等核心功能。该系统的开发为鲜花销售行业提供了技术支持,推动了线上鲜花销售模式的普及。何彪的研究表明,技术驱动的线上销售模式能够有效提升用户体验,满足现代消费者的多样化需求。
国外鲜花销售行业的研究与实践同样取得了显著进展。2022年,M2 Presswire报道英国新型在线花店“My Express Flowers”的成立与发展。该花店通过创新的线上销售模式,为用户提供便捷的鲜花选购和配送服务。报道指出,“My Express Flowers”利用互联网技术优化订单处理和配送流程,显著提升服务效率[6]。该花店的成功实践表明,线上销售模式能够突破传统花店的地域限制,扩大市场覆盖范围。研究还强调了用户体验在线上鲜花销售中的重要性,指出简洁的界面设计和高效的配送服务是吸引用户的关键因素。
同年,M2 Presswire再次报道了“My Express Flowers”的进一步发展,详细介绍了该花店在市场竞争中的优势。报道指出,该花店通过数据分析和技术优化,实现库存管理和订单处理的智能化,进一步提升运营效率[7]。研究还探讨了线上鲜花销售模式对传统花店的影响,指出线上模式的普及正在改变消费者的购物习惯。该报道为鲜花销售行业的数字化转型提供了实践参考,强调了技术创新在行业发展中的重要作用。国外研究表明,线上鲜花销售模式不仅能够提升用户体验,还能为商家创造更大的商业价值。
传统鲜花销售模式依赖实体店铺和面对面交易,受限于地理位置和营业时间,难以满足现代消费者对便捷性和多样化的需求。线上销售模式扩大了市场范围,提升交易效率,推动行业的现代化发展。本研究内容在于设计一个高效的鲜花销售系统,涵盖商品展示、订单处理、库存管理和配送管理等核心功能,同时通过简洁的界面设计、高效的配送服务和个性化推荐系统优化用户体验,推动行业的数字化转型。
作为一种高级编程语言,Java凭借其跨平台的特性在全球范围内得到了广泛应用。其独特的运行机制依赖于Java虚拟机(JVM),使得编译后的字节码文件能够在任何配置JVM的设备上直接执行,无需针对不同操作系统进行重新编译[7]。这种特性极大地提升了Java程序的移植性和适应性。在编程范式上,Java采用面向对象的设计思想,通过类和对象的结构化方式组织代码逻辑,同时支持封装、继承和多态等核心特性,从而显著增强代码的可维护性和复用性。此外,Java通过自动垃圾回收机制实现高效的内存管理,有效避免内存泄漏和内存溢出等常见问题。其语法结构简洁明了,接近自然语言,降低了开发者的学习难度,同时保证了较高的执行效率。
Java的标准库涵盖广泛的功能模块,包括数据结构、网络通信、输入输出操作以及多线程处理等,为开发者提供了全面的技术支持[8]。为了进一步简化开发流程,Java生态系统提供了多种开发工具和框架,例如Spring、Hibernate和Apache Struts等。这些工具和框架的引入使得Java在企业级应用开发中占据了重要地位,广泛应用于大规模系统、分布式架构、Web应用以及移动应用开发等领域。得益于其完善的生态系统和强大的社区支持,Java成为了众多企业在技术选型时的首选语言。相较于其他现代编程语言,Java以其卓越的稳定性和兼容性在快速变化的技术环境中保持了持久的竞争力。
作为Spring框架的扩展,Spring Boot是一种开源的Java开发框架,旨在简化Java应用程序的开发与部署流程。其设计理念强调“约定优于配置”,通过提供预配置的默认设置,减少了开发者对繁琐配置文件的依赖,从而能够快速构建独立且具备生产级质量的Spring应用[9]。这一特性使开发者能够将更多精力集中于业务逻辑的实现,无需过多关注底层技术细节。
Spring Boot内置了Servlet容器,使得应用程序无需依赖外部服务器即可运行,并能够打包为独立的可执行JAR文件或WAR文件进行部署。这一设计显著简化了传统Web应用的开发与部署流程。此外,Spring Boot提供了丰富的开发工具支持,包括自动化配置、内置监控功能、生产环境下的健康检查机制以及日志记录等,这些功能极大地提升了开发者在调试、测试和部署阶段的效率[10]。同时,Spring Boot具备强大的集成能力,能够与Spring Cloud、数据库、消息队列、缓存等多种技术无缝衔接,进一步增强了开发过程中的灵活性和可扩展性。这种高度集成的特性使其成为现代Java应用开发中的重要工具。
Vue.js是一款开源的JavaScript框架,主要用于构建用户界面,尤其擅长视图层的开发。其核心特性包括响应式数据绑定、组件化架构以及灵活的模板语法,这些特性使得开发者能够高效地构建可维护的单页面应用(SPA)[11]。Vue的响应式系统能够自动追踪数据变化并实时更新视图,从而避免开发者手动操作DOM的繁琐过程,显著提升了开发效率。通过组件化设计,Vue允许开发者将复杂的用户界面拆分为多个独立且可复用的组件,这种设计不仅增强了代码的模块化,还提高了代码的可维护性和可扩展性。
Vue框架具备良好的兼容性,能够与其他库或现有项目无缝集成,支持在不影响整体项目结构的情况下进行局部功能替换或扩展。此外,Vue提供了丰富的开发工具和插件生态系统,例如用于路由管理的Vue Router和用于集中式状态管理的Vuex,这些工具极大地提升了大型项目的开发效率和可维护性[12]。Vue的设计理念注重简洁性和灵活性,使其能够适应从小型应用到大型企业级应用的各种场景。通过虚拟DOM技术,Vue能够高效地更新界面,减少不必要的DOM操作,从而优化应用性能。Vue的轻量级设计和渐进式框架特性使其成为众多前端开发者的首选工具,广泛应用于现代Web开发中。
MySQL作为一种关系型数据库管理系统(RDBMS),在Web应用、数据存储、企业级解决方案以及大数据分析等领域得到了广泛应用。它使用结构化查询语言(SQL)作为与数据库交互的标准语言,支持数据的存储、检索、更新和删除等核心操作[13]。MySQL具备出色的可扩展性,能够适应从单机应用到大规模分布式系统的多样化数据存储需求。其ACID特性(原子性、一致性、隔离性、持久性)确保了数据操作的可靠性和一致性,为复杂业务场景提供了坚实的数据保障。
MySQL支持多种存储引擎,开发者可以根据具体应用场景选择合适的引擎,以满足对事务处理、性能优化和数据完整性的不同要求。此外,MySQL提供了高效的索引机制,能够显著提升数据查询和检索的速度,尤其在大数据量场景下表现出明显的性能优势[14]。随着数据规模的不断扩大,MySQL通过分区表、数据复制以及分布式架构等技术实现了水平和垂直扩展,从而增强了系统的数据处理能力和可用性。MySQL还具有跨平台特性,能够在多种操作系统上运行,并支持与多种编程语言和开发框架的无缝集成,适用于广泛的应用场景。
B/S(Browser/Server)架构是一种以Web为基础的客户端-服务器模式,其核心理念是将主要的计算任务和数据处理集中在服务器端,而客户端则通过浏览器与服务器进行通信[15]。这种架构的优势在于不依赖于特定的操作系统或客户端软件,只要用户设备能够运行Web浏览器,即可访问应用程序。这种设计使得B/S架构在跨平台支持和部署方面表现出色,用户无需安装额外的客户端软件,仅需通过浏览器即可使用应用,极大地简化用户的操作流程。
在B/S架构中,客户端的功能相对简单,主要负责用户界面的展示以及与服务器的交互,而复杂的业务逻辑、数据存储和处理任务均由服务器端承担。服务器端通常通过Web服务器和应用服务器来处理客户端的请求,并利用数据库系统进行数据的存储与管理[16]。这种架构的灵活性使得开发者能够快速开发和部署Web应用,而无需考虑不同操作系统或硬件平台的兼容性问题。此外,B/S架构支持集中式管理和维护,所有的更新和修改可以直接在服务器端完成,无需依赖客户端的操作系统或硬件配置。这一特性使得B/S架构在现代Web应用和云计算环境中得到广泛应用,成为主流的应用开发模式之一。
Maven是一种基于项目对象模型的项目管理工具,用于Java项目的构建、依赖管理和项目信息管理。通过一个名为pom.xml的配置文件来定义项目的结构、依赖关系、构建生命周期以及插件目标。Maven的核心功能包括项目的编译、测试、打包、部署等操作。采用约定优于配置的原则,通过预定义的目录结构和生命周期阶段,减少开发者在项目配置上的工作量。Maven的依赖管理机制能够自动下载和管理项目所需的库文件,开发者只需在pom.xml中声明依赖项,Maven会从中央仓库或配置的远程仓库中获取相应的依赖,并解决依赖冲突问题。Maven支持多模块项目的管理,将大型项目拆分为多个子模块,每个子模块可以独立构建,同时保持与父项目的依赖关系。
Maven的构建生命周期分为多个阶段,包括验证、编译、测试、打包、集成测试、验证、部署等。每个阶段都对应一组默认的插件目标,开发者可以通过配置插件来自定义构建过程。Maven的插件机制是其灵活性的重要体现,开发者可以根据项目需求添加或替换插件,以实现特定的构建任务。Maven支持构建环境的配置管理,通过profile机制,开发者可以为不同的环境定义不同的配置参数,从而实现在不同环境下的自动化构建。Maven的标准化和自动化特性使其成为Java生态系统中的重要工具,广泛应用于企业级项目的开发和管理中。
Apache Tomcat是一个开源的Java Servlet容器和Web服务器,用于部署和运行基于Java的Web应用程序。实现了Java Servlet、JavaServer Pages和Java Expression Language等Java EE技术规范,处理HTTP请求并将动态内容生成并返回给客户端。Tomcat的核心功能是作为Servlet容器,负责管理Servlet的生命周期、处理请求和响应,提供线程池、连接池等资源管理机制以支持高并发访问。Tomcat支持WebSocket协议,能够实现全双工通信,适用于实时性要求较高的应用场景。其模块化架构允许开发者根据需求启用或禁用特定功能,例如通过配置不同的连接器来支持HTTP/1.1、HTTP/2或AJP协议。
Tomcat的目录结构清晰,通常包括bin、conf、lib、webapps等目录,用于存放可执行文件、配置文件、依赖库和部署的Web应用程序。开发者可以将Web应用打包为WAR文件并部署到webapps目录中,Tomcat会自动解压并加载应用。Tomcat的配置文件(如server.xml、web.xml)提供了灵活的定制选项,开发者可以配置虚拟主机、会话管理、安全策略等功能。Tomcat还支持集群部署,通过会话复制和负载均衡机制实现高可用性和扩展性。Tomcat提供了JMX支持,便于监控和管理服务器的运行状态。Tomcat的轻量级设计和高度可定制性使其成为Java Web应用开发中广泛使用的服务器技术。
Spring Boot框架作为现代Java应用开发的核心工具,其内置的自动化配置机制和丰富的开发工具集简化了应用程序的开发流程,有效降低开发过程中的复杂性。通过内嵌Servlet容器的支持,Spring Boot允许开发者将应用程序打包为独立的可执行文件,减少了部署环节的配置工作,提升了部署效率。Spring Boot与Vue.js前端框架的集成能够实现前后端架构的彻底分离,这种设计模式不仅增强了系统的模块化程度,还为系统的可维护性和扩展性提供了坚实的基础。在数据存储与管理方面,系统采用MySQL作为关系型数据库,其高效的查询性能和对大规模数据的处理能力为系统的高并发访问提供了可靠支持。这些技术特性的有机结合从技术层面充分验证了系统的可行性,为系统的稳定运行和未来发展奠定了坚实的技术基础。
系统的设计注重用户体验,界面简洁直观,功能模块划分清晰。用户可通过浏览器直接访问系统,无需安装额外软件,降低使用门槛。管理员后台功能完善,支持鲜花类型管理、订单管理、销售统计等操作,操作流程简单易学。系统的响应式设计和跨平台特性使得用户可以在不同设备上流畅使用,进一步提升了操作的便捷性。
系统的开发成本相对较低。Spring Boot和Vue.js等开源技术的使用减少软件许可费用,MySQL数据库的部署和维护成本较低。系统的模块化设计和可扩展性使得后期维护和升级成本可控。线上销售模式能够降低实体店铺的租金和人力成本,提升运营效率。系统的快速部署和高效运行能够为商家带来显著的经济效益,投资回报率较高。综合以上分析,基于Spring Boot的网上花店系统在经济层面具备较高的可行性。
UML用例图是一种用于描述系统功能需求的图形化工具,通过展示系统与外部参与者之间的交互关系,帮助明确系统的功能。用例图通过用例表示系统能够执行的特定功能,参与者代表与系统交互的各类用户或外部系统。用例图可用于分析和设计阶段,帮助开发者和客户达成共识,保障系统功能的完整性和准确性。通过直观的图示,UML用例图提供了系统功能和角色之间的清晰映射。本文将对系统按照角色模块进行需求分析。
用户可通过鲜花商城浏览鲜花信息,支持搜索、分类选择、排序方式等功能。用户可将鲜花加入购物车,完成购买和支付操作。用户可管理收货地址,支持增删改查功能。用户可管理购物车,进行增删改查操作。用户可查看订单、取消订单及查看配送信息。用户可浏览鲜花科普内容。用户用例图如图3-1所示。

图3-1 用户用例图
管理员可管理鲜花类型,可进行增删改查操作。管理员可管理鲜花科普内容,具有增删改查功能。管理员可查看销售金额统计,支持折线图和柱形图展示。管理员可管理鲜花商城,支持鲜花信息的增删改查、价格调整、库存管理、分类选择及鲜花描述编辑。管理员可管理订单,支持订单信息的修改、查询及配送签收状态的更新。管理员用例图如图3-2所示。

图3-2 管理员用例图
1.可用性需求
系统的可用性要求系统具备高可用性架构,能够在用户高并发的情况下,保持系统的稳定运行。系统需实现负载均衡和容错机制,保证高并发访问下的稳定性。系统支持快速故障恢复,确保硬件或软件故障后能迅速恢复正常服务。
2.可靠性需求
系统需保证数据的一致性和完整性,确保订单、用户和库存数据的准确性。系统需具备数据备份和恢复功能,防止数据丢失或损坏。支持事务处理,确保并发操作下数据的正确性。系统需提供日志记录功能,追踪用户操作和系统运行状态。
3.安全性需求
系统需实现用户身份验证和权限管理,确保授权用户访问特定功能。系统需采用加密技术保护用户敏感信息,如密码和支付数据。系统需具备防御常见网络攻击的能力,如SQL注入和跨站脚本攻击。支持HTTPS协议,确保数据传输安全。系统需定期进行安全审计和漏洞扫描,及时修复安全隐患。
该系统架构采用分层设计,包含客户层、表示层、业务逻辑层、持久化层和数据库层。客户层负责与用户交互,表示层处理请求并展示结果;业务逻辑层实现核心功能,通过Spring Service进行逻辑处理;持久化层与数据库交互,使用MyBatis或JPA进行数据操作;数据库层则存储系统数据,使用MySQL等数据库。整个系统基于Spring Boot框架,简化开发过程,提升了模块化和可维护性[17]。整个系统架构如图4-1所示。

图4-1 系统架构图
系统功能结构图如图4-2所示。

图4-2 系统功能结构图
用户访问系统注册页面,填写用户名、密码、邮箱等信息,提交注册请求;系统验证信息合法性,发送验证邮件;用户输入验证码验证;用户访问登录页面,输入用户名和密码,系统验证信息后返回登录状态。如图4-3所示。

图4-3 用户注册登录流程图
4.3.2用户管理购物车流程设计
用户浏览鲜花商城,选择商品后点击加入购物车;进入购物车页面,查看已选商品,修改商品数量或删除商品;确认商品信息后点击结算,跳转至支付页面完成支付。如图4-4所示。

图4-4 用户管理购物车流程
4.3.3操作流程设计
用户打开系统,登录账户后进入功能页面;选择所需功能模块,填写或选择相关信息;提交操作后系统处理并返回结果;用户查看操作结果并确认完成。如图4-5所示。

图4-5操作流程图
4.3.4信息添加流程设计
用户进入信息添加页面,填写相关信息字段,上传所需文件或图片,确认信息无误后点击提交按钮,系统保存信息并显示添加成功提示。如图4-6所示。

图4-6 信息添加流程图
4.3.5信息删除流程设计
用户进入信息管理页面,选择需要删除的信息条目,点击删除按钮,系统弹出确认提示,用户确认删除后,系统移除信息并显示删除成功提示。如图4-7所示。

图4-7信息删除流程图
在数据库设计过程中,E-R图设计有助于将概念模型转化为具体的数据库结构。在此阶段,需要明确每个数据表的字段类型、约束条件及表之间的关系,为物理设计提供依据。随后,将进一步分析优化数据存储方案,保障系统的高效性与可扩展性[18]。
E-R图(实体-关系图)是一种用于数据建模的图形化工具,描述实体、属性及实体间的关系。通过图示化的方式帮助分析和设计数据库结构,明确数据之间的相互联系,便于后续的数据库开发与管理。以下将展示系统的全局E-R图以及各个实体的属性图[19]。
系统全局E-R图如图4-8所示。

图4-8 系统E-R图
用户实体图如图4-9所示。

图4-9 用户实体图
管理员实体图如图4-10所示。

图4-10 管理员实体图
鲜花商城实体图如图4-11所示。

图4-11 鲜花商城实体图
订单实体图如图4-12所示。

图4-12 订单实体图
鲜花科普实体图如图4-13所示。

图4-13鲜花科普实体图
数据库表设计是根据业务需求,确定数据库表的结构、字段类型及其关系。通过规范化设计,保证数据的完整性、一致性与效率,同时避免冗余数据,并为后续的数据查询、存储和维护提供清晰的框架。以下是系统的数据库表设计展示。
flower_mall 表主要是用来管理鲜花商城的商品信息。主要包括鲜花商城ID、鲜花花语、商品库存、商品分类等。flower_mall 表如表4-1所示
表4-1 flower_mall 表
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
flower_mall_id |
int |
10 |
0 |
N |
Y |
鲜花商城ID |
|
|
2 |
flowers_and_language |
varchar |
64 |
0 |
Y |
N |
鲜花花语 |
|
|
3 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
|
4 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
|
5 |
cart_title |
varchar |
125 |
0 |
Y |
N |
标题 |
|
|
6 |
cart_img |
text |
65535 |
0 |
Y |
N |
封面图 |
|
|
7 |
cart_description |
varchar |
255 |
0 |
Y |
N |
描述 |
|
|
8 |
cart_price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价 |
|
9 |
cart_price |
double |
8 |
2 |
N |
N |
0.00 |
卖价 |
|
10 |
cart_inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
|
11 |
cart_type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类 |
|
12 |
cart_content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
|
13 |
cart_img_1 |
text |
65535 |
0 |
Y |
N |
主图 |
|
|
14 |
cart_img_2 |
text |
65535 |
0 |
Y |
N |
主图 |
|
|
15 |
cart_img_3 |
text |
65535 |
0 |
Y |
N |
主图 |
|
|
16 |
cart_img_4 |
text |
65535 |
0 |
Y |
N |
主图 |
|
|
17 |
cart_img_5 |
text |
65535 |
0 |
Y |
N |
主图 |
|
|
18 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
19 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
user表主要是用来存储管理员的账户登录信息。主要包括用户ID、账户状态、用户名、密码等。user 表如表4-2所示
表4-2 user 表
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
user_id |
int |
10 |
0 |
N |
Y |
用户ID |
|
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态 |
|
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组 |
|
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间 |
|
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码 |
|
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证 |
|
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名 |
|
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称 |
|
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码 |
|
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱 |
|
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证 |
|
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址] |
|
|
13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
flower_science_popularization 表主要是用来存储鲜花科普的相关信息。主要包括鲜花科普ID、鲜花名称、鲜花种类、科普视频等。flower_science_popularization 表如表4-3所示。
表4-3 flower_science_popularization 表
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
flower_science_popularization_id |
int |
10 |
0 |
N |
Y |
鲜花科普ID |
|
|
2 |
flower_name |
varchar |
64 |
0 |
Y |
N |
鲜花名称 |
|
|
3 |
types_of_flowers |
varchar |
64 |
0 |
Y |
N |
鲜花种类 |
|
|
4 |
flowers_and_language |
varchar |
64 |
0 |
Y |
N |
鲜花花语 |
|
|
5 |
growing_environment |
varchar |
64 |
0 |
Y |
N |
生长环境 |
|
|
6 |
science_popularization_video |
varchar |
255 |
0 |
Y |
N |
科普视频 |
|
|
7 |
flower_pictures |
varchar |
255 |
0 |
Y |
N |
鲜花图片 |
|
|
8 |
flower_introduction |
longtext |
255 |
0 |
Y |
N |
鲜花简介 |
|
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
10 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
11 |
collect_len |
int |
10 |
0 |
N |
N |
0 |
收藏数 |
|
12 |
comment_len |
int |
10 |
0 |
N |
N |
0 |
评论数 |
|
13 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
14 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
15 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
order 表主要是用来存储用户的订单信息。主要包括订单ID、订单号、商品ID、订单状态等。order 表如表4-4所示
表4-4 order 表
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
order_id |
int |
10 |
0 |
N |
Y |
订单ID |
|
|
2 |
order_number |
varchar |
64 |
0 |
Y |
N |
订单号 |
|
|
3 |
goods_id |
mediumint |
8 |
0 |
N |
N |
商品id |
|
|
4 |
title |
varchar |
255 |
0 |
Y |
N |
商品标题 |
|
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
商品图片 |
|
|
6 |
price |
double |
10 |
2 |
N |
N |
0.00 |
价格 |
|
7 |
price_ago |
double |
10 |
2 |
N |
N |
0.00 |
原价 |
|
8 |
num |
int |
10 |
0 |
N |
N |
1 |
数量 |
|
9 |
price_count |
double |
8 |
2 |
N |
N |
0.00 |
总价 |
|
10 |
norms |
varchar |
255 |
0 |
Y |
N |
规格 |
|
|
11 |
type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类 |
|
12 |
contact_name |
varchar |
32 |
0 |
Y |
N |
联系人姓名 |
|
|
13 |
contact_email |
varchar |
125 |
0 |
Y |
N |
联系人邮箱 |
|
|
14 |
contact_phone |
varchar |
11 |
0 |
Y |
N |
联系人手机 |
|
|
15 |
contact_address |
varchar |
255 |
0 |
Y |
N |
收件地址 |
|
|
16 |
postal_code |
varchar |
9 |
0 |
Y |
N |
邮政编码 |
|
|
17 |
user_id |
int |
10 |
0 |
N |
N |
0 |
买家ID |
|
18 |
merchant_id |
mediumint |
8 |
0 |
N |
N |
0 |
商家ID |
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
21 |
description |
varchar |
255 |
0 |
Y |
N |
描述 |
|
|
22 |
state |
varchar |
16 |
0 |
N |
N |
待付款 |
订单状态 |
|
23 |
remark |
text |
65535 |
0 |
Y |
N |
订单备注 |
|
|
24 |
delivery_state |
varchar |
16 |
0 |
Y |
N |
未配送 |
发货状态 |
|
25 |
vip_discount |
double |
11 |
2 |
Y |
N |
0.00 |
折扣 |
ordinary_users 表主要是用来存储用户的基本信息。主要包括普通用户ID、用户姓名、联系方式、审核状态等。ordinary_users 表如表4-5所示
表4-5 ordinary_users 表系统实现
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
|
3 |
contact_information |
varchar |
64 |
0 |
Y |
N |
联系方式 |
|
|
4 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
|
5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
|
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
用户可在鲜花商城页面浏览鲜花信息,支持按名称搜索、分类筛选及价格排序。用户可将鲜花加入购物车,选择数量后完成购买并支付。支付成功后生成订单,用户可查看订单状态。鲜花商城界面如图4-14所示。

图4-14 鲜花商城界面
用户可在收货地址页面新增、修改或删除收货地址信息,支持设置默认地址。系统会保存用户填写的姓名、手机号、地址等详细信息,便于后续订单配送。收货地址界面如图4-15所示。

图4-15 收货地址界面
用户可在购物车页面查看已添加的鲜花商品,支持修改数量或删除商品。用户可一键结算购物车中的商品,系统会计算总价并跳转至支付页面。购物车界面如图4-16所示。

图4-16 购物车界面
用户可在订单页面查看所有订单信息,包括订单状态、配送详情等。用户可取消未支付的订单,或查看已支付订单的配送进度。订单界面如图4-17所示。

图4-17 订单界面
用户可在鲜花科普页面浏览鲜花的相关知识,包括鲜花种类、花语及生长环境等。页面支持图文展示,用户可收藏感兴趣的科普内容。鲜花科普界面如图4-18所示。

图4-18 鲜花科普界面
管理员可在鲜花类型页面新增、修改或删除鲜花分类信息。系统支持分类名称、描述及图标的编辑,便于商城商品的分类展示。鲜花类型界面如图4-19所示。

图4-19 鲜花类型界面
管理员可在鲜花科普页面管理科普内容,支持新增、编辑或删除科普信息。系统支持上传图片、视频及文字描述,便于用户浏览学习。鲜花科普管理界面如图4-20所示。

图4-20 鲜花科普管理界面
管理员可在销售统计页面查看销售金额的折线图及商品数量的柱形图。系统支持按时间范围筛选数据,便于管理员分析销售趋势。销售统计界面如图4-21所示。

图4-21 销售统计界面
管理员可在鲜花商城页面管理商品信息,支持新增、编辑或删除商品。系统支持设置商品价格、库存及分类,并上传商品图片和描述。鲜花商城管理界面如图4-22所示。

图4-22 鲜花商城管理界面
管理员可在订单页面查看所有订单信息,支持修改订单状态及配送详情。管理员可标记订单为已配送或已签收,便于用户查看订单进度。订单管理界面如图4-23所示。

图4-23 订单管理界面
测试目的主要是通过系统测试和验证,使软件或系统符合设计需求和功能要求,能够稳定、安全地运行。具体来说,测试的目的是发现并修复潜在的缺陷或问题,提高系统的质量和性能,减少在实际使用中的故障率。通过各种测试手段,如单元测试、集成测试、功能测试、性能测试等,软件在不同环境下的兼容性和可用性。测试还帮助确认系统的安全性,防止数据泄露、系统崩溃等风险问题。通过全面的测试,提升用户体验的顺畅,提升客户满意度,减少开发后的维护成本。因此,测试过程不仅是软件开发的重要一环,也是保障软件产品质量、满足用户需求的关键步骤。
测试方法是保障软件或系统质量的重要手段,通常根据测试目标和需求的不同,选择不同的测试策略。常见的测试方法包括黑盒测试、白盒测试、灰盒测试、回归测试和性能测试[20]。
黑盒测试关注软件的功能表现,而非其内部结构。测试人员通过输入数据并观察输出结果来验证软件是否符合预期需求,适用于功能验证和接口测试。白盒测试则侧重于系统内部结构的验证,测试人员基于对代码的了解,进行详细的逻辑、控制流和数据流的测试,代码的每个路径和语句都被有效地覆盖,帮助发现潜在的逻辑错误或性能瓶颈。灰盒测试结合了黑盒和白盒测试的优点,测试人员在部分了解系统内部结构的基础上,既关注系统的功能,也关注其安全性和集成性。
回归测试是在软件进行修改或更新后,重新测试已完成的功能,新版本没有引入新的缺陷或问题。性能测试则主要评估系统在不同负载和压力下的表现,检查响应时间、并发处理能力等关键性能指标。
通过采用这些测试方法,可以有效评估和改进软件的功能、性能和稳定性,最终交付的系统满足用户需求,提升软件质量。
鲜花商城浏览功能测试用例表如表6-1所示。
表6-1 鲜花商城浏览测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
鲜花信息浏览测试 |
1. 打开鲜花商城页面 |
1. 页面加载成功 |
与预期结果一致 |
|
搜索功能测试 |
1. 在搜索框输入关键词 |
1. 搜索结果页面显示与关键词相关的鲜花 |
与预期结果一致 |
|
分类选择测试 |
1. 选择某一分类 |
1. 分类筛选成功 |
与预期结果一致 |
|
排序方式测试 |
1. 选择按价格从低到高排序 |
1. 鲜花列表按价格从低到高排序显示 |
与预期结果一致 |
|
加入购物车测试 |
1. 选择某款鲜花 |
1. 鲜花成功加入购物车 |
与预期结果一致 |
|
购买支付测试 |
1. 选择某款鲜花 |
1. 跳转至支付页面 |
与预期结果一致 |
收货地址管理功能测试用例表如表6-2所示。
表6-2 收货地址管理测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
新增地址测试 |
1. 进入收货地址页面 |
1. 地址新增成功 |
与预期结果一致 |
|
修改地址测试 |
1. 选择某条地址 |
1. 地址修改成功 |
与预期结果一致 |
|
删除地址测试 |
1. 选择某条地址 |
1. 地址删除成功 |
与预期结果一致 |
|
设置默认地址测试 |
1. 选择某条地址 |
1. 默认地址设置成功 |
与预期结果一致 |
购物车管理功能测试用例表如表6-3所示。
表6-3 购物车管理测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
添加商品测试 |
1. 在鲜花商城页面选择某款鲜花 |
1. 商品成功加入购物车 |
与预期结果一致 |
|
修改数量测试 |
1. 进入购物车页面 |
1. 商品数量修改成功 |
与预期结果一致 |
|
删除商品测试 |
1. 进入购物车页面 |
1. 商品从购物车中移除 |
与预期结果一致 |
|
结算购物车测试 |
1. 进入购物车页面 |
1. 跳转至支付页面 |
与预期结果一致 |
订单管理功能测试用例表如表6-4所示。
表6-4 订单管理测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
查看订单测试 |
1. 进入订单页面 |
1. 订单列表显示所有订单信息 |
与预期结果一致 |
|
取消订单测试 |
1. 选择某条未支付订单 |
1. 订单状态更新为“已取消” |
与预期结果一致 |
|
查看配送信息测试 |
1. 选择某条已支付订单 |
1. 显示订单的配送详情 |
与预期结果一致 |
鲜花类型管理功能测试用例表如表6-5所示。
表6-5 鲜花类型管理测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
新增分类测试 |
1. 进入鲜花类型管理页面 |
1. 分类新增成功 |
与预期结果一致 |
|
修改分类测试 |
1. 选择某条分类 |
1. 分类修改成功 |
与预期结果一致 |
|
删除分类测试 |
1. 选择某条分类 |
1. 分类删除成功 |
与预期结果一致 |
鲜花科普管理功能测试用例表如表6-6所示。
表6-6 鲜花科普管理测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
新增科普测试 |
1. 进入鲜花科普管理页面 |
1. 科普新增成功 |
与预期结果一致 |
|
修改科普测试 |
1. 选择某条科普 |
1. 科普修改成功 |
与预期结果一致 |
|
删除科普测试 |
1. 选择某条科普 |
1. 科普删除成功 |
与预期结果一致 |
系统功能测试中,针对鲜花商城浏览、收货地址管理、购物车管理、订单管理、鲜花类型管理及鲜花科普管理六大功能模块进行全面的测试。测试结果表明,所有功能模块均能按照预期结果正常运行。鲜花商城浏览功能支持信息浏览、搜索、分类选择、排序、加入购物车及支付操作,各项操作均顺利完成。收货地址管理功能实现了地址的增删改查及默认地址设置,操作结果与预期一致。购物车管理功能支持商品的添加、数量修改、删除及结算,功能运行正常。订单管理功能实现了订单的查看、取消及配送信息查询,操作结果符合预期。鲜花类型管理功能支持分类的新增、修改及删除,功能运行稳定。鲜花科普管理功能实现了科普内容的新增、修改及删除,操作结果与预期一致。综上所述,系统功能测试通过,所有功能模块均满足设计要求。
本文基于Spring Boot、Vue和MySQL技术,设计并实现一个线上花店系统。通过对国内外研究现状的分析,结合Java语言、Spring Boot框架、Vue框架及MySQL数据库技术的优势,完成系统的需求分析与设计。系统分为用户功能和管理员功能两大模块,用户功能包括鲜花商城浏览、收货地址管理、购物车管理、订单管理及鲜花科普浏览;管理员功能涵盖鲜花类型管理、鲜花科普管理、销售金额统计、鲜花商城管理及订单管理。系统采用B/S架构,具有良好的跨平台性和可扩展性,满足了用户和管理员的不同需求。
在系统实现过程中,通过详细的流程设计和数据库设计,确保了系统功能的完整性和数据的一致性。系统测试阶段,针对各功能模块进行了全面的测试,测试结果表明系统功能运行稳定,操作流程符合预期。测试内容涵盖了鲜花商城浏览、收货地址管理、购物车管理、订单管理、鲜花类型管理及鲜花科普管理等功能,所有测试用例均通过验证,系统达到了设计要求。未来可进一步优化系统性能,提升用户体验,为线上花店的发展提供更强大的技术支持。
- 刘国方,郝萍萍. 基于大数据的线上电商系统设计 [J]. 现代信息科技, 2024, 8 (24): 82-87+94.
- 宋咏春. 线上教学实时考勤系统开发——以雨课堂为例 [J]. 中国信息技术教育, 2024, (20): 85-88.
- 薛芳,刘蓉,陈柯心. 基于新零售的鲜花店营销模式研究——以“爱花居”为例 [J]. 绿色科技, 2024, 26 (09): 228-234.
- 柴志成,孙怡文,梁严心,等. 予己flower——线上线下鲜花售卖创新研究 [J]. 商场现代化, 2023, (20): 10-12. DOI:10.14013/j.cnki.scxdh.2023.20.020.
- 何彪. 基于JSP的网上花店系统的开发与设计 [J]. 电脑知识与技术, 2023, 19 (01): 43-45+52. DOI:10.14004/j.cnki.ckt.2023.0033.
- My Express Flowers - new online flower shop [J]. M2 Presswire, 2022,
- New online flower shop in the UK - My Express Flowers [J]. M2 Presswire, 2022,
- 熊威. 基于项目驱动的Java编程基础教学研究与实践[J]. 中国教育技术装备,2023(2):80-82.
- 韩小龙,司珍,吕晓峰,等. 基于面向对象编程的Java语言程序设计方法分析[J]. 集成电路应用,2024,41(1):228-229.
- 陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计[J]. 信息与电脑,2023,35(16):181-183.
- 王志亮,纪松波. 基于SpringBoot的Web前端与数据库的接口设计[J]. 工业控制计算机,2023,36(3):51-53.
- 八度云计算(安徽)有限公司. 一种基于Vue框架的UI组件库构建方法:CN202311590956.7[P]. 2024-03-29.
- 李晓薇. vue.js前端应用技术分析[J]. 网络安全技术与应用,2022(4):44-45.
- 庞敏. MySQL数据库的数据安全应用设计技术研究[J]. 数字通信世界,2024(9):25-27.
- 柳青,程晨. MYSQL数据库技术应用一体化课程开发研究[J]. 造纸装备及材料,2024,53(5):251-253.
- 谷春红. 基于B/S结构的高校教材管理系统设计与实现[J]. 海峡科学,2024(3):117-122.
- 赵惠. 基于B/S模式的实验室管理系统设计和实现[J]. 中国新通信,2023,25(21):72-74.
- 陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020,(01):14-15+28.
- 何金龙. 电子信息工程计算机数据库应用[C]//2024智慧施工与规划设计学术交流会论文集. 2024:1-3.
- 张晓蕾,王斌,郭锡泉. "互联网"背景下数据库应用技术课程思政教学设计与实践[J]. 现代商贸工业,2024(23):251-253.
- 罗超,彭玉涛. 计算机软件测试方法的研究分析[J]. 长江信息通信,2023,36(2):83-85.
在本次项目的完成过程中,我得到了许多人的帮助和支持,在此,我衷心感谢所有给予我帮助的人。
我要感谢我的指导老师。感谢您在项目的每个阶段给予我悉心的指导和宝贵的建议。每当我在项目中遇到困难和挑战时,您总是耐心地解答我的问题,并且通过详细的讲解帮助我深入理解相关的理论和实践知识。您的专业态度和严谨的教学方法,不仅让我掌握了项目中的技能,还启发了我对专业领域的更深思考。没有您的指导,这个项目无法如此顺利地完成。
我要感谢我的同学们。在项目实施的过程中,大家与我进行了深入的讨论,分享了各自的见解和经验,使我能够从不同的角度看待问题,帮助我更好地完成任务。虽然这个项目是独立完成的,但与同学们的交流让我收获了许多新的思路和灵感。我还要感谢我的家人。在我投入大量时间和精力进行项目研究时,家人始终给予我理解和支持,鼓励我在面对困难时坚持下去。你们的关爱是我不断努力和进步的动力源泉。感谢学校提供的优质学习平台和资源,使我能够顺利地完成项目并实现预期目标。通过本次课业项目,我不仅掌握了相关的专业知识和技能,也培养了独立思考和解决问题的能力。这些收获将对我未来的学习和发展产生深远的影响。
再次感谢所有在项目中给予我帮助和支持的人,是你们的帮助让我顺利完成了这次项目。
请关注点赞+私信博主,免费领取项目源码
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)