【直接可用源码免费送】计算机毕业设计精选项目:49943+Spring Boot普洱茶销售网站:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制

Spring Boot普洱茶销售网站

摘  要

随着互联网技术的发展,电子商务逐渐成为商品流通的重要渠道,尤其在传统文化产品如普洱茶的销售领域,线上销售平台成为推广和交易的重要途径。为了提高普洱茶的市场竞争力,开发一个高效、便捷的在线销售平台成为一种必然需求。该平台旨在结合现代技术手段,打造一个功能完备、用户友好的普洱茶销售网站,促进普洱茶文化的传播与推广。

本系统主要分为买家和管理员两大角色。买家用户可以通过首页浏览商品、查看公告与文化资讯、管理购物车与订单、使用优惠券及参与活动。个人中心提供订单配送、收藏与评论管理等便捷功能。管理员后台则提供商品销售统计、用户管理、活动管理、公告与文化资讯编辑、订单管理等一系列操作。系统将支持商品信息的增删改查、订单状态的跟踪、活动报名与管理等关键功能,确保买卖双方的顺畅互动。

系统采用Java语言开发,基于Spring Boot框架进行构建,提供高效的后端支持。数据库方面,使用MySQL存储用户信息、商品数据、订单记录等重要数据,保证数据的一致性与安全性。前端页面使用JavaScript技术进行设计,提供简洁直观的用户界面。为保证系统的稳定性与扩展性,采用Spring Boot的模块化设计,确保代码的可维护性。

普洱茶销售网站的实施将为普洱茶爱好者提供一个便捷的在线购物平台,提升用户的购物体验。同时,管理员通过后台管理可以高效处理商品信息、订单与活动,优化营销策略与库存管理。通过系统化的管理和数据分析,网站能够促进普洱茶产品的销售,提升品牌知名度,并加强普洱茶文化的传播。预计该系统能够实现用户与商家之间的高效互动,推动普洱茶行业的数字化转型。

关键词普洱茶销售网站;Java语言;Spring Boot框架;MySQL数据库

Spring Boot Pu erh Tea Sales Website

Abstract:With the development of Internet technology, e-commerce has gradually become an important channel for commodity circulation. Especially in the field of traditional cultural products such as Pu'er tea, online sales platforms have become an important way to promote and trade. In order to enhance the market competitiveness of Pu'er tea, developing an efficient and convenient online sales platform has become an inevitable demand. This platform aims to combine modern technology to create a fully functional and user-friendly Pu'er tea sales website, promoting the dissemination and promotion of Pu'er tea culture.

This system is mainly divided into two roles: buyer and administrator. Buyer users can browse products, view announcements and cultural information, manage shopping carts and orders, use coupons, and participate in activities through the homepage. The personal center provides convenient functions such as order delivery, collection, and comment management. The administrator backend provides a series of operations such as product sales statistics, user management, event management, announcement and cultural information editing, and order management. The system will support key functions such as adding, deleting, modifying, and querying product information, tracking order status, event registration and management, ensuring smooth interaction between buyers and sellers.

The system is developed in Java language and built on the Spring Boot framework, providing efficient backend support. In terms of database, MySQL is used to store important data such as user information, product data, and order records, ensuring data consistency and security. The front-end page is designed using JavaScript technology to provide a simple and intuitive user interface. To ensure the stability and scalability of the system, Spring Boot's modular design is adopted to ensure the maintainability of the code.

The implementation of the Pu'er tea sales website will provide a convenient online shopping platform for Pu'er tea enthusiasts and enhance the shopping experience for users. Meanwhile, administrators can efficiently process product information, orders, and activities through backend management, optimizing marketing strategies and inventory management. Through systematic management and data analysis, the website can promote the sales of Pu'er tea products, enhance brand awareness, and strengthen the dissemination of Pu'er tea culture. It is expected that the system can achieve efficient interaction between users and merchants, promoting the digital transformation of the Pu'er tea industry.

Keywords: Pu erh tea sales website; Java language; Spring Boot framework; MySQL database

目 录

摘  要

1绪论

1.1课题研究背景及意义

1.2国内外发展现状分析

1.3主要研究内容

2相关技术简介

2.1  Java语言

2.2  SpringBoot 框架

2.3  JavaScript脚本语言

2.4  MySQL数据库

3系统需求分析

3.1系统功能需求分析

3.1.1 买家用户功能

3.1.2 管理员用户功能

3.2系统非功能性分析

3.3系统可行性分析

3.3.1技术可行性

3.3.2经济可行性

3.3.3操作可行性

3.3.4社会可行性

3.4系统用例分析

3.4.1买家用户用例分析

3.4.2管理员用例分析

4系统设计

4.1系统总体设计思路

4.2系统结构设计

4.3系统功能设计

4.3.1用户登录流程

4.3.2系统操作流程

4.4系统核心代码设计

4.4.1用户注册

4.4.2用户登录

4.4.3修改密码

4.4.4修改数据

4.4.5删除数据

4.4.6获取数据

4.4.7图片上传

4.5数据库设计

4.5.1数据库设计原则

4.5.2数据库实体

4.5.3数据库表设计

5系统实现

5.1买家用户功能实现

5.1.1前台首页

5.1.2用户注册

5.1.3用户登录

5.1.4产品信息

5.1.5活动信息

5.1.6个人中心

5.2管理员功能实现

5.2.1后台首页

5.2.2用户管理

5.2.3活动报名管理

5.2.4商城管理

6系统测试

6.1系统测试目标

6.2系统功能测试

6.3测试结果总结

结 论

参考文献

致 谢

1绪论

1.1课题研究背景及意义

随着互联网技术的不断发展,电子商务在全球范围内迅速兴起,尤其是在中国,电子商务已成为商业交易的重要形式。传统的茶叶销售,尤其是普洱茶,由于其独特的历史文化背景和收藏价值,逐渐吸引了大量消费者的关注。然而,普洱茶市场仍存在着信息不对称、营销手段单一和渠道分散等问题,难以实现高效的商品流通和市场扩展。在这种背景下,普洱茶行业迫切需要借助数字化手段,以提升其市场竞争力并开辟更广阔的销售渠道。普洱茶销售网站的建设应运而生,它不仅能够通过互联网打破地域限制,方便消费者在线购买普洱茶,还能够帮助商家优化库存管理、分析市场需求和推动文化传播。因此,研究并开发普洱茶销售网站具有重要的理论和实践意义。

通过搭建一个普洱茶销售平台,为普洱茶产业提供一种全新的电子商务解决方案。首先,该平台能够突破传统零售渠道的局限,帮助普洱茶商家与消费者直接对接,降低中间环节,减少运营成本,同时提升销售效率。其次,网站将结合现代信息技术,提供商品展示、用户评价、订单管理、个性化推荐等功能,极大提升用户体验,促进消费者的重复购买和品牌忠诚度。此外,普洱茶销售平台还可通过数据分析功能,帮助商家了解市场动态、消费者偏好和购买趋势,提供更精准的营销策略,从而提升市场竞争力。更重要的是,普洱茶作为一种深具文化内涵的产品,借助在线平台传播,可以有效推广普洱茶的独特文化,推动普洱茶产业的数字化转型,促进其在全球市场的知名度和影响力。

1.2国内外发展现状分析

近年来,国内电子商务的飞速发展为普洱茶行业带来了新的机遇。传统的普洱茶销售模式以线下实体店为主,但随着网络购物和消费者行为的变化,越来越多的茶企选择通过互联网开拓市场,逐渐形成了以电商平台为主导的线上销售渠道。目前,国内主要的电商平台,如淘宝、京东、拼多多等,已成为普洱茶销售的主阵地,许多普洱茶品牌通过这些平台开展线上业务,提供丰富的商品展示、用户评论和便捷的支付方式,大大提升了消费者的购物体验。此外,专业的普洱茶电商平台如“茶语网”、“普洱茶网”等也不断涌现,它们不仅提供商品销售,还向消费者传递茶文化,帮助消费者更好地理解普洱茶的历史和品鉴方式。

然而,国内普洱茶电商市场的竞争异常激烈,尤其是低价竞争和假冒伪劣商品的问题仍然存在。一些不法商家为了获取更高的市场份额,往往以极低的价格销售假冒伪劣产品,导致消费者对普洱茶的信任度降低。此外,普洱茶作为一种具有较高收藏价值和文化底蕴的产品,其市场教育和品牌建设也面临挑战。虽然电商平台提供了便捷的交易方式,但普洱茶产品的复杂性和消费者对其品质的高要求使得线上销售面临一定的障碍,消费者在购买前往往需要更深入的了解和品鉴体验。因此,如何提升消费者的信任感和购买决策是当前普洱茶电商面临的重要问题。

在国际市场上,普洱茶逐渐获得越来越多茶文化爱好者的关注,尤其是在欧美、东南亚以及部分非洲国家,普洱茶作为一种具有独特文化内涵和健康益处的茶叶,吸引了不少追求生活品质和健康的消费者。在欧美地区,普洱茶不仅成为茶叶市场的一部分,还逐步成为健康饮品和文化爱好的象征。许多消费者对普洱茶的兴趣集中在其独特的发酵工艺和健康功效,如有助于减脂、降血脂、提高免疫力等,这些功效符合现代人追求健康、养生的需求。

尽管普洱茶在国际市场上呈现出增长的趋势,但仍面临着诸多挑战。首先,国外市场对普洱茶的了解相对有限,消费者往往对其品质、产地及品鉴方式缺乏足够的认知,这就需要通过线上电商平台或其他渠道进行普洱茶文化的传播。其次,国际市场的供应链管理和物流问题也是限制普洱茶销售的重要因素。由于普洱茶是需要在特定环境下存储和运输的商品,跨境运输可能会影响其品质,因此,一些茶叶品牌面临较高的运输成本和物流问题。此外,国外的茶叶市场竞争相对较为成熟,普洱茶要在众多茶类中脱颖而出,需要依靠独特的产品定位、文化传播和高质量的用户体验。

综上所述,国内外普洱茶电商平台虽然在规模和影响力上存在差距,但普洱茶作为一种具有丰富文化内涵的特色产品,正逐步走向全球市场。国内市场发展相对较快,但也面临着激烈的竞争与平台运营中的多重挑战;而国外市场对普洱茶的需求呈增长态势,但普及程度较低。无论是国内还是国际市场,普洱茶电商平台的发展都离不开技术创新、用户体验的提升以及文化的深入传播。未来,随着消费趋势的变化和电商平台技术的不断进步,普洱茶行业将在全球范围内迎来更广阔的发展前景。

1.3主要研究内容

普洱茶销售网站的主要内容包括以下几个方面:

(1)通过市场调研与用户访谈,确定了普洱茶销售平台的核心需求。买家需求主要集中在商品浏览、下单购买、订单跟踪、优惠券使用、活动参与等功能;管理员需求则包括商品管理、订单处理、活动发布与管理、数据统计等功能。系统需具备高并发支持、数据安全保障和易于扩展的特点。

(2)技术方案设计:系统采用Java语言与Spring Boot框架进行后端开发,利用Spring Boot的自动化配置和模块化特性,提升开发效率和系统性能。前端采用JavaScript技术实现,保证良好的用户体验。数据库方面,使用MySQL存储用户、商品、订单等数据,确保数据的一致性与可靠性。

(3)功能设计:系统功能分为买家和管理员两大模块。买家可以浏览商品、添加至购物车、下单、参与活动并管理个人信息;管理员可进行商品、订单、活动、公告等内容的管理,确保平台的正常运作。

(4)数据库设计:数据库采用MySQL,设计了多个表,包括用户表、商品表、订单表、活动表等,确保数据存储的高效性与关联性。通过外键关系保证数据的完整性,并采取合理的索引优化查询效率。

2相关技术简介

2.1  Java语言

普洱茶销售网站采用了Java语言作为后端开发的核心技术。Java语言因其跨平台特性和高度灵活性而备受青睐,使系统能够在不同操作系统上稳定运行,并为未来功能的拓展提供可靠的技术支持。同时,采用Spring Boot框架简化了配置,提升了开发效率和系统的稳定性。Java的选择确保了平台具有良好的可扩展性和稳定性,在为普洱茶销售网站提供技术支持的同时,也为用户提供畅顺的体验。

2.2  SpringBoot 框架

Spring Boot,作为Spring生态系统中一颗璀璨的明星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为系统开发提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为普洱茶销售网站的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。

2.3  JavaScript脚本语言

JavaScript 是一种广泛应用于网页开发的脚本语言,通常用于提升网页的交互性和动态效果。作为前端开发的核心技术之一,JavaScript 能够在用户与网页互动时实时响应,例如表单验证、动态内容加载、图像切换、菜单显示等。它可以通过与HTML和CSS紧密结合,创建具有动态效果和流畅用户体验的网页。

在普洱茶销售平台中,JavaScript被广泛应用于页面交互逻辑的实现。例如,商品列表的动态加载、购物车功能、用户输入校验和页面动画效果等,均依赖JavaScript实现。利用AJAX技术,JavaScript可以实现无需刷新页面的异步数据交互,极大提高了用户体验。此外,JavaScript的前端框架(如React、Vue.js等)还能够帮助开发者构建高效、可维护的用户界面,使得普洱茶销售平台在各种设备上都能流畅运行,满足现代消费者的需求。

2.4  MySQL数据库

MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在普洱茶销售网站中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。

3系统需求分析

3.1系统功能需求分析

普洱茶销售网站为买家提供首页、公告信息、文化资讯、产品信息、购物车、订单管理、地址和优惠券管理、活动报名等功能,提升购物体验和用户互动。管理员可通过后台管理商品销售统计、用户管理、活动信息、轮播图、敏感词、公告、文化资讯、产品、分类、订单及售后处理,确保网站顺利运营和活动的有效执行。这些功能模块设计旨在优化用户体验和提升商城管理效率。

3.1.1 买家用户功能

  1. 首页:买家用户进入网站后,首页展示了最新商品、热销商品以及当前的促销活动。通过直观的布局,用户可以快速浏览各种普洱茶产品,同时还能了解茶文化资讯与相关推荐,增强购物体验。
  2. 公告信息:用户可以查看网站发布的各种公告,包括重要通知、促销活动、节假日安排等,确保买家及时了解网站的最新动态。
  3. 文化资讯:该功能提供有关普洱茶的深度文化背景、历史故事、茶叶品鉴技巧、健康益处等内容,让用户在购物的同时,也能增进对普洱茶文化的理解与兴趣。
  4. 产品信息:买家可以浏览各种普洱茶产品的详细信息,查看产品的介绍、价格、规格、产地等,支持按类别、价格、评分等进行搜索和筛选,帮助用户更便捷地找到心仪的商品。
  5. 商城管理:包括“我的购物车”、“我的订单”、“我的地址”和“我的优惠券”四个模块,用户可以轻松管理购物车商品、查看订单状态、修改收货地址,并使用优惠券享受折扣。
  6. 活动信息:用户可以查看网站举办的各类活动信息,了解活动细节并进行报名参与,享受更多优惠和独家活动。
  7. 个人中心:在个人中心,用户可以查看个人主页、管理活动报名、跟踪订单配送进度、管理收藏的商品和查看自己发布的商品评论。此功能让用户在购物过程中能更方便地管理个人信息和购物记录。

3.1.2 管理员用户功能

  1. 后台首页:管理员可以通过后台首页查看销售统计数据,包括商品销售金额和销售数量,帮助进行数据分析和业务决策。
  2. 系统用户管理:管理员能够管理网站上的用户账户,包括管理管理员权限和买家用户信息。确保用户数据的安全和管理权限的合理分配。
  3. 活动信息管理:管理员可以发布、修改或删除活动信息,并对用户报名情况进行审核管理,确保活动的顺利进行。
  4. 活动类型管理:管理员设置和管理不同类型的促销活动,如折扣、限时抢购、会员专享等,为用户提供多样化的购物选择。
  5. 活动报名管理:管理用户参与活动的报名情况,包括审核报名信息、查看参与人数等,确保活动有序进行。
  6. 系统管理:管理员负责网站的系统设置,包括管理首页轮播图内容、敏感词过滤等,以确保网站信息的准确性和合规性。
  7. 公告信息管理:管理员发布和更新公告信息,及时传达重要通知、节庆安排和促销活动等,保持网站内容的新鲜性和用户的知情权。
  8. 文化资讯管理:管理员负责管理普洱茶相关的文化资讯内容,包括编辑、发布和删除相关文章,保持网站文化内容的更新和多样性。
  9. 商城管理:包括“产品信息管理”、“分类列表管理”、“订单管理”、“订单配送管理”、“优惠券管理”和“订单售后管理”,通过这一系列功能,管理员能够高效管理商品、处理订单、分发优惠券、处理售后问题,保证商城的平稳运行。

3.2系统非功能性分析

在研究普洱茶销售网站时,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于普洱茶销售网站非功能性需求分析的概要。

性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。

可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。

安全性:鉴于系统处理用户敏感信息,如个人信息等,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。

可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。

可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。

易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。


3.3系统可行性分析

通过普洱茶销售网站的可行性分析,从技术可行性、经济可行性、操作可行性以及社会可行性四个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。

3.3.1技术可行性

SpringBoot作为目前流行的Java企业级应用开发框架,以其“约定优于配置”的原则,极大地简化了开发流程,降低了技术门槛。前端采用Vue框架,不仅提升了用户界面的交互体验,也实现了前后端分离的现代Web架构。MySQL数据库作为后端数据存储,以其高性能和稳定性为系统提供了可靠的数据支持。综上所述,从技术角度来看,该系统的开发具备高度可行性。

3.3.2经济可行性

考虑到SpringBoot、JavaScript、及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升系统管理的效率和用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。

3.3.3操作可行性

系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。

3.3.4社会可行性

普洱茶销售平台的社会可行性较高,主要体现在普洱茶作为一种传统茶文化的代表,具有深厚的文化底蕴和广泛的社会认知度。随着消费者对健康饮品需求的增加,普洱茶因其具有的养生功效受到越来越多人的喜爱。同时,线上购物的普及使得消费者更加倾向于通过互联网购买茶叶,尤其是年轻人群体更愿意通过电商平台获取优质商品。因此,普洱茶电商平台不仅能够满足市场需求,还能够促进茶文化的传播和普及,具有较大的社会发展潜力。

从技术、经济、操作和社会四个维度来看,普洱茶销售网站的开发均具备高度的可行性。

3.4系统用例分析

普洱茶销售网站用例分析主要从买家用户、管理员两个实体展开描述。

3.4.1买家用户用例分析

买家在普洱茶电商平台的主要行为包括浏览商品、筛选茶叶种类、查看商品详情、对比价格、加入购物车、下单购买、选择支付方式等。用户通常希望能够快速找到自己感兴趣的普洱茶,并通过详细的商品描述和用户评价做出购买决策。支付过程简便、安全,并支持多种支付方式(如支付宝、微信支付)。此外,用户还可能查看物流信息、跟踪订单,并根据需求进行退换货操作。详细用例图如图3.1所示。

图3.1买家用户用例图

3.4.2管理员用例分析

管理员在普洱茶电商平台的主要任务包括商品管理、订单处理、用户管理、数据分析和平台维护。管理员可以上传、编辑或删除商品,设置价格和促销活动,审核并处理用户订单,确保订单的及时发货与问题解决。此外,管理员还需处理用户投诉、进行库存监控,确保平台的正常运营。详细用例图如图3.2所示。

图3.2管理员用例图

4系统设计

4.1系统总体设计思路

普洱茶销售网站采用Browser/Server结构,(浏览器/服务器)和基于Web服务前后台交互的模式,是一个适用于Windows体系环境下的模型结构。只要用户有符合程序运行的硬件系统,并连上互联网,便可以在任何时间、任何地点使用。系统工作原理图如图4.1所示:

图4.1系统工作原理图

其最终前后台交互原理如图4.2所示。

图4.2前后台交互原理

具体交互流程为:浏览器中执行具体操作,操作命令将生成一个do方法。该方法使得浏览器能够访问后台中的Controller层,Controller层由于业务上的需要执行进而访问Service层。Service层收到指令后将会去调用内部DAO层的接口。接口将会和MyBatis层下的一个SQL语句相对接。对接好之后进而访问MySql数据库。更新底层数据,然后将数据同步回MyBatis层,同步变化后的数据将通过DAO层接口,Service层和后台Controller层,直观反映到浏览器页面上。

4.2系统结构设计

普洱茶销售网站的整体结构设计如图4.3所示。

图4.3整体功能结构设计图

4.3系统功能设计

4.3.1用户登录流程

当用户进入登录页面时,当其在浏览器执行具体操作的时候,后端会同步显示,如图4.4所示。

图4.4登录流程图

4.3.2系统操作流程

用户注册和登录后进入平台浏览商品,使用筛选和搜索功能选择普洱茶产品。用户将商品添加至购物车,填写收货地址并选择支付方式进行订单确认与支付。管理员在后台处理订单,确认库存后进行发货。同时,用户可以随时查看订单状态,并在需要时申请售后服务,如退换货等。整个流程简便高效,确保用户体验流畅,满足购物需求。操作流程如图4.5所示。

图4.5系统操作流程图

4.4系统核心代码设计

普洱茶销售网站的核心代码设计如下:

4.4.1用户注册

       注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如下所示。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

4.4.2用户登录

      登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

4.4.3修改密码

修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如下所示。

/**

     * 修改密码

     * @param data

     * @param request

     * @return

     */

    @PostMapping("change_password")

    public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){

        // 根据Token获取UserId

        String token = request.getHeader("x.auth.token");

        Integer userId = tokenGetUserId(token);

        // 根据UserId和旧密码获取用户

        Map<String, String> query = new HashMap<>();

        String o_password = data.get("o_password");

        query.put("user_id" ,String.valueOf(userId));

        query.put("password" ,service.encryption(o_password));

        int count = service.selectBaseCount(service.count(query, service.readConfig(request)));

        if(count > 0){

            // 修改密码

            Map<String,Object> form = new HashMap<>();

            form.put("password",service.encryption(data.get("password")));

            service.update(query,service.readConfig(request),form);

            return success(1);

        }

        return error(10000,"密码修改失败!");

4.4.4修改数据

修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如下所示。

@PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

4.4.5删除数据

删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如下所示。

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] . 删除操作:{}",wrapper.getSqlSelect());

    }

4.4.6获取数据

通过请求的参数获取列表数据,代码如下所示。

@RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

4.4.7图片上传

通过请求的参数获取列表数据,代码如下所示。

@PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

4.5数据库设计

4.5.1数据库设计原则

普洱茶销售网站在进行数据库设计时,考虑到个人能力与数据库选择,选择了数据库Mysql。以下将使用E.R展示数据库中设计的实体及主要的字段和类型及数据库的描述。

4.5.2数据库实体

通过建立普洱茶销售网站的E.R模型图。以此来设计详细的数据库资料实体,以下为具体图例:

(1)买家用户实体图如下图所示;

图4.6买家用户实体图

(2)产品信息实体图如下图所示;

图4.7产品信息实体图

(3)活动信息实体E.R图如下图所示;

图4.8活动信息实体E.R图

(4)整体数据库实体E.R图如下图所示:

图4.9数据库E.R图

4.5.3数据库表设计

以下为系统开发过程中所使用的数据表如下所示:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表activity_type (活动类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

activity_type_id

int

10

0

N

Y

活动类型ID

2

activity_type

varchar

64

0

Y

N

活动类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

parent

varchar

64

0

Y

N

父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N

位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N

添加字段:

16

field_set

text

65535

0

Y

N

修改字段:

17

field_get

text

65535

0

Y

N

查询字段:

18

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

19

table_nav

varchar

500

0

Y

N

跨表导航:

20

option

text

65535

0

Y

N

配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表buyer_user (买家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

buyer_user_id

int

10

0

N

Y

买家用户ID

2

user_name

varchar

64

0

N

N

用户姓名

3

phone_number

varchar

16

0

Y

N

手机号码

4

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

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

code_token_id

int

10

0

N

Y

2

token

varchar

255

0

Y

N

3

code

varchar

255

0

Y

N

验证码

4

expire_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

失效时间

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表coupon (优惠券)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

coupon_id

int

10

0

N

Y

优惠券id

2

coupon_user_id

int

10

0

Y

N

优惠券用户id

3

coupon_user_auth

varchar

255

0

Y

N

优惠券用户

4

coupon_name

varchar

255

0

Y

N

优惠券名称

5

coupon_price

int

10

0

Y

N

优惠券价格

6

coupon_price1

int

10

0

Y

N

优惠券券后价格

7

coupon_time

varchar

255

0

Y

N

优惠券时间

8

coupon_type

varchar

255

0

Y

N

优惠券类型

9

create_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

10

update_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

表coupon_user (用户优惠券)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

int

10

0

N

Y

id

2

user_id

int

10

0

Y

N

用户id

3

coupon_id

int

10

0

Y

N

优惠券id

4

is_use

int

10

0

Y

N

是否使用

5

coupon_user_id

int

10

0

Y

N

表event_information (活动信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_information_id

int

10

0

N

Y

活动信息ID

2

activity_title

varchar

64

0

N

N

活动标题

3

activity_type

varchar

64

0

Y

N

活动类型

4

cover

varchar

255

0

Y

N

封面

5

event_location

varchar

64

0

Y

N

活动地点

6

activity_time

varchar

64

0

Y

N

活动时间

7

details_introduction

longtext

2147483647

0

Y

N

详情介绍

8

hits

int

10

0

N

N

0

点击数

9

praise_len

int

10

0

N

N

0

点赞数

10

timer_title

varchar

64

0

Y

N

计时器标题

11

timing_start_time

datetime

19

0

Y

N

计时开始时间

12

timing_end_time

datetime

19

0

Y

N

计时结束时间

13

event_registration_limit_times

int

10

0

N

N

1

报名限制次数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表event_registration (活动报名)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_registration_id

int

10

0

N

Y

活动报名ID

2

registration_number

varchar

64

0

Y

N

报名编号

3

activity_title

varchar

64

0

Y

N

活动标题

4

activity_type

varchar

64

0

Y

N

活动类型

5

event_location

varchar

64

0

Y

N

活动地点

6

activity_time

varchar

64

0

Y

N

活动时间

7

registration_date

date

10

0

Y

N

报名日期

8

registered_users

int

10

0

Y

N

0

报名用户

9

user_name

varchar

64

0

Y

N

用户姓名

10

phone_number

varchar

16

0

Y

N

手机号码

11

reason_for_registration

text

65535

0

Y

N

报名原因

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

16

source_table

varchar

255

0

Y

N

来源表

17

source_id

int

10

0

Y

N

来源ID

18

source_user_id

int

10

0

Y

N

来源用户

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表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:[0,8388607]

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

描述:[0,255]用于产品规格描述

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

折扣

表order_after_sale (订单售后)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_after_sale_id

int

10

0

N

Y

订单售后id

2

order_id

int

10

0

N

N

订单ID

3

order_number

varchar

64

0

Y

N

订单号

4

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

5

title

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

user_id

int

10

0

N

N

0

买家ID

11

merchant_id

mediumint

8

0

N

N

0

商家ID

12

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

13

after_state

varchar

16

0

Y

N

未审核

售后状态:未审核,未通过,已通过

14

after_state_reply

varchar

255

0

Y

N

售后回复

15

type

varchar

255

0

Y

N

售后类型

16

content_desc

varchar

255

0

Y

N

售后内容

17

imgs

varchar

1000

0

Y

N

售后凭证

18

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表product_information (产品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_information_id

int

10

0

N

Y

产品信息ID

2

product_specifications

varchar

64

0

Y

N

产品规格

3

product_source

varchar

64

0

Y

N

产品来源

4

hits

int

10

0

N

N

0

点击数

5

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

6

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

7

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

8

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

9

cart_price

double

8

2

N

N

0.00

卖价:[1]

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

主图1:

14

cart_img_2

text

65535

0

Y

N

主图2:

15

cart_img_3

text

65535

0

Y

N

主图3:

16

cart_img_4

text

65535

0

Y

N

主图4:

17

cart_img_5

text

65535

0

Y

N

主图5:

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y

日程ID:[0,32767]

2

content

varchar

255

0

Y

N

日程内容

3

scheduled_time

datetime

19

0

Y

N

计划时间

4

user_id

int

10

0

N

N

用户id

5

create_time

datetime

19

0

Y

N

创建时间

6

update_time

datetime

19

0

Y

N

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y

评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N

昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N

来源表:

8

source_field

varchar

255

0

Y

N

来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

int

10

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5系统实现

5.1买家用户功能实现

5.1.1前台首页

前台首页展示平台的主要功能和特色商品,用户可通过顶部导航栏快速访问各大类目(如普洱茶、礼盒、茶具等)。首页展示热销商品、促销活动以及推荐商品,提升用户的购物体验。滚动横幅用于展示最新活动或品牌资讯,吸引用户注意力。搜索框便于用户快速查找所需商品。首页还会根据用户偏好推荐个性化商品,提高转化率。整体设计简洁直观,确保用户能够方便地浏览和访问相关功能。如下图所示。

图5.1首页界面图

5.1.2用户注册

新用户通过邮箱或手机号创建账户。在注册页面,用户需输入基本信息,如用户名、密码、联系方式等,并设置安全问题或验证码以确保账户安全。注册成功后,用户将自动登录并跳转至个人中心,完成基本资料填写。如下图所示。

图5.2用户注册界面图

5.1.3用户登录

已注册用户通过输入用户名和密码进行登录。登录页面提供“忘记密码”功能,用户可通过邮箱或手机号重置密码。系统支持验证码验证,增加安全性。登录成功后,用户将进入个人中心,查看订单、购物车、账户信息等。为提升安全性,系统还提供多设备登录监控和退出登录功能,确保用户账户的安全性和隐私保护。如下图所示。

图5.3用户登录界面图

5.1.4产品信息

产品信息页面展示每款普洱茶的详细资料,包括商品名称、图片、价格、规格、产地、生产日期、存储方法等。用户可以查看详细的产品描述和高质量的图片,帮助他们更好地了解商品。页面还会展示用户评价、评分及购买建议,增加透明度并帮助用户做出决策。此外,商品页面提供“加入购物车”和“立即购买”按钮,方便用户快捷操作。如下图所示。

图5.4产品信息查看界面图

图5.5提交订单界面图

5.1.5活动信息

报名活动页面展示平台举办的各类线上或线下活动,如茶艺培训、品茶会、普洱茶文化讲座等。每个活动包含详细的活动介绍、时间、地点、报名方式及费用信息。用户可以查看活动详情,了解活动的内容、讲师、参与人数等。页面设置“立即报名”按钮,用户点击后进入报名表单,填写个人信息并完成报名。参与者还可查看活动的历史记录与反馈,提升参与度和活动的互动性。如下图所示。

图5.6活动信息查看界面图

图5.7活动报名界面图

5.1.6个人中心

个人中心功能包括用户基本信息管理、订单配送、活动报名、收藏和评论管理。用户可在个人首页查看账户信息、积分及历史记录。活动报名板块显示已报名活动及状态,支持报名和查询。订单配送功能提供详细订单信息及物流追踪。收藏功能便于用户保存喜爱的商品、活动等,方便快速访问。如下图所示。

图5.8个人中心界面图

5.2管理员功能实现

5.2.1后台首页

后台首页展示关键的商品销售数据,包括销售金额和销售数量统计。管理员可以实时查看各类商品的销售情况,分析销售趋势,帮助制定优化策略。页面提供直观的图表和数据视图,便于管理员快速了解平台的运营状态。通过数据对比,管理员能够及时调整库存、定价及促销策略,提升运营效率和市场响应能力。如下图所示。

图5.9后台首页界面

5.2.2用户管理

用户管理功能允许管理员查看、搜索和管理平台上的所有用户信息。管理员可以查看用户的注册信息、账户状态、订单历史、活动参与记录等。通过权限设置,管理员能够对用户进行禁用、删除或修改操作。管理员还可以监控用户行为,如登录历史、订单异常等,确保平台的安全性与稳定性。此功能有助于提升用户体验、管理效率及平台的运营效果。如下图所示。

图5.10用户管理界面

5.2.3活动报名管理

管理员查看和管理所有用户的活动报名情况。管理员可以查看每个活动的报名人数、参与用户、报名状态等信息,支持按活动、时间和用户筛选查询。管理员可对报名信息进行审核、取消或修改,确保活动的顺利进行。系统还提供报名人数统计、活动反馈收集等功能,帮助管理员分析活动效果与参与度。通过此功能,管理员能高效地管理活动报名流程,提升活动组织与用户参与体验。如下图所示。

图5.11活动报名审核界面

5.2.4商城管理

商城管理功能包括产品信息管理、分类列表、订单列表、订单配送、优惠券和订单售后。管理员可编辑商品详情、调整库存、设置分类,方便商品管理。订单列表展示所有用户订单,支持按状态查询、筛选和管理。订单配送功能跟踪订单物流进度,确保及时配送。优惠券管理允许创建、分发和监控优惠券使用情况。订单售后支持处理退换货、退款申请,确保用户满意度。整体功能提升平台运营效率,优化用户购物体验。如下图所示。

图5.12产品发布界面

图5.13产品管理界面

6系统测试

6.1系统测试目标

为了保证普洱茶销售网站的质量,使其能够稳定的运行,并排除其可能存在的未知隐患。解除软件可能存在的故障,理清楚测试与纠错的关系,如下图所示。

图6.1测试与纠错信息流程

6.2系统功能测试

通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。以下是详细的测试表:

表6.1用户注册测试表

测试用例编号

功能模块

测试用例描述

测试结果

TC001

用户注册

输入正确的用户名和密码

注册成功,提示注册完成

TC002

用户注册

输入已存在的用户名

注册失败,提示用户名已存在

TC003

用户注册

输入格式错误的邮箱地址

注册失败,提示邮箱格式错误

TC004

用户注册

不输入密码

注册失败,提示密码不能为空

TC005

用户注册

输入弱密码(如123456)

注册失败,提示密码强度不足

表6.2用户登录测试表

测试用例编号

功能模块

测试用例描述

测试结果

TC001

用户登录

输入正确的用户名和密码

登录成功,进入主页

TC002

用户登录

输入错误的用户名

登录失败,提示用户名不存在

TC003

用户登录

输入错误的密码

登录失败,提示密码错误

TC004

用户登录

未输入用户名或密码

登录失败,提示用户名或密码不能为空

TC005

用户登录

多次输入错误密码

登录失败,提示账户已被锁定

表6.3查看产品信息测试表

测试用例编号

功能模块

测试用例描述

测试结果

TC001

查看产品信息

点击商品分类,查看商品列表

成功展示商品列表

TC002

查看产品信息

点击某个商品,查看商品详情

成功展示商品详细信息

TC003

查看产品信息

点击无效商品链接

提示商品不存在或已下架

TC004

查看产品信息

进入商品详情页,查看库存信息

显示商品库存数量

TC005

查看产品信息

查看商品评价,显示评价内容

显示商品的用户评价和评分

表6.4提交订单测试表

测试用例编号

功能模块

测试用例描述

测试结果

TC001

提交订单

输入正确的收货地址和支付信息

提交成功,生成订单并跳转至支付页面

TC002

提交订单

收货地址为空

提交失败,提示收货地址不能为空

TC003

提交订单

支付信息填写不完整(如缺少银行卡号)

提交失败,提示支付信息不完整

TC004

提交订单

订单商品库存不足

提交失败,提示库存不足,无法下单

TC005

提交订单

选择优惠券后提交订单

提交成功,订单价格应用优惠券折扣

表6.5活动报名测试表

测试用例编号

功能模块

测试用例描述

测试结果

TC001

活动报名

输入有效信息,成功报名活动

报名成功,提示报名已完成

TC002

活动报名

输入已报名的用户信息

报名失败,提示已报名

TC003

活动报名

活动名额已满,尝试报名

报名失败,提示活动名额已满

TC004

活动报名

未登录时尝试报名活动

提示用户未登录,需要先登录才能报名

TC005

活动报名

提供无效的个人信息(如错误的电话)

报名失败,提示个人信息无效或填写错误

6.3测试结果总结

通过对用户注册、登录、查看产品信息、提交订单和活动报名等功能的测试,整体测试情况良好,绝大部分功能均按预期正常运行。用户注册功能在输入有效信息时成功注册,但在用户名重复、邮箱格式错误、弱密码等情况下能够正确提示用户并阻止注册。登录功能对于正确和错误的用户名、密码均能做出相应反馈,确保安全性。产品信息查看功能稳定,能够准确展示商品详情和库存信息。提交订单功能在信息完整的情况下顺利完成订单提交,但在缺失收货地址、库存不足等情况下能有效阻止提交。活动报名功能也能准确处理用户报名情况,未登录或信息错误时会给出明确提示。整体来看,系统在处理正常情况和异常输入时都能表现出较高的稳定性与容错性,为用户提供了顺畅且安全的操作体验。不过,个别异常情况的提示信息可以进一步优化,以提升用户体验。

结 论

通过研究我成功设计并实现了一个普洱茶销售网站,旨在为普洱茶行业提供一个高效、便捷的电子商务平台。通过对市场需求的分析,系统分为买家和管理员两个主要角色,分别提供商品浏览、购物、订单管理、活动参与、用户互动等功能,以及商品销售统计、订单处理、活动管理、系统配置等后台管理功能。设计中注重用户体验,优化了商品展示、订单跟踪和个性化推荐等流程,确保用户能够方便快捷地完成购物操作。

系统采用Spring Boot框架作为技术基础,提供高效的开发环境与丰富的扩展能力,确保了系统的稳定性与可维护性。同时,结合MySQL数据库实现数据存储和管理,确保了用户信息、商品数据和订单记录的高效、安全存储。前端界面采用现代网页设计技术,用户能够在简洁直观的界面中快速完成操作。

通过网站的开发与实现,预期能够提升普洱茶产品的市场竞争力,推动普洱茶文化的传播。平台为普洱茶爱好者提供了便捷的购物体验,同时也为商家提供了高效的销售和管理工具。总体而言,本文所开发的普洱茶销售网站具备良好的扩展性和可持续性,能够适应未来市场的变化和需求,为普洱茶行业的数字化转型贡献力量。

参考文献

  1. 谢振华.智慧农业销售平台Web架构设计与优化部署[J].电脑与信息技术,2024,32(05):84-86.
  2. Wenjuan Shao,Kun Liu.Design and Implementation of Online Ordering System Based on SpringBoot[J].Journal of Big Data and Computing,2024,2(3):
  3. Yixuan Liu.Design and Implementation of a Student Attendance Management System based on Springboot and Vue Technology[J].Frontiers in Computing and Intelligent Systems,2024,8(1):91-97.
  4. 王培培.基于SpringBoot的网上商城管理系统设计与实现[J].现代计算机,2024,30(07):117-120.
  5. 曹关昕,张红麟.贵州省地方特色农产品网络销售平台设计与实现——以毕节市威宁县为例[J].数字农业与智能农机,2024,(03):110-114.
  6. 赵金燕,周兵,胡宝晶,郎云雯,张晋恒.基于云计算的普洱茶信息管理系统设计与实现[J].中国茶叶,2024,46(03):66-71.
  7. 陈彬.基于SpringBoot技术的海产品销售平台设计与开发[J].信息与电脑(理论版),2024,36(05):77-80.
  8. 田玉昆.基于Java Web技术的手机销售网站的设计与实现[J].电脑知识与技术,2023,19(32):47-49.
  9. [9]陆元烽,张锦.“苗侗绿园”——助农销售平台的设计与实现[J].数字农业与智能农机,2023,(09):97-99.
  10. Li Heng,Liu Yuxing.Design and implementation of a standardized review system for gas station safety production based on SpringBoot[A]2023:
  11. Yu Yang.Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):
  12. 万玲娜.基于Web的社区销售平台设计与实现[J].现代计算机,2022,28(22):103-108.
  13. 魏翠萍.计算机网络平台下的茶叶销售系统设计研究[J].福建茶叶,2022,44(09):63-65.
  14. 陈小燕,朱映辉,余晓春.基于SpringBoot+Vue的好农物商城的设计与实现[J].电脑知识与技术,2022,18(22):37-39.
  15. 朱莉.吉林省农产品电商销售平台调研分析[J].商场现代化,2022,(14):46-48.
  16. 宋爽.基于微服务架构的高并发电商系统设计与实现[D].天津科技大学,2022.
  17. 田松涛,段元梅.基于SpringBoot的线上商城平台设计[J].无线互联科技,2022,19(01):56-57.
  18. 郑旭萍,蔡绍博,徐欢,张军.基于云计算技术的茶叶销售平台系统[J].福建茶叶,2022,44(01):56-58.
  19. 王宽,张晓莹.“互联网+”模式下大学生家乡特产销售平台建设——以古驿野生蓝莓副产品销售为例[J].商展经济,2021,(06):46-48.
  20. Jian Chen,Chen Jian,Pan Hailan.Design of Man Hour Management Information System on SpringBoot Framework[J].Journal of Physics: Conference Series,2020,1646(1):012136-.

致 谢

在本论文的撰写和系统开发过程中,我深刻体会到个人独立完成一项系统开发工作的挑战与成就感。首先,我要感谢我的导师,在整个研究和开发过程中给予了我无私的指导与建议。无论是在技术细节还是研究思路上,他都为我提供了宝贵的方向性指导,帮助我克服了许多难题。虽然整个开发过程是由我独立完成的,但导师的意见使我在遇到瓶颈时有了清晰的解决思路。

在开发过程中,我经历了从系统需求分析、架构设计到功能实现的完整过程。这不仅锻炼了我的编码能力,也让我在项目管理、时间安排和问题解决等方面有了长足的进步。我独立完成了系统的每一行代码,并通过反复测试和优化确保了系统的稳定性和性能。在遇到技术难题时,我通过查阅大量文献、技术文档和社区讨论,自主解决了各类问题,这个过程让我更加理解了技术的深度与广度。

同时,我也要感谢我的家人和朋友,他们在开发的整个过程中给予了我莫大的支持和鼓励,成为我坚持完成这项工作的动力。正是在这些力量的支持下,我才能独立完成这项系统开发并顺利完成论文的撰写。

领取源码,请私信博主!!!

领取源码,请私信博主!!!

领取源码,请私信博主!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值