基于微服务的中药材电商交易平台的设计与开发-毕设课程设计97529
基于微服务的中药材电商交易平台的设计与开发
摘 要
随着中医药产业的持续发展以及电子商务模式的广泛应用,传统中药材交易方式逐渐暴露出信息不透明、交易流程分散、订单管理效率低及售后服务不完善等问题,难以满足用户在线购药和供应商数字化经营的需求。为提升中药材交易平台的服务能力与管理效率,本文设计并实现了一套基于微服务架构的中药材电商交易平台。
本系统后端采用Spring Cloud微服务框架进行开发,结合Java语言实现业务逻辑处理,前端基于Vue构建交互式用户界面,数据库采用MySQL完成数据存储,并通过前后端分离模式与接口调用实现系统功能集成。平台主要面向普通用户、供应商用户和管理员三类角色,普通用户可进行注册登录、药材商品浏览、购物车管理、订单提交、地址维护、收藏点赞、即时通讯及交易纠纷反馈等操作;供应商用户可对店铺信息、药材商品、商品分类、订单配送、售后服务及交易纠纷进行管理;管理员则可对系统用户、公告信息、行业资讯、店铺信息、商品订单、轮播图及权限配置等模块进行统一维护与监督。
通过系统测试与功能验证表明,该平台运行稳定、功能较为完善,能够满足中药材线上交易、供应商运营管理及后台综合管理等实际需求。系统不仅提高了中药材交易流程的信息化与规范化水平,也优化了用户购物体验和平台管理效率,对推动中药材电商平台建设具有一定的实践意义。
关键词:中药材电商交易平台;SpringCloud;Vue;
With the continuous development of the traditional Chinese medicine industry and the widespread application of e-commerce models, traditional herbal medicine trading methods have gradually exposed issues such as information opacity, fragmented transaction processes, low order management efficiency, and inadequate after-sales services, making it difficult to meet users' needs for online medication purchases and suppliers' digitalized operations. To enhance the service capabilities and management efficiency of the herbal medicine trading platform, this paper designs and implements an e-commerce trading platform for herbal medicine based on a microservices architecture.
The backend of this system is developed using the Spring Cloud microservices framework, with business logic implemented in Java. The frontend is built with Vue to create an interactive user interface, while MySQL handles data storage. System functionality integration is achieved through a frontend-backend separation model and API calls. The platform primarily serves three user roles: general users, supplier users, and administrators. General users can perform operations such as registration, login, browsing medicinal goods, managing shopping carts, placing orders, maintaining addresses, bookmarking, liking, instant messaging, and submitting transaction dispute feedback. Supplier users can manage store information, medicinal goods, product categories, order fulfillment, after-sales services, and transaction disputes. Administrators oversee and maintain modules including system users, announcements, industry news, store information, product orders, banners, and permission configurations.
System testing and functional verification demonstrate that the platform operates stably with relatively comprehensive features, meeting practical requirements such as online transactions of medicinal herbs, supplier operation management, and backend comprehensive management. The system not only enhances the informatization and standardization of medicinal herb trading processes but also optimizes user shopping experiences and platform management efficiency, holding significant practical value for advancing the development of medicinal herb e-commerce platforms.
Keywords: Traditional Chinese Medicine E-commerce Trading Platform; SpringCloud; Vue;
目 录
摘 要
Abstract
第一章 绪论
1.1 研究背景和意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.3 课题主要研究内容
1.4 相关技术简介
1.4.1 SpringCloud分布式微服务架构
1.4.2 Vue框架
1.4.3 Java语言
1.4.4 MySQL数据库
1.5 开发环境
第二章 需求和需求分析
2.1 系统概述
2.2 功能需求
2.2.1 用例模型
2.2.2 用例描述
2.3 非功能需求
2.4 需求分析
2.4.1 DFD 基本概念
2.4.2 顶层数据流图
2.4.3 注册登录流程图
2.4.4 数据搜索流程图
第三章 系统设计
3.1 软件架构设计
3.1.1 架构设计目标
3.1.2 软件架构
3.2 功能(模块)设计
3.3 数据库设计
3.3.1 实体关系图(ER图)
3.3.2 数据库表设计
第四章 系统实现
4.1 普通用户管理模块的实现
4.1.1 注册登录
4.1.2 首页
4.1.3 公告信息
4.1.4 行业资讯
4.1.5 药材商品
4.1.6 商城管理
4.1.7 个人首页
4.2 供应商用户模块的实现
4.2.1 后台首页
4.2.2 交易纠纷管理
4.2.3 店铺信息管理
4.3 管理员模块的实现
4.3.1 后台首页
4.3.2 系统用户
4.3.3 店铺信息管理
4.3.4 系统管理
4.3.5 资源管理
4.3.6 商城管理
第五章 系统测试
5.1 系统测试概述
5.2 测试用例设计
5.3 测试结果
第六章 结论与展望
6.1 结论
6.2 展望
参考文献
附录
致谢
第一章 绪论
1.1研究背景和意义
1.1.1研究背景
随着中医药产业的持续发展以及“互联网+医药”模式的不断推进,传统中药材交易方式正逐渐向线上化、数字化转型。然而,现有中药材交易体系仍普遍存在信息不对称、流通环节复杂、交易过程不透明以及管理效率低等问题,难以满足用户便捷购药与供应商高效运营的实际需求。同时,随着交易规模扩大,平台在高并发处理、系统扩展性及数据管理等方面也面临更高挑战。在此背景下,构建一个高效、稳定且可扩展的中药材电商交易平台显得尤为必要。
为提升中药材交易的信息化水平与平台服务能力,本文设计并实现了一套基于微服务架构的中药材电商交易平台。系统采用Spring Cloud构建后端服务体系,结合Vue实现前端交互界面,通过前后端分离模式提升系统开发效率与用户体验。平台面向普通用户、供应商及管理员三类角色,支持商品浏览、在线交易、订单管理及后台监管等功能,旨在优化交易流程、提高管理效率,并为中药材行业的数字化发展提供有力支撑,具有较强的现实意义与应用价值。
1.1.2研究意义
从理论层面来看,本课题基于Spring Cloud微服务架构与Vue前端技术体系开展研究,体现了当前软件工程领域向分布式、模块化发展的主流趋势。通过对系统功能进行服务化拆分与解耦设计,有效降低了系统复杂度,提高了可维护性与扩展性,同时为中药材电商平台在复杂业务场景下的架构优化提供了可参考的实现路径,对相关领域的信息化研究具有一定的理论借鉴意义。
从实际应用角度来看,随着中医药产业数字化转型的不断推进,传统中药材交易模式已难以满足用户高效便捷的在线交易需求。本系统通过构建集商品交易、订单管理、信息发布与平台监管于一体的综合服务平台,实现了普通用户便捷购药、供应商高效运营以及管理员统一监管的协同机制,不仅提升了交易效率与服务质量,也在一定程度上缓解了信息不对称问题。同时,系统具备良好的稳定性与扩展能力,能够适应业务规模增长需求,具有较强的实际应用价值与推广前景。
1.2国内外研究现状
在国内,近年来,随着“互联网+医疗健康”战略的推进及中医药产业政策的不断完善,我国中药材电商与信息化相关研究逐步深化。国内学者主要围绕平台建设、供应链优化及质量追溯等方面展开,重点解决中药材交易过程中信息不透明、标准不统一及流通效率较低等问题。在技术实现层面,多采用Spring Cloud微服务架构及大数据技术对系统进行设计与优化,以提升平台的可扩展性与业务处理能力。同时,国家层面持续推进中药材规范化种植与质量管理,通过建立GAP标准及药品追溯体系,实现从生产、流通到销售的全过程监管。此外,部分研究开始引入区块链与物联网技术,实现中药材来源可追溯与质量可信验证。在应用层面,中药材电商平台逐步向集商品交易、信息服务与监管功能于一体的综合模式发展。然而,现阶段仍存在系统集成度不高、智能化水平不足及多平台数据共享困难等问题,有待进一步研究与完善。
相较于国内,国外在中药材及草本医药领域的研究主要集中于药理机制、质量控制及智能识别等方向,而针对中药材电商平台的系统性研究相对较少。西方国家通常将中药视为传统草本医学的重要组成部分,并借助现代医学方法与数据分析技术对其有效性进行验证,但相关研究在科学证据与标准统一方面仍存在一定争议。在技术应用层面,国外学者更多关注人工智能、机器学习及计算机视觉技术在草药识别与分类中的应用,例如利用深度学习模型进行图像识别与特征提取,以提高识别准确率与自动化水平。同时,网络药理学等新兴方法被用于分析草药成分与疾病之间的作用机制,为药效研究提供理论支持。总体来看,国外研究更加侧重基础理论与智能技术应用,而在面向交易与产业化的电商平台建设方面仍处于探索阶段,与我国在中药材电商系统实践方面形成一定的互补关系。
1.3课题主要研究内容
本课题主要围绕中药材电商交易平台的设计与实现展开研究。首先,通过对系统需求进行分析,明确普通用户、供应商用户及管理员三类角色的功能需求与业务流程;其次,在系统架构方面,基于Spring Cloud微服务框架进行整体设计,完成服务拆分与模块划分,并结合Vue构建前端交互界面;再次,在功能实现上,重点开发用户注册登录、商品浏览与交易、订单管理、店铺与商品管理、公告资讯发布及后台监管等核心模块;同时,完成数据库设计与数据结构建模,保障系统数据的完整性与一致性;最后,通过系统测试对平台的功能性与性能进行验证,确保系统具备良好的稳定性与可扩展性。
1.4相关技术简介
1.4.1SpringCloud分布式微服务架构
Spring Cloud是一套基于Spring Boot实现的分布式系统架构解决方案,提供了服务注册与发现、配置管理、服务网关、负载均衡、熔断器等一整套微服务治理工具[1]。在本系统中,Spring Cloud被用于构建高可用、可扩展的后端服务,各个功能模块以独立微服务的形式运行,通过服务注册中心进行统一管理[2]。该技术的应用提高了系统的可维护性和可扩展性,支持高并发访问,并有效降低了模块间的耦合度,是实现现代电商平台架构的重要支撑。
1.4.2Vue框架
Vue是一款轻量级、渐进式的前端JavaScript框架,具备组件化开发、响应式数据绑定及虚拟DOM等核心特性,能够高效构建性能优良的用户界面[3]。在本课题所设计的中药材电商交易平台中,Vue主要用于实现前后端分离架构下的前端页面开发,完成首页展示、药材商品浏览、分类检索、订单管理、购物车操作、在线沟通、个人中心以及后台管理等模块的动态交互功能。通过Vue Router实现单页面应用的路由跳转与访问控制,结合Vuex(或Pinia)对用户状态及全局数据进行统一管理,并借助Axios发送异步HTTP请求与后端微服务进行数据交互,使系统前端具备良好的可维护性与扩展能力。同时,Vue高效的渲染机制显著提升了页面响应速度,在处理大量药材商品数据时能够保证流畅的用户体验,从而有效提升平台整体性能与用户满意度[4]。
1.4.3Java语言
Java是一门广泛应用于企业级应用开发的面向对象编程语言,具有平台无关性、安全性高、性能稳定等优点[5]。本系统后端采用Java语言进行开发,结合Spring Boot框架快速构建服务模块,实现业务逻辑处理、数据持久化、接口调用等功能。Java强大的生态系统和丰富的类库支持,使得系统在处理高并发请求、复杂业务逻辑时依然保持良好的性能和稳定性[6]。同时,Java在大型分布式系统中的广泛应用,也为本系统的后续扩展和维护提供了坚实的技术保障。
1.4.4MySQL数据库
MySQL是一种开源的关系型数据库管理系统,具有稳定性高、性能优良及易于维护等特点,被广泛应用于各类Web应用系统中[7]。在本课题所设计的中药材电商交易平台中,MySQL主要用于存储用户信息、药材商品数据、订单信息、店铺信息、评价反馈及系统日志等核心业务数据。系统通过MyBatis框架实现与数据库的交互,完成高效的数据读写与持久化操作。MySQL支持事务管理、索引优化及主从复制等机制,为系统提供了可靠的数据存储与访问能力,有效保障了数据的一致性与完整性,是支撑平台稳定运行与业务实现的重要基础[8]。
1.5开发环境
本课题在开发环境方面采用主流的软件开发工具与技术体系进行构建。后端开发基于Java语言,使用Spring Boot与Spring Cloud微服务框架进行系统搭建,开发工具选用IntelliJ IDEA,以提升编码效率与项目管理能力;前端开发基于Vue框架,结合Node.js环境及相关依赖工具进行项目构建与调试,开发工具采用Visual Studio Code。数据库方面选用MySQL进行数据存储与管理,并借助Navicat等可视化工具进行数据库设计与维护。同时,系统开发过程中使用Maven进行项目依赖管理,Git进行版本控制,接口测试工具采用Postman,以保证系统开发过程的规范性与高效性,从而为平台的稳定运行提供良好的技术支撑。
第二章 需求和需求分析
2.1系统概述
系统旨在构建一个功能完善、操作便捷的中药材电商交易与管理平台,为用户与供应商提供高效的信息交互与交易服务。系统主要涵盖药材商品浏览、分类检索与筛选、在线下单购买、订单管理与物流跟踪、评价反馈、个人中心及即时通讯等核心功能,满足用户便捷购药与信息获取需求。同时,系统支持供应商对店铺信息、药材商品、订单配送及售后服务进行统一管理,并为管理员提供用户管理、公告发布、商品监管、订单统计及数据分析等功能,从而提升平台整体运营效率与服务质量。
系统采用前后端分离架构,前端基于Vue框架实现页面交互与数据展示,后端依托Spring Cloud构建微服务体系,具备良好的扩展性与并发处理能力。通过模块化设计与服务解耦,系统各功能之间耦合度较低,便于后期维护与功能扩展,能够满足中药材电商平台的实际应用需求。
2.2功能需求
2.2.1用例模型
普通用户用例图如图2-1所示。

图2-1 普通用户用例图
供应商用户用例图如图2-2所示。

图2-2 供应商用户用例图
管理员用例图如图2-3所示。

图2-3管理员用例图
2.2.2用例描述
(1)用户注册用例
用户注册用例描述如表2-1所示。
表2-1 用户注册用例
|
用例名 |
用户注册 |
|
简要描述 |
新用户通过填写基本信息完成注册 |
|
参与者 |
普通用户 |
|
前置条件 |
用户访问注册页面 |
|
主业务流程 |
|
|
扩展流程 |
1. 若信息不合法或用户名已存在,提示错误并返回注册页面 |
|
后置条件 |
用户账户创建成功,可使用账户登录系统 |
(2)用户登录用例
用户登录用例描述如表2-2所示。
表2-2 用户登录用例
|
用例名 |
用户登录 |
|
简要描述 |
用户通过用户名和密码进行登录 |
|
参与者 |
普通用户 |
|
前置条件 |
用户已注册 |
|
主业务流程 |
用户输入用户名和密码 提交登录请求 系统验证用户信息 登录成功并跳转至首页 |
|
扩展流程 |
1. 若用户名或密码错误,提示错误信息并返回登录页面 |
|
后置条件 |
用户登录成功,可访问受保护资源 |
(3)用户浏览行业资讯用例
用户浏览行业资讯用例描述如表2-3所示。
表2-3 用户浏览行业资讯用例
|
用例名 |
用户浏览行业资讯 |
|
简要描述 |
用户在资讯首页或分类页面查看资讯信息 |
|
参与者 |
普通用户 |
|
前置条件 |
用户访问资讯首页或分类页面 |
|
主业务流程 |
用户进入首页或分类页面 系统展示资讯列表及摘要信息 用户点击资讯查看详细内容 |
|
扩展流程 |
1. 资讯内容加载失败,显示错误提示 |
|
后置条件 |
用户成功查看行业资讯内容 |
(4)管理员用户管理用例
用户管理用例描述如表2-4所示。
表2-4 用户管理用例
|
用例名 |
用户管理 |
|
简要描述 |
管理员对用户信息进行查看和管理 |
|
参与者 |
管理员 |
|
前置条件 |
管理员已登录 |
|
主业务流程 |
管理员进入用户管理页面 查看用户列表 可执行禁用/启用/删除用户操作 |
|
扩展流程 |
1. 若操作失败,提示错误信息 |
|
后置条件 |
用户信息成功更新或删除 |
- 管理员商城管理用例
管理员商城管理用例描述如表2-5所示。
表2-5管理员商城管理用例
|
用例名 |
商城管理 |
|
简要描述 |
管理员对平台中的药材商品、商品分类、订单信息及配送售后等内容进行统一管理 |
|
参与者 |
管理员 |
|
前置条件 |
管理员已成功登录系统后台,并具备相应管理权限 |
|
主业务流程 |
管理员进入商城管理模块页面 选择商品管理、分类管理或订单管理等子功能 对药材商品进行添加、编辑、删除或上下架操作 对订单进行查看、审核、发货及售后处理 提交操作请求,系统更新相关数据并反馈处理结果 |
|
扩展流程 |
1. 若操作数据不完整或不符合规范,系统提示错误信息 2. 若系统异常或操作失败,提示失败原因并支持重新操作 |
|
后置条件 |
商城相关信息被成功更新,包括商品、分类、订单及售后数据等内容 |
2.3非功能需求
(1)性能需求:系统应支持高并发访问场景,确保在多用户同时进行药材商品浏览、下单购买及订单查询等操作时仍能保持较快的响应速度与稳定运行,后端服务需具备良好的负载处理能力,前端页面加载时间应控制在合理范围内。
(2)安全性需求:系统需保障用户账户信息及交易数据的安全性,采用HTTPS协议进行数据加密传输,对用户密码进行加密存储,同时对下单、支付及信息修改等关键操作进行身份验证与权限控制,防范SQL注入、XSS等安全风险。
(3)可靠性与可用性:系统应具备较高的稳定性与可用性,后端微服务需支持熔断、限流及容错机制,避免单点故障影响整体系统运行,前端界面应具备良好的兼容性,能够适配不同浏览器及终端设备。
(4)可扩展性与可维护性:系统整体架构应具备良好的扩展能力,便于后续功能模块的增加及第三方系统的接入,同时代码结构清晰、模块划分合理,方便系统的维护、升级与二次开发。
(5)用户体验需求:系统前端界面应简洁直观、操作便捷,具备良好的交互设计,提升用户使用体验,同时提供完善的提示信息与反馈机制,减少用户操作错误,提高整体使用满意度。
2.4需求分析
2.4.1DFD 基本概念
数据流图是一种从数据处理角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程的工具,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。它在系统分析与设计阶段发挥着关键作用,能够帮助开发人员清晰地理解系统的功能需求和数据流程,促进团队成员之间的沟通与协作。
2.4.2顶层数据流图
顶层数据流图,也称为上下文图,是数据流图的最高层次,它提供了整个系统的最高层次视图,展示了系统与外部实体之间的交互边界和主要数据流,将系统看作一个整体,忽略系统内部的具体细节,重点关注系统与外界的联系。
在中药材电商交易平台的顶层数据流图中,主要涉及两个外部实体:普通用户、供应商用户和管理员。普通用户通过浏览器与中药材电商交易平台进行交互,管理员则通过后台管理界面与中药材电商交易平台交互。顶层数据流图简洁地描绘了中药材电商交易平台与外部实体之间的主要数据交互关系,为后续对系统内部功能的进一步分解和细化奠定了基础,如图2-6所示:

图2-6 顶层数据流图
2.4.3注册登录流程图
用户注册登录模块主要是为了方便用户和管理员能够安全地访问系统并管理自己的信息,用户根据提示输入注册信息进行注册操作以获得个人账号,在登录界面输入账号密码等信息进行系统登录,用户注册登录流程如下图所示。

图2-7系统操作流程图
2.4.4数据搜索流程图
用户可以通过输入关键字方式在系统大量的数据中检索所需的信息,在搜索框输入关键字确认查询后,系统会自动检索数据库并显示特定的数据信息,数据搜索流程如下图所示。

图2-8 数据搜索流程图
第三章 系统设计
3.1软件架构设计
3.1.1架构设计目标
本SpringCloud 中药材电商交易平台的软件架构设计旨在满足多方面的非功能性需求,以确保系统高效、稳定运行,并为用户提供良好的使用体验与服务支撑。
(1)高稳定性与高可用性。作为面向用户与供应商的电商交易平台,系统需持续稳定运行,避免因系统故障导致订单丢失或交易中断。因此,在架构设计上采用微服务与分布式部署模式,结合服务注册与发现机制,实现服务之间的解耦与容错处理,保障系统核心业务7×24小时稳定可用。
(2)高效响应性能。系统需在用户集中访问时仍保持良好的响应速度,前端页面加载时间应控制在合理范围内,关键业务操作如商品查询、下单支付及订单处理等接口响应时间需尽量缩短,从而提升用户体验与平台运行效率。
(3)支持高并发访问。考虑到电商平台在促销或高峰时段可能出现大量用户同时访问,系统需具备良好的并发处理能力,能够支持数百甚至上千用户同时进行商品浏览、下单及评价等操作,并在高负载情况下保持系统基本功能正常运行。
(4)良好的可扩展性与灵活性。随着业务规模的不断扩大,系统需支持模块化设计与横向扩展,便于后续新增功能模块(如支付接口、物流系统等)或对接第三方服务,从而降低系统升级与维护成本,提高开发效率。
(5)安全可靠的数据处理能力。系统需保障用户信息、订单数据及交易记录的安全性,通过数据加密传输、身份认证与权限控制等手段防止非法访问,同时数据库具备事务管理与备份恢复机制,确保数据的一致性、完整性及系统运行的可靠性。
3.1.2软件架构
本中药材电商交易平台采用分层架构,主要分为表现层、业务逻辑层、数据访问层和数据存储层,各层之间职责明确,通过接口进行交互,使得系统具有良好的可维护性和可扩展性,其架构图如图3-1所示:

图3-1 软件架构图
3.2功能(模块)设计
功能模块设计是系统设计中不可或缺的一环,它涉及将复杂的系统功能需求拆解为可管理的组件。这一过程首先要求创建一个详尽的架构图,该架构图勾勒出各个组件间的相互关系和依赖性。在架构图的基础上,需对每一个组件进行深入分析,包括其执行的业务逻辑流程、数据流动路径以及与其他组件或外部系统的交互接口。
中药材电商交易平台的软件结构图如图3-2所示,包括了以下模块:
(1)普通用户
1.注册登录:用户通过填写信息完成账号注册并登录系统。
2.首页:展示平台主要内容入口和推荐信息。
3.公告信息:查看平台发布的最新公告和通知。
4.行业资讯:浏览与行业相关的资讯和资讯内容。
5.即时通讯:用户之间可以进行实时消息交流。
6.药材商品:查看供应商发布的药材信息,包括店铺名称、产地和功效等。
7.商城管理:管理个人购物相关信息,如购物车、订单和收货地址。
8.店铺信息:查看各供应商店铺的详细资料。
9.我的账户:查看和管理个人账户基本信息。
10.修改密码:用户可以修改当前账号的登录密码。
11.个人首页:展示用户个人信息及相关操作入口。
12.交易纠纷:查看和处理与订单相关的纠纷问题。
13.订单配送:跟踪订单的物流配送状态。
14.收藏记录:查看用户收藏的商品或店铺信息。
15.点赞记录:查看用户点赞过的内容记录。
(2)供应商用户
1.注册登录:供应商注册账号并登录进入系统后台。
2.后台首页:展示供应商运营数据和功能入口。
3.交易纠纷管理:查看和处理交易纠纷列表。
4.店铺信息管理:管理店铺信息,包括查看列表和新增店铺信息。
5.商城管理:管理商品、分类及订单,包括订单配送和售后服务。
(3)管理员
1.登录:管理员通过账号登录后台管理系统。
2.后台首页:展示系统整体运行情况和管理入口。
3.系统用户:管理不同角色用户,包括管理员、普通用户和供应商用户。
4.交易纠纷管理:查看并处理交易纠纷及新增纠纷记录。
5.店铺信息管理:管理平台所有店铺信息,包括查看和添加。
6.系统管理:管理系统基础内容,如轮播图展示。
7.公告信息管理:发布和维护平台公告信息。
8.资源管理:管理行业资讯及其分类信息。
9.商城管理:统一管理商品、分类、订单、配送及售后流程。
10.权限管理:配置不同角色的访问权限和功能权限。

图3-2 中药材电商交易平台软件结构图
3.3数据库设计
3.3.1实体关系图(ER图)
实体关系图(ER图)在软件数据库设计中起到了直观展示系统数据模型的作用,它通过实体、属性和实体间关系的图形化表达,帮助开发人员清晰地理解数据结构和逻辑关联。ER图有助于确保数据库表结构设计的合理性,为后续的数据表创建、索引优化以及系统功能实现提供重要依据。
中药材电商交易平台软件中的E-R图如图3-3所示:

图3-3 系统总体ER图
用户权限管理实体属性图如图3-4所示。

图3-4 用户权限管理实体图
商品信息实体属性图如图3-5所示。

图3-5商品信息实体图
购物车实体属性图如图3-6所示。

图3-6购物车剂实体图
物流配送实体属性图如图3-7所示。

图3-7物流配送实体图
药材商品实体属性图如图3-8所示。

图3-8药材商品实体图
公告实体属性图如图3-9所示。

图3-9公告实体图
普通用户实体属性图如图3-10所示。

图3-10普通用户实体图
供应商用户实体属性图如图3-11所示。

图3-11 供应商用户实体图
管理员实体属性图如图3-12所示。

图3-12 管理员实体图
评论实体属性图如图3-13所示。

图3-13 评论实体图
3.3.2数据库表设计
数据库表设计是系统开发中的关键环节,它决定了数据的组织方式、存储结构以及各数据实体之间的关联关系。良好的表设计能够确保数据的一致性、完整性和可扩展性,提升系统的查询效率与维护便利性,为业务功能的稳定运行和后期扩展奠定坚实基础。
表 4-1-access_token(登陆访问时长)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
token_id |
int |
是 |
是 |
临时访问牌ID |
|
|
2 |
token |
varchar |
64 |
否 |
否 |
临时访问牌 |
|
3 |
info |
text |
65535 |
否 |
否 |
信息 |
|
4 |
maxage |
int |
是 |
否 |
最大寿命:默认2小时 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
user_id |
int |
是 |
否 |
用户编号 |
表 4-2-address(收货地址)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
address |
varchar |
255 |
是 |
否 |
地址 |
|
2 |
address_id |
int |
是 |
是 |
收货地址 |
|
|
3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
4 |
default |
tinyint |
是 |
否 |
默认判断 |
|
|
5 |
name |
varchar |
32 |
否 |
否 |
姓名 |
|
6 |
phone |
varchar |
13 |
否 |
否 |
手机 |
|
7 |
postcode |
varchar |
8 |
否 |
否 |
邮编 |
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
9 |
user_id |
mediumint |
是 |
否 |
用户ID |
表 4-3-article(文章)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
article_id |
mediumint |
是 |
是 |
文章id |
|
|
2 |
title |
varchar |
125 |
是 |
是 |
标题 |
|
3 |
type |
varchar |
64 |
是 |
否 |
文章分类 |
|
4 |
hits |
int |
是 |
否 |
点击数 |
|
|
5 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
6 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
7 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
8 |
source |
varchar |
255 |
否 |
否 |
来源 |
|
9 |
url |
varchar |
255 |
否 |
否 |
来源地址 |
|
10 |
tag |
varchar |
255 |
否 |
否 |
标签 |
|
11 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
12 |
img |
varchar |
255 |
否 |
否 |
封面图 |
|
13 |
description |
text |
65535 |
否 |
否 |
文章描述 |
表 4-4-article_type(文章分类)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
2 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
3 |
display |
smallint |
是 |
否 |
显示顺序 |
|
|
4 |
father_id |
smallint |
是 |
否 |
上级分类ID |
|
|
5 |
icon |
text |
65535 |
否 |
否 |
分类图标 |
|
6 |
name |
varchar |
16 |
是 |
否 |
分类名称 |
|
7 |
type_id |
smallint |
是 |
是 |
分类ID |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
9 |
url |
varchar |
255 |
否 |
否 |
外链地址 |
表 4-5-auth(用户权限管理)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
auth_id |
int |
是 |
是 |
授权ID |
|
|
2 |
user_group |
varchar |
64 |
否 |
否 |
用户组 |
|
3 |
mod_name |
varchar |
64 |
否 |
否 |
模块名 |
|
4 |
table_name |
varchar |
64 |
否 |
否 |
表名 |
|
5 |
page_title |
varchar |
255 |
否 |
否 |
页面标题 |
|
6 |
path |
varchar |
255 |
否 |
否 |
路由路径 |
|
7 |
parent |
varchar |
64 |
否 |
否 |
父级菜单 |
|
8 |
parent_sort |
int |
是 |
否 |
父级菜单排序 |
|
|
9 |
position |
varchar |
32 |
否 |
否 |
位置 |
|
10 |
mode |
varchar |
32 |
是 |
否 |
跳转方式 |
|
11 |
add |
tinyint |
是 |
否 |
是否可增加 |
|
|
12 |
del |
tinyint |
是 |
否 |
是否可删除 |
|
|
13 |
set |
tinyint |
是 |
否 |
是否可修改 |
|
|
14 |
get |
tinyint |
是 |
否 |
是否可查看 |
|
|
15 |
field_add |
text |
65535 |
否 |
否 |
添加字段 |
|
16 |
field_set |
text |
65535 |
否 |
否 |
修改字段 |
|
17 |
field_get |
text |
65535 |
否 |
否 |
查询字段 |
|
18 |
table_nav_name |
varchar |
500 |
否 |
否 |
跨表导航名称 |
|
19 |
table_nav |
varchar |
500 |
否 |
否 |
跨表导航 |
|
20 |
option |
text |
65535 |
否 |
否 |
配置 |
|
21 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
22 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-6-cart(购物车)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
cart_id |
int |
是 |
是 |
购物车ID |
|
|
2 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
3 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
4 |
goods_id |
mediumint |
是 |
是 |
商品id |
|
|
5 |
img |
varchar |
255 |
是 |
否 |
图片 |
|
6 |
norms |
varchar |
64 |
否 |
否 |
规格 |
|
7 |
num |
int |
是 |
否 |
数量 |
|
|
8 |
price |
double |
是 |
否 |
单价 |
|
|
9 |
price_ago |
double |
是 |
否 |
原价 |
|
|
10 |
price_count |
double |
是 |
否 |
总价 |
|
|
11 |
state |
int |
是 |
否 |
状态:使用中,已失效 |
|
|
12 |
title |
varchar |
64 |
否 |
否 |
标题 |
|
13 |
type |
varchar |
64 |
是 |
否 |
商品分类 |
|
14 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
15 |
user_id |
int |
是 |
否 |
用户ID |
表 4-7-code_token(验证码)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
code_token_id |
int |
是 |
是 |
验证码ID |
|
|
2 |
token |
varchar |
255 |
否 |
否 |
令牌 |
|
3 |
code |
varchar |
255 |
否 |
否 |
验证码 |
|
4 |
expire_time |
timestamp |
是 |
否 |
失效时间 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-8-collect(收藏)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
collect_id |
int |
是 |
是 |
收藏ID |
|
|
2 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
3 |
img |
varchar |
255 |
否 |
否 |
封面 |
|
4 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
5 |
source_id |
int |
是 |
否 |
来源ID |
|
|
6 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
7 |
title |
varchar |
255 |
否 |
否 |
标题 |
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
9 |
user_id |
int |
是 |
是 |
收藏人ID |
表 4-9-comment(评论)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
comment_id |
int |
是 |
是 |
评论ID |
|
|
2 |
user_id |
int |
是 |
是 |
评论人ID |
|
|
3 |
reply_to_id |
int |
是 |
否 |
回复评论ID |
|
|
4 |
content |
longtext |
4294967295 |
否 |
否 |
内容 |
|
5 |
nickname |
varchar |
255 |
否 |
否 |
昵称 |
|
6 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
9 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
10 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
11 |
source_id |
int |
是 |
否 |
来源ID |
|
|
12 |
hidden |
tinyint |
否 |
否 |
是否隐藏 |
|
|
13 |
sticky |
tinyint |
否 |
否 |
是否置顶 |
表 4-10-goods(商品信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
2 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
3 |
customize_field |
text |
65535 |
否 |
否 |
自定义字段 |
|
4 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
5 |
goods_id |
mediumint |
是 |
是 |
产品ID |
|
|
6 |
hits |
int |
是 |
否 |
点击量 |
|
|
7 |
img |
text |
65535 |
否 |
否 |
封面图:用于显示于产品列表页 |
|
8 |
img_1 |
text |
65535 |
否 |
否 |
主图1 |
|
9 |
img_2 |
text |
65535 |
否 |
否 |
主图2 |
|
10 |
img_3 |
text |
65535 |
否 |
否 |
主图3 |
|
11 |
img_4 |
text |
65535 |
否 |
否 |
主图4 |
|
12 |
img_5 |
text |
65535 |
否 |
否 |
主图5 |
|
13 |
inventory |
int |
是 |
否 |
商品库存 |
|
|
14 |
list_status |
smallint |
否 |
否 |
上架状态(0:下架;1上架) |
|
|
15 |
price |
double |
是 |
否 |
卖价 |
|
|
16 |
price_ago |
double |
是 |
否 |
原价 |
|
|
17 |
sales |
int |
是 |
否 |
销量 |
|
|
18 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
19 |
source_id |
int |
是 |
否 |
来源ID |
|
|
20 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
21 |
title |
varchar |
125 |
否 |
否 |
标题 |
|
22 |
type |
varchar |
64 |
是 |
否 |
商品分类 |
|
23 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
24 |
user_id |
int |
否 |
否 |
添加人 |
表 4-11-goods_type(商品类型)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
type_id |
int |
是 |
是 |
商品分类ID |
|
|
2 |
father_id |
smallint |
是 |
否 |
上级分类ID |
|
|
3 |
name |
varchar |
255 |
否 |
否 |
商品名称 |
|
4 |
desc |
varchar |
255 |
否 |
否 |
描述 |
|
5 |
icon |
varchar |
255 |
否 |
否 |
图标 |
|
6 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
7 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
8 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-12-hits(用户点击)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
2 |
hits_id |
int |
是 |
是 |
点赞ID |
|
|
3 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
4 |
source_id |
int |
是 |
否 |
来源ID |
|
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
user_id |
int |
是 |
否 |
点赞人 |
表 4-13-logistics_delivery(物流配送)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
logistics_delivery_id |
int |
是 |
是 |
物流配送ID |
|
|
2 |
order_number |
varchar |
64 |
否 |
否 |
订单号 |
|
3 |
product_name |
varchar |
64 |
否 |
否 |
商品名称 |
|
4 |
purchase_quantity |
varchar |
64 |
否 |
否 |
购买数量 |
|
5 |
total_transaction_amount |
double |
否 |
否 |
交易总额 |
|
|
6 |
the_date_of_issuance |
date |
否 |
否 |
发货日期 |
|
|
7 |
delivery_number |
varchar |
30 |
否 |
否 |
配送订单 |
|
8 |
ordinary_users |
int |
否 |
否 |
普通用户 |
|
|
9 |
shipping_address |
varchar |
64 |
否 |
否 |
收货地址 |
|
10 |
delivery_status |
varchar |
64 |
否 |
否 |
配送状态 |
|
11 |
signing_status |
varchar |
64 |
否 |
否 |
签收状态 |
|
12 |
recommend |
int |
是 |
否 |
智能推荐 |
|
|
13 |
contact_name |
varchar |
255 |
否 |
否 |
联系人名字 |
|
14 |
merchant_id |
int |
否 |
否 |
商家id |
|
|
15 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
16 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
17 |
courier_type |
int |
是 |
否 |
配送方式(1:商家配送,2:其他配送) |
|
|
18 |
courier_id |
int |
否 |
否 |
配送员ID |
|
|
19 |
courier_name |
varchar |
255 |
否 |
否 |
配送员名字 |
|
20 |
courier_detail |
longtext |
4294967295 |
否 |
否 |
配送详情 |
表 4-14-medicinal_material_products(药材商品)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
cart_content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
2 |
cart_description |
varchar |
255 |
否 |
否 |
描述 |
|
3 |
cart_img |
text |
65535 |
否 |
否 |
封面图 |
|
4 |
cart_img_1 |
text |
65535 |
否 |
否 |
主图1 |
|
5 |
cart_img_2 |
text |
65535 |
否 |
否 |
主图2 |
|
6 |
cart_img_3 |
text |
65535 |
否 |
否 |
主图3 |
|
7 |
cart_img_4 |
text |
65535 |
否 |
否 |
主图4 |
|
8 |
cart_img_5 |
text |
65535 |
否 |
否 |
主图5 |
|
9 |
cart_inventory |
int |
是 |
否 |
商品库存 |
|
|
10 |
cart_price |
double |
是 |
否 |
卖价 |
|
|
11 |
cart_price_ago |
double |
是 |
否 |
原价 |
|
|
12 |
cart_title |
varchar |
125 |
否 |
否 |
标题 |
|
13 |
cart_type |
varchar |
64 |
是 |
否 |
商品分类 |
|
14 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
15 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
16 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
17 |
efficacy_of_medicinal_herbs |
text |
65535 |
否 |
否 |
药材功效 |
|
18 |
herbal_medicine_name |
varchar |
64 |
否 |
否 |
药材名称 |
|
19 |
hits |
int |
是 |
否 |
点击数 |
|
|
20 |
list_status |
smallint |
否 |
否 |
上架状态(0:下架;1上架) |
|
|
21 |
medicinal_material_origin |
varchar |
64 |
否 |
否 |
药材产地 |
|
22 |
medicinal_material_products_id |
int |
是 |
是 |
药材商品ID |
|
|
23 |
sku |
longtext |
4294967295 |
否 |
否 |
规格 |
|
24 |
store_name |
varchar |
64 |
否 |
否 |
店铺名称 |
|
25 |
supplier_user |
int |
否 |
否 |
供应商用户 |
|
|
26 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-15-message_inform(通知记录)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
message_inform_id |
int |
是 |
是 |
通知ID |
|
|
2 |
user_id |
int |
是 |
是 |
通知人ID |
|
|
3 |
title |
varchar |
255 |
否 |
否 |
标题 |
|
4 |
state |
varchar |
255 |
否 |
否 |
状态 |
|
5 |
type |
varchar |
64 |
否 |
否 |
分类 |
|
6 |
content |
varchar |
255 |
否 |
否 |
内容 |
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-16-notice(公告)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
2 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
3 |
notice_id |
mediumint |
是 |
是 |
公告ID |
|
|
4 |
title |
varchar |
125 |
是 |
否 |
标题 |
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-17-order(订单)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
order_id |
int |
是 |
是 |
订单ID |
|
|
2 |
order_number |
varchar |
64 |
否 |
否 |
订单号 |
|
3 |
goods_id |
mediumint |
是 |
是 |
商品ID |
|
|
4 |
title |
varchar |
255 |
否 |
否 |
商品标题 |
|
5 |
img |
varchar |
255 |
否 |
否 |
商品图片 |
|
6 |
price |
double |
是 |
否 |
价格 |
|
|
7 |
price_ago |
double |
是 |
否 |
原价 |
|
|
8 |
num |
int |
是 |
否 |
数量 |
|
|
9 |
price_count |
double |
是 |
否 |
总价 |
|
|
10 |
norms |
varchar |
255 |
否 |
否 |
规格 |
|
11 |
type |
varchar |
64 |
是 |
否 |
商品分类 |
|
12 |
contact_name |
varchar |
32 |
否 |
否 |
联系人姓名 |
|
13 |
contact_email |
varchar |
125 |
否 |
否 |
联系人邮箱 |
|
14 |
contact_phone |
varchar |
11 |
否 |
否 |
联系人手机 |
|
15 |
contact_address |
varchar |
255 |
否 |
否 |
收件地址 |
|
16 |
postal_code |
varchar |
9 |
否 |
否 |
邮政编码 |
|
17 |
user_id |
int |
是 |
否 |
买家ID |
|
|
18 |
merchant_id |
mediumint |
是 |
否 |
商家ID |
|
|
19 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
20 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
21 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
22 |
state |
varchar |
16 |
是 |
否 |
订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
|
23 |
remark |
text |
65535 |
否 |
否 |
订单备注 |
|
24 |
delivery_state |
varchar |
16 |
否 |
否 |
发货状态:未配送,已配送 |
|
25 |
desc |
varchar |
64 |
否 |
否 |
取消订单原因 |
表 4-18-order_after_sale(订单售后)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
after_state |
varchar |
16 |
否 |
否 |
售后状态:未审核,未通过,已通过 |
|
2 |
after_state_reply |
varchar |
255 |
否 |
否 |
售后回复 |
|
3 |
content_desc |
varchar |
255 |
否 |
否 |
售后内容 |
|
4 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
5 |
goods_id |
mediumint |
是 |
否 |
商品id |
|
|
6 |
imgs |
varchar |
1000 |
否 |
否 |
售后凭证 |
|
7 |
merchant_id |
mediumint |
是 |
否 |
商家ID |
|
|
8 |
num |
int |
是 |
否 |
数量 |
|
|
9 |
order_after_sale_id |
int |
是 |
是 |
订单售后ID |
|
|
10 |
order_id |
int |
是 |
否 |
订单ID |
|
|
11 |
order_number |
varchar |
64 |
否 |
否 |
订单号 |
|
12 |
price |
double |
是 |
否 |
价格 |
|
|
13 |
price_ago |
double |
是 |
否 |
原价 |
|
|
14 |
price_count |
double |
是 |
否 |
总价 |
|
|
15 |
state |
varchar |
16 |
是 |
否 |
订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
|
16 |
title |
varchar |
255 |
否 |
否 |
商品标题 |
|
17 |
type |
varchar |
255 |
否 |
否 |
售后类型 |
|
18 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
19 |
user_id |
int |
是 |
否 |
买家ID |
表 4-19-praise(点赞)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
praise_id |
int |
是 |
是 |
点赞ID |
|
|
2 |
user_id |
int |
是 |
是 |
点赞人 |
|
|
3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
|
|
8 |
status |
tinyint |
是 |
否 |
点赞状态:1为点赞,0已取消 |
|
|
9 |
img |
varchar |
255 |
否 |
否 |
|
|
10 |
title |
varchar |
255 |
否 |
否 |
表 4-20-regular_user(普通用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
2 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
3 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
4 |
regular_user_id |
int |
是 |
是 |
普通用户ID |
|
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
6 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
7 |
user_id |
int |
是 |
否 |
用户ID |
|
|
8 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
9 |
users_mobile_phone |
varchar |
16 |
是 |
是 |
用户手机 |
表 4-21-score(评分)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
score_id |
int |
是 |
是 |
评分ID |
|
|
2 |
user_id |
int |
是 |
否 |
评分人 |
|
|
3 |
nickname |
varchar |
64 |
否 |
否 |
昵称 |
|
4 |
score_num |
double |
是 |
否 |
评分 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
8 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
9 |
source_id |
int |
是 |
否 |
来源ID |
表 4-22-slides(轮播图)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
content |
varchar |
255 |
否 |
否 |
内容 |
|
2 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
3 |
hits |
int |
是 |
否 |
点击量 |
|
|
4 |
img |
varchar |
255 |
否 |
否 |
轮播图 |
|
5 |
slides_id |
int |
是 |
是 |
轮播图ID |
|
|
6 |
title |
varchar |
64 |
否 |
否 |
标题 |
|
7 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
8 |
url |
varchar |
255 |
否 |
否 |
链接 |
表 4-23-store_information(店铺信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
store_information_id |
int |
是 |
是 |
店铺信息ID |
|
|
2 |
supplier_user |
int |
否 |
否 |
供应商用户 |
|
|
3 |
store_name |
varchar |
64 |
否 |
否 |
店铺名称 |
|
4 |
store_address |
varchar |
64 |
否 |
否 |
店铺地址 |
|
5 |
shop_phone |
varchar |
16 |
否 |
否 |
店铺电话 |
|
6 |
store_images |
varchar |
255 |
否 |
否 |
店铺图片 |
|
7 |
business_hours |
varchar |
64 |
否 |
否 |
营业时间 |
|
8 |
shop_introduction |
text |
65535 |
否 |
否 |
店铺简介 |
|
9 |
store_announcement |
text |
65535 |
否 |
否 |
店铺公告 |
|
10 |
business_content |
longtext |
4294967295 |
否 |
否 |
经营内容 |
|
11 |
number_of_goods_on_shelves |
double |
否 |
否 |
上架商品数 |
|
|
12 |
number_of_hot_items |
double |
否 |
否 |
热销商品数 |
|
|
13 |
number_of_violation_commodities |
double |
否 |
否 |
违规商品数 |
|
|
14 |
hits |
int |
是 |
否 |
点击数 |
|
|
15 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
16 |
collect_len |
int |
是 |
否 |
收藏数 |
|
|
17 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
18 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
19 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
20 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-24-supplier_user(供应商用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
2 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
3 |
examine_reply |
varchar |
255 |
否 |
否 |
审核回复 |
|
4 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
5 |
legal_person_information |
varchar |
64 |
否 |
否 |
法人信息 |
|
6 |
qualification_certificate |
varchar |
255 |
否 |
否 |
资质证明 |
|
7 |
store_name |
varchar |
64 |
是 |
是 |
店铺名称 |
|
8 |
supplier_name |
varchar |
64 |
否 |
否 |
供应商姓名 |
|
9 |
supplier_user_id |
int |
是 |
是 |
供应商用户ID |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
11 |
user_id |
int |
是 |
否 |
更新时间 |
|
|
12 |
vendor_mobile_phone |
varchar |
16 |
是 |
是 |
供应商手机 |
表 4-25-transaction_disputes(交易纠纷)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
transaction_disputes_id |
int |
是 |
是 |
交易纠纷ID |
|
|
2 |
regular_user |
int |
否 |
否 |
普通用户 |
|
|
3 |
supplier_user |
int |
否 |
否 |
供应商用户 |
|
|
4 |
herbal_medicine_name |
varchar |
64 |
否 |
否 |
药材名称 |
|
5 |
order_number |
varchar |
64 |
是 |
是 |
订单单号 |
|
6 |
title_of_dispute |
varchar |
64 |
否 |
否 |
纠纷标题 |
|
7 |
content_of_dispute |
text |
65535 |
否 |
否 |
纠纷内容 |
|
8 |
handling_situation |
text |
65535 |
否 |
否 |
处理情况 |
|
9 |
abnormal_monitoring |
text |
65535 |
否 |
否 |
异常监控 |
|
10 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
11 |
create_by |
int |
是 |
否 |
创建用户ID |
|
|
12 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-26-upload(文件上传)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
dir |
varchar |
255 |
否 |
否 |
文件夹 |
|
2 |
display |
varchar |
255 |
否 |
否 |
显示顺序 |
|
3 |
father_id |
int |
否 |
否 |
父级ID |
|
|
4 |
file |
varchar |
255 |
否 |
否 |
文件路径 |
|
5 |
name |
varchar |
64 |
否 |
否 |
文件名 |
|
6 |
path |
varchar |
255 |
否 |
否 |
访问路径 |
|
7 |
type |
varchar |
32 |
否 |
否 |
文件类型 |
|
8 |
upload_id |
int |
是 |
是 |
上传ID |
表 4-27-user(用户账户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
user_id |
int |
是 |
是 |
用户ID |
|
|
2 |
state |
smallint |
是 |
否 |
账户状态:(1可用|2异常|3已冻结|4已注销) |
|
|
3 |
user_group |
varchar |
32 |
否 |
否 |
所在用户组 |
|
4 |
login_time |
timestamp |
否 |
否 |
上次登录时间 |
|
|
5 |
phone |
varchar |
11 |
否 |
否 |
手机号码 |
|
6 |
phone_state |
smallint |
是 |
否 |
手机认证:(0未认证|1审核中|2已认证) |
|
|
7 |
username |
varchar |
16 |
是 |
否 |
用户名 |
|
8 |
nickname |
varchar |
16 |
否 |
否 |
昵称 |
|
9 |
password |
varchar |
64 |
是 |
否 |
密码 |
|
10 |
|
varchar |
64 |
否 |
否 |
邮箱 |
|
11 |
email_state |
smallint |
是 |
否 |
邮箱认证:(0未认证|1审核中|2已认证) |
|
|
12 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
13 |
open_id |
varchar |
255 |
否 |
否 |
针对获取用户信息字段 |
|
14 |
create_time |
timestamp |
是 |
否 |
创建时间 |
表 4-28-user_chat_friend(聊天用户好友)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
2 |
friend_status |
varchar |
64 |
否 |
否 |
好友状态 |
|
3 |
friend_user_id |
int |
是 |
否 |
用户好友ID |
|
|
4 |
friend_user_name |
varchar |
255 |
否 |
否 |
好友名称 |
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
6 |
user_chat_friend_id |
int |
是 |
是 |
ID |
|
|
7 |
user_id |
int |
是 |
否 |
用户ID |
表 4-29-user_chat_group(聊天用户群聊)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
user_chat_group_id |
int |
是 |
是 |
ID |
|
|
2 |
group_id |
int |
否 |
否 |
群聊ID |
|
|
3 |
group_name |
varchar |
255 |
否 |
否 |
群聊名称 |
|
4 |
user_id |
int |
否 |
否 |
用户ID |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-30-user_chat_read(聊天用户消息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
create_time |
timestamp |
否 |
否 |
时间 |
|
|
2 |
group_id |
int |
否 |
否 |
群聊ID |
|
|
3 |
message |
text |
65535 |
否 |
否 |
消息 |
|
4 |
send_user_id |
int |
否 |
否 |
发送人ID |
|
|
5 |
type |
int |
否 |
否 |
类型1-点对点消息,2-群聊消息 |
|
|
6 |
user_chat_read_id |
varchar |
255 |
是 |
是 |
ID |
|
7 |
user_id |
int |
否 |
否 |
接收人ID |
表 4-31-user_group(用户组)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
group_id |
mediumint |
是 |
是 |
用户组ID |
|
|
2 |
display |
smallint |
是 |
否 |
显示顺序 |
|
|
3 |
name |
varchar |
16 |
是 |
否 |
名称 |
|
4 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
|
|
8 |
register |
smallint |
否 |
否 |
注册位置 |
|
|
9 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
第四章 系统实现
4.1普通用户管理模块的实现
4.1.1注册登录
注册登录:用户通过填写基本信息完成账号注册,并通过账号密码验证登录系统以使用各项功能。页面如图4-1所示。
图4-1 注册登录页面
4.1.2首页
首页:系统首页集中展示平台核心功能入口、推荐内容及最新信息,便于用户快速浏览和操作。页面如图4-2所示。
图4-2 首页页面
4.1.3公告信息
公告信息:用户可以查看平台发布的各类公告通知,及时了解系统更新及重要事项。页面如图4-3所示。
图4-3 公告信息页面
4.1.4行业资讯
行业资讯:用户可浏览与相关行业领域有关的行业资讯及发展动态,获取最新信息。页面如图4-4所示。
图4-4行业资讯页面
4.1.5药材商品
药材商品:用户可查看供应商发布的药材商品信息,包括店铺名称、药材名称、产地及功效等详细内容。页面如图4-5所示。
图4-5药材商品页面
4.1.6商城管理
商城管理:用户可以对个人购物行为进行管理,包括购物车商品管理、订单查看及收货地址维护等。页面如图4-6所示。
图4-6商城管理页面
4.1.7个人首页
个人首页:展示用户的个人信息及相关操作入口,便于统一管理个人数据。页面如图4-7所示。
图4-7个人首页页面
4.2供应商用户模块的实现
4.2.1后台首页
后台首页:供应商后台首页展示店铺运营概况及功能入口,便于进行日常管理。页面如图4-8所示。
图4-8后台首页页面
4.2.2交易纠纷管理
交易纠纷管理:供应商可查看与自身订单相关的交易纠纷列表,并进行处理与反馈。页面如图4-9所示。
图4-9交易纠纷管理页面
4.2.3店铺信息管理
店铺信息管理:供应商可以对店铺信息进行维护,包括查看店铺信息列表及新增或修改店铺资料。页面如图4-10所示。
图4-10店铺信息管理页面
4.3管理员模块的实现
4.3.1后台首页
后台首页:管理员后台首页集中展示系统整体运行状态、关键数据统计信息及各功能模块入口,便于快速掌握平台运营情况并进行管理操作。页面如图4-11所示。
图4-11后台首页页面
4.3.2系统用户
系统用户:管理员可以对系统中的各类用户(包括管理员、普通用户和供应商用户)进行统一管理,支持用户信息查看、修改、权限分配及账号状态控制等操作。页面如图4-12所示。
图4-12 系统用户页面
4.3.3店铺信息管理
店铺信息管理:管理员负责对平台内所有店铺信息进行统一管理,包括店铺信息的查看、审核、新增及维护,确保店铺数据的真实性与规范性。页面如图4-13所示。
图4-13店铺信息管理页面
4.3.4系统管理
系统管理:管理员可对系统基础配置进行统一维护与管理,例如轮播图内容的上传、编辑与展示设置,以优化平台界面效果和用户体验。页面如图4-14所示。
图4-14 系统管理页面
4.3.5资源管理
资源管理:管理员对行业资讯及其分类信息进行统一管理,包括资讯内容的发布、修改、删除以及分类结构的维护,以保证信息组织清晰、内容规范。页面如图4-15所示。
图4-15资源管理页面
4.3.6商城管理
商城管理:管理员对平台商城整体业务进行全面管理,包括药材商品信息维护、商品分类管理、订单处理、物流配送跟踪及售后服务监督等功能。页面如图4-16所示。
图4-16 商城管理页面
第五章 系统测试
5.1系统测试概述
本系统的测试环境与测试工具配置如下:
中药材电商交易平台软件的测试环境为
|
环境类型 |
描述 |
|
操作系统 |
Windows 11 / macOS Ventura 13.0(开发端) |
|
开发语言 |
Java |
|
开发框架 |
前端Vue.js框架,后端基于Spring Boot + Spring Cloud微服务架构 |
|
数据库 |
MySQL 8.0,Redis 6.2 |
|
应用服务器 |
Nginx作为静态资源服务器,后端微服务部署在Tomcat 9 + JDK 11 |
|
浏览器 |
Chrome 112、Edge 110、Firefox 109 |
|
网络环境 |
局域网内进行本地测试,部署后通过公网IP或域名访问,使用 HTTPS 协议保障通信安全 |
测试过程中,使用到的测试工具包括:
- 功能测试工具:Postman 用于接口调试与功能验证,JMeter 辅助进行简单接口测试
- 自动化测试工具:Selenium 实现前端页面操作的自动化测试,TestNG 组织和管理测试用例
- 性能测试工具:Apache JMeter 用于模拟高并发场景,测试系统在压力下的响应能力与稳定性
5.2测试用例设计
在本系统的测试阶段,为了验证系统主要业务功能的正确性与稳定性,对系统的关键模块进行测试用例设计。以下为部分核心功能模块的测试用例表格示例,涵盖登录、注册、用户管理、商城管理等模块。
(1)登录模块测试用例
表5-1 登录模块测试用例表
|
用例编号 |
测试用例名称 |
输入 |
操作步骤 |
预期输出 |
实际输出 |
测试结果 |
|
TC001 |
正常登录 |
合法用户名、正确密码 |
1. 打开登录页面;2. 输入用户名和密码;3. 点击登录按钮 |
跳转至首页,显示欢迎信息 |
页面正常跳转 |
通过 |
|
TC002 |
密码错误登录 |
合法用户名、错误密码 |
同上 |
提示“用户名或密码错误” |
提示信息正确 |
通过 |
|
TC003 |
用户名不存在登录 |
不存在的用户名、任意密码 |
同上 |
提示“用户名或密码错误” |
提示信息正确 |
通过 |
(2)注册模块测试用例
表5-2 注册模块测试用例表
|
用例编号 |
测试用例名称 |
输入 |
操作步骤 |
预期输出 |
实际输出 |
测试结果 |
|
TC004 |
正常注册 |
合法邮箱、手机号、密码、验证码 |
1. 点击注册按钮;2. 填写信息并提交 |
注册成功,跳转至登录页 |
页面跳转正常 |
通过 |
|
TC005 |
验证码错误注册 |
正确信息但验证码错误 |
同上 |
提示“验证码不正确” |
提示信息正确 |
通过 |
|
TC006 |
邮箱格式错误注册 |
非法邮箱(如无@符号) |
同上 |
提示“邮箱格式不正确” |
提示信息正确 |
通过 |
(3)用户管理模块测试用例
表5-3 用户管理模块测试用例表
|
用例编号 |
测试用例名称 |
输入 |
操作步骤 |
预期输出 |
实际输出 |
测试结果 |
|
TC013 |
查看用户列表 |
无 |
1. 登录后台;2. 进入用户管理页面 |
显示所有用户的基本信息 |
列表数据完整 |
通过 |
|
TC014 |
删除用户 |
选择一个用户 |
1. 点击删除按钮 |
用户从列表中移除,数据库同步更新 |
数据删除成功 |
通过 |
(4)商城管理模块测试用例
表5-4商城管理模块测试用例表
|
用例编号 |
测试用例名称 |
输入 |
操作步骤 |
预期输出 |
实际输出 |
测试结果 |
|
TC015 |
新增药材商品 |
完整的药材商品信息 |
1. 进入商城管理页面;2. 点击新增商品;3. 填写商品名称、产地、功效、价格等信息并提交 |
商品信息成功入库,前台商品列表可查看 |
商品添加成功 |
通过 |
|
TC016 |
修改商品信息 |
已存在的商品ID和新的商品信息 |
1. 选择商品编辑;2. 修改价格、库存或功效信息;3. 点击保存 |
数据库中商品信息更新,前台同步显示最新内容 |
数据更新成功 |
通过 |
|
TC017 |
删除药材商品 |
已存在的商品ID |
1. 选择需要删除的商品;2. 点击删除并确认操作 |
商品从商城列表中移除,数据库状态同步更新 |
商品删除成功 |
通过 |
|
TC018 |
查询订单信息 |
订单编号或用户信息 |
1. 进入订单管理页面;2. 输入查询条件;3. 点击查询 |
系统返回符合条件的订单数据 |
订单查询成功 |
通过 |
5.3测试结果
以上测试用例覆盖了系统的主要业务流程,确保系统在各种典型场景下的功能可用性和逻辑正确性。通过对登录、注册、用户管理、商城管理等核心功能模块的测试,执行了涵盖正常流程与异常流程的多个测试用例。测试结果表明,系统在各项功能操作中基本符合预期,界面交互逻辑清晰,前后端数据传输准确,业务流程处理完整。对于输入验证、权限控制、数据展示及状态更新等关键环节均能正确响应,未发现严重功能缺陷,整体测试结果为通过,系统具备上线运行的基本条件。
第六章 结论与展望
6.1结论
随着中医药产业的持续发展和电子商务模式的广泛应用,传统中药材交易方式在信息展示、订单管理、供应商运营及平台监管等方面逐渐暴露出效率不足的问题。针对上述情况,本文基于 Spring Cloud 与 Vue 技术体系,设计并实现了一套中药材电商交易平台。系统采用前后端分离架构与微服务设计思想,构建了普通用户、供应商用户和管理员三类角色功能模块,实现了药材商品浏览、店铺信息查询、购物车管理、订单交易、地址维护、收藏点赞、评价反馈、商品管理、订单配送、售后服务及后台综合管理等功能。在系统开发过程中,通过需求分析、架构设计、数据库设计、功能实现及系统测试等环节,验证了平台具备较好的稳定性、可扩展性和实用性,能够满足中药材线上交易与平台运营管理的基本需求,对提升交易效率和用户体验具有一定实践意义。
6.2展望
尽管本文实现的中药材电商交易平台已具备较为完整的基础功能,但在智能化、数据安全和业务扩展方面仍有进一步提升空间。例如,系统目前对药材商品的个性化推荐能力不足,尚未充分结合用户浏览习惯、购买记录及药材功效进行智能匹配;在高并发交易场景下,分布式事务一致性与系统容灾能力仍需进一步优化;同时,平台在数据加密、隐私保护和风险预警方面还可继续完善。未来可从以下方面进行改进:一是引入推荐算法与数据分析技术,为用户提供更加精准的药材推荐;二是结合分布式事务框架提升订单、库存及支付数据的一致性;三是完善安全防护机制,加强用户信息与交易数据保护;四是优化系统监控与日志分析能力,提高平台运维效率。随着微服务、人工智能和中医药数字化技术的发展,该平台仍具有良好的扩展价值和应用前景。
请关注点赞+私信博主,免费领取项目源码
更多推荐
所有评论(0)