摘要
随着水果批发行业线上化需求增长,传统批发模式存在信息传递滞后、采购流程繁琐、推荐精准度低等问题,难以满足用户高效采购与商家精细化运营需求。为此,本研究设计并实现水果批发店销售系统,采用 Spring Boot 框架搭建后端服务,结合微信小程序原生开发实现前端交互,通过协同过滤算法优化推荐逻辑。系统为普通用户提供首页浏览、水果商城采购、促销活动参与、线上咨询等功能,其中协同过滤算法依据用户点击购买的水果分类数据,按分类点击量排序推荐对应商品;为管理员开发商品管理、促销活动配置、订单处理、资讯维护等模块。针对传统模式痛点,系统经需求分析与模块化设计,实现采购流程数字化、推荐服务个性化及订单管理智能化,解决信息不对称与采购效率低的问题,测试表明系统功能完备、运行稳定,有效提升水果批发交易效率与用户采购体验,验证了方案的实用性。
关键词:水果批发店销售系统;微信小程序;SpringBoot;MySQL
Abstract
With the increasing demand for online fruit wholesale industry, traditional wholesale models face issues such as delayed information transmission, cumbersome procurement processes, and low recommendation accuracy, making it difficult to meet users' needs for efficient procurement and merchants' needs for refined operations. To address this, this study designs and implements a fruit wholesale store sales system. The system uses the Spring Boot framework to build backend services and combines native development of WeChat mini-programs to achieve frontend interaction. It optimizes recommendation logic through collaborative filtering algorithms. The system provides ordinary users with functions such as homepage browsing, fruit mall purchasing, participation in promotional activities, and online consultation. The collaborative filtering algorithm recommends corresponding products based on user click-through data of fruit categories, sorting by category click volume. For administrators, modules such as product management, promotional activity configuration, order processing, and information maintenance are developed. Addressing the pain points of traditional models, the system achieves digitalization of procurement processes, personalization of recommendation services, and intelligent order management through demand analysis and modular design. It solves the problems of information asymmetry and low procurement efficiency. Testing shows that the system is fully functional and stable, effectively improving fruit wholesale transaction efficiency and user procurement experience, verifying the practicality of the solution.
Keywords: Fruit Wholesale Store Sales System; WeChat Mini Program; SpringBoot; MySQL
目录
1绪论
水果批发行业作为农产品流通的重要环节,长期依赖线下交易模式,存在信息传递不畅、采购流程繁琐等问题。批发商与采购商之间缺乏高效的信息对接渠道,采购商难以实时掌握水果品类、价格、库存等动态,往往需要多次实地考察才能完成采购;批发商则面临客户拓展难、促销信息传播范围有限的困境,供需双方的低效互动制约着行业整体运转效率,也影响着水果流通的时效性与新鲜度。
水果批发店销售系统通过数字化手段重构水果批发交易流程。对采购商而言,系统整合丰富的水果资源信息,支持在线浏览、对比与下单,配合智能推荐功能快速匹配需求,大幅缩短采购决策时间;对批发商来说,系统提供商品管理、订单处理、促销推广等一体化工具,简化运营流程,扩大客户覆盖范围。系统搭建起线上交易桥梁,促进供需信息高效流通,提升水果批发行业的整体运转效率,同时助力传统批发模式向数字化转型,为农产品流通领域的创新发展提供实践参考。
国外农产品电商领域起步较早,水果批发线上化模式已形成一定规模。欧美地区注重构建全链条数字化平台,通过整合产地直采、冷链物流与线上交易系统,实现水果从种植到批发的可视化管理,部分平台引入会员制采购模式,结合用户历史订单数据提供定制化供应方案,提升批发效率。东南亚国家则依托移动支付普及优势,开发轻量化水果批发小程序,侧重简化交易流程,支持小额多频采购,适应本地中小商户的采购需求,同时通过社交分享功能扩大用户覆盖。
国内水果批发电商随数字经济发展快速成长,早期以综合电商平台拓展农产品类目为主,近年涌现出专注生鲜批发的垂直平台。这些平台注重产地资源整合,搭建从果园到批发商的直供渠道,通过直播带货、产地溯源等功能增强用户信任,部分平台开发智能报价系统,根据市场供需动态调整批发价格。在技术应用上,国内系统更侧重与物流体系对接,支持多仓发货与配送时效承诺,但在用户采购偏好分析、个性化推荐精准度上仍有提升空间,中小批发商的数字化参与度也有待加强。
整体来看,国内外水果批发线上化研究均围绕优化交易流程、提升供需匹配效率展开,但发展路径各有侧重。国外系统在全链条数字化与定制化服务上更具优势,国内系统则更贴合本土流通特点与政策导向。两者实践表明,水果批发领域在智能推荐算法应用、中小商户服务适配、冷链物流协同等方面仍有探索空间,为水果批发店销售系统研究提供了经验参考,也凸显出结合线上线下资源、强化用户采购体验的重要性。
1.系统功能模块设计与构建:围绕水果商品管理、促销活动开展、线上咨询互动、智能推荐服务等核心内容,设计普通用户端与管理员端的差异化功能模块,构建涵盖采购、订单、库存、资讯的完整业务逻辑与操作流程。
2.微信小程序前端开发实现:利用微信小程序技术进行前端界面开发,结合普通用户与管理员的角色差异完成页面布局规划、交互逻辑设计与操作路径优化,提升平台的便捷性与采购体验。
3.后端系统架构与数据管理:采用 Spring Boot 框架进行后端开发,实现用户信息、商品数据、订单记录、采购信息等模块的集中处理,结合 MySQL 数据库完成数据存储、查询与维护,保障数据交互的安全性与稳定性。
4.用户交互与个性化服务设计:开发购物车操作、订单跟踪、线上咨询、收藏管理等互动功能,增强用户参与度;通过协同过滤算法分析用户采购偏好,实现基于水果分类的智能推荐,提供符合需求的个性化采购服务。
5.系统整体测试与功能验证:对系统功能完整性、交易流程顺畅性、数据处理准确性进行全面测试,评估系统在高并发场景下的稳定性与响应速度,验证其在水果批发交易中的实际应用效果。
1.5论文组织结构
本论文共分为七个主要章节,具体结构如下:
1. 绪论:介绍研究背景与意义,回顾国内外研究现状,并概述论文的组织结构。
2. 相关技术介绍:详细介绍与本研究相关的技术,包括Java语言、SpringBoot框架、微信小程序和MySQL数据库。
3. 需求分析:对系统的功能需求和非功能需求进行分析,明确用户和管理员的需求,并进行可行性分析,包括技术、操作和经济可行性。
4. 系统设计:涵盖系统架构设计、总体流程设计和功能设计,并进行数据库的概念设计与表设计。
5. 系统实现:具体描述各个功能模块的实现过程,展示系统如何根据需求进行开发。
6. 系统测试:阐述测试的目的、方法和内容,分析测试结果并得出结论,以验证系统的稳定性和功能完整性。
7. 总结:总结研究的主要成果和贡献。
2相关技术介绍
Java作为一种面向对象的编程语言,最初由Sun Microsystems公司在1995年推出。它具备跨平台性、高度抽象性以及丰富的类库支持等核心特性。通过Java虚拟机(JVM),Java语言实现了平台无关性,使得程序能够在安装了相应JVM的不同操作系统上运行。这一特性使Java成为开发跨平台应用的首选语言之一[1]。Java的语法结构与C语言相近,采用类和对象的概念,并支持封装、继承和多态等面向对象的基本特性。此外,Java语言还提供了异常处理机制、垃圾回收、线程管理和网络编程等功能,这些特性使其在处理高并发和大规模分布式系统时表现出色。
在Java应用开发过程中,开发者首先编写Java源代码,随后通过Java编译器(javac)将其编译为字节码(bytecode)。字节码随后由JVM进行解释或通过即时编译(JIT)技术转换为机器码并执行[2]。Java广泛应用于桌面应用、Web应用、企业级应用和移动设备应用的开发。其强大的多线程支持功能使得并发编程变得便捷。为了提升开发效率,Java提供了丰富的API,涵盖数据结构、I/O操作、网络编程和图形用户界面(GUI)等方面。此外,Java生态系统中还包含Spring、Hibernate等广泛使用的开发框架,这些框架进一步提升了开发者的开发效率。
微信开发者通过微信小程序平台为用户提供了更加便捷和高效的服务体验。微信小程序作为一种无需安装、即用即走的应用,极大地方便了用户在各种场景下的操作。开发者可以利用微信小程序的开放接口,结合微信的社交功能,开发出功能丰富、用户体验优秀的应用[3]。作为开发者,需要掌握微信小程序的框架、前端开发技术(如WXML、WXSS、JavaScript)以及后台开发技术,进行功能模块设计和数据交互。通过与微信平台的深度集成,开发者不仅可以快速构建应用,还能够借助微信的庞大用户基础,快速推广和获得反馈,为用户提供个性化、精准的服务[4]。
Spring Boot 是一个开源的 Java 框架,用于简化基于 Spring 的应用开发。通过自动化配置和内嵌的嵌入式服务器(如 Tomcat、Jetty),Spring Boot 减少了开发者在配置和部署过程中的工作量。框架遵循“约定大于配置”的设计原则,避免了繁琐的 XML 配置,提供了简洁的 Java 配置和属性文件管理方式[5]。此外,Spring Boot 还包括生产级特性,如健康检查、日志管理和监控,帮助开发者更好地管理应用。开发者可以通过 Spring Initializr 或集成开发环境(IDE)快速创建符合生产环境要求的项目[6]。Spring Boot 适用于多种应用场景,包括微服务架构、Web 应用和批处理任务等。通过简化配置、自动化处理和集成常用功能,Spring Boot 显著提高了 Java 开发的效率和灵活性。
MySQL 是一种开源的关系型数据库管理系统(RDBMS),由 Oracle 公司负责维护与支持。作为广泛应用于 Web 开发和企业级应用的数据库系统,MySQL 支持使用 SQL(结构化查询语言)执行数据管理、查询、更新及删除操作。其核心特性涵盖事务处理支持、数据一致性保障、表关联操作以及高效的数据存储与检索能力[7]。MySQL 能够满足从小型应用到大规模 Web 系统的数据存储需求,展现出良好的可扩展性和高性能表现。
MySQL 数据库通过遵循 ACID(原子性、一致性、隔离性、持久性)原则,确保在涉及多个数据操作时,数据的一致性和完整性得以维持。此外,MySQL 提供了视图、存储过程、触发器等数据库对象,以增强数据库的功能性和灵活性。为了实现数据备份和高可用性配置,MySQL 支持主从复制和分区技术,同时能够处理海量数据的分布式存储与负载均衡。其查询优化器可以根据查询语句和数据表结构自动选择最优化的执行计划,从而提升查询效率。凭借高效的性能和强大的功能,MySQL 在 Web 应用、数据仓库、企业管理系统等多个领域得到广泛应用,成为企业级应用开发中常用的数据库管理系统之一。
3需求分析
系统基于微信小程序平台进行开发,利用其成熟的技术生态与广泛的用户基础,可快速实现跨平台部署与高效访问。后端采用Spring Boot框架,具备良好的模块化结构与高并发处理能力,配合MySQL数据库实现数据的高效管理与持久化存储,前后端通过RESTful接口实现数据交互,技术路径清晰稳定,开发工具与资源充足,具备较强的可扩展性和可维护性,能够支持系统长期运行与功能迭代的需求。
用户端界面简洁清晰,功能布局合理,便于用户快速上手操作与参与互动。管理员端功能模块划分明确,支持商品、活动、订单、内容等多项业务的集中管理,提高工作效率。系统操作流程经过逻辑优化与流程设计,具有良好的用户友好性与操作一致性。微信小程序天然具备社交传播属性,便于推广与用户引导,结合操作便捷性,有利于平台快速部署与广泛应用。
系统开发依托开源框架与免费平台资源,能够有效降低开发与部署成本。微信小程序的使用避免了传统App开发所需的多平台适配费用和推广投入,缩短开发周期,节省人力资源。在后期运营阶段,系统具备线上交易、个性定制、活动参与等功能,有助于提升用户活跃度与转化率,具有一定的商业潜力与推广价值,能够在资源投入与实际收益之间形成良性循环。
在统一建模语言(UML)中,用例图是一种行为图,用于描述系统功能需求以及系统与外部参与者之间的交互关系。通过展示用例与参与者之间的关联,用例图能够清晰地呈现系统所提供的服务和功能。其核心元素涵盖参与者、用例、系统边界以及它们之间的关系,旨在帮助开发人员和利益相关者深入理解系统需求和功能交互。用例图通常应用于需求分析阶段,用于明确系统的功能范围。本文将基于角色模块对系统进行需求分析。具体功能分析如下:
一、普通用户端功能
首页:作为系统入口页面,集中展示当季热销水果、限时促销活动和新品水果信息,提供快速导航至各功能模块的入口。通过清晰的分类展示和视觉引导,帮助用户高效获取水果资讯与购买入口,提升浏览与购物的便捷性,增强用户使用粘性。
推荐:基于用户购买偏好,智能推送合适的水果商品。推荐内容结合销量数据和时令特点,帮助用户发现潜在需求,简化选购决策过程,提升购物体验与购买转化率。
促销活动:展示水果批发店的各类促销信息,如限时折扣、满减活动、批量采购优惠等。用户可直接点击进入活动商品页面进行购买,通过优惠激励促进用户下单,提高订单量与客单价。
线上咨询:提供即时沟通渠道,用户可就水果价格、规格、配送方式、活动详情等问题向客服提问,支持文字咨询与图片交流。系统实时推送咨询回复,确保用户疑问及时得到解答,减少购买疑虑,提升服务满意度。
水果商城:集中展示各类水果商品,提供详细的商品信息和高清图片。支持关键词搜索和筛选功能,方便用户快速找到目标水果,查看库存状态并直接加入购物车。
购物车:暂存用户选择的水果商品,支持修改购买数量、删除商品、清空购物车等操作,实时计算商品总价与优惠金额。用户可直接从购物车提交订单,简化下单流程,确保选购商品不被遗漏,提升购买效率。
水果资讯:发布水果相关的专业内容,包括时令水果功效、产地直采故事、保鲜技巧、批发采购指南等。以图文形式呈现实用信息,帮助用户了解水果知识,辅助采购决策,同时增强平台的专业性与用户粘性。
我的:整合用户个人信息与相关功能,支持查看和管理订单(包括待付款、已付款、已取消、售后 / 退款状态),维护收货地址,收藏心仪商品,发表或管理商品评论,查看线上咨询记录,追踪订单配送进度,为用户提供一站式的个人事务管理中心。
二、管理员端功能
后台首页:展示系统运营数据概览,包括订单总量、销售额等核心指标,以图表形式呈现趋势变化。帮助管理员快速掌握业务动态,为运营决策提供数据支持,及时调整销售策略。
系统用户管理:对管理员和普通用户账号进行全生命周期管理,包括创建管理员账号、审核普通用户注册信息、修改用户权限、冻结违规账号等。通过规范用户管理,保障系统安全与运营秩序。
促销活动管理:创建、编辑和终止各类促销活动,设置活动时间、参与商品、优惠规则,上传活动宣传图。实时监控活动参与数据,根据效果调整活动策略,提升促销活动的有效性。
采购信息管理:记录水果采购详情,包括供应商信息、采购数量、采购价格、采购时间等,支持采购单的创建、审核与归档。通过跟踪采购流程,确保水果库存充足且品质可控,为商城供货提供数据支撑。
系统管理:负责首页轮播图的上传、排序、链接设置与替换,确保轮播内容及时更新,吸引用户关注重点信息,优化首页展示效果。
留言管理:查看和处理用户的线上咨询留言,回复用户疑问。通过高效处理咨询,提升用户服务质量,维护良好的沟通环境。
通知公告管理:发布和管理系统公告,如库存预警、配送调整、活动通知等,设置公告的发布时间、展示范围和优先级,确保重要信息及时传达给用户,减少沟通成本。
资源管理:审核、发布和分类管理水果资讯内容,包括添加资讯分类、编辑资讯详情、删除过时信息等。通过维护优质资讯,提升平台的专业度与用户粘性,辅助水果销售。
商城管理:全面管理水果商城运营,包括维护水果商品信息、管理商品分类列表、处理订单、安排订单配送、处理售后退款申请等,确保商城交易流程顺畅,提升运营效率。
3.3系统用例分析
系统用例分析是对水果批发店销售系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程,为系统设计和开发提供指导,并确保平台能够满足用户的需求和期望。
普通用户端用例图如图3-1所示。

管理端用例图如图3-2所示。

1.可用性需求
系统必须具备高可用性,以确保其在各种使用场景下能够稳定运行。为满足可用性要求,系统应当具备自恢复能力和冗余机制,避免因单点故障而导致的服务中断。具体而言,系统的部署架构应支持负载均衡和集群配置,通过多个实例的协作提高整体系统的可用性。系统应提供详尽的监控与告警机制,能够实时追踪系统运行状态,及时发现潜在问题并触发自动恢复操作或通知管理员。在用户体验方面,系统需要提供清晰的错误提示信息,并能够在发生异常时通过回滚操作或其他容错机制,保证用户的操作不受到严重影响。
2.可靠性需求
可靠性要求系统在长时间运行中保持稳定,能够有效应对各种可能的故障和压力。系统设计应支持高可用的数据库架构,采用数据库主从复制、分片等技术以实现数据的可靠存储与访问。应用层应具备容错能力,在面对硬件故障、网络中断等意外情况时,能够保持系统的正常服务或在故障恢复后迅速恢复数据和业务流程。系统应具备日志记录功能,能够全面记录操作过程和异常信息,从而为问题追踪与系统优化提供数据支持。系统的可靠性还需要通过压力测试和稳定性测试来验证,确保在大规模用户访问及高并发场景下能够正常运行,不发生崩溃或数据丢失现象。
3.安全性需求
系统的安全性需求必须得到高度重视,确保系统和用户数据的保密性、完整性和可用性。为实现数据安全,系统应采用加密技术,特别是在用户认证、敏感数据传输和存储过程中,采用SSL/TLS协议进行加密通信,确保数据在传输过程中不被窃取或篡改。系统应支持用户身份验证与授权管理,采用如OAuth、JWT等安全机制防止未授权访问。访问控制应细化到资源级别,确保不同角色的用户只能访问其权限范围内的功能。为了防止恶意攻击,系统还应加强对常见攻击方式(如SQL注入、XSS攻击、CSRF攻击等)的防护,通过输入验证、输出转义、会话管理等技术措施提高系统的安全性。系统应定期进行安全审计与漏洞扫描,及时发现并修补可能的安全漏洞,保障系统的长期安全运营。
3.5.1操作流程分析
用户从“系统登录界面”开始,输入用户名和密码后,系统验证其信息是否正确。如果验证通过,则进入功能界面并进一步进入功能处理界面,最后流程结束;如果验证失败,则显示“信息错误”,用户需要重新输入。数据库支持验证过程。如图3-3所示。

3.5.2登录流程分析
用户输入账号和密码后,系统首先判断账号是否正确,若不正确则提示“账号错误”;如果账号正确,则继续判断密码是否正确,若密码错误则提示“密码错误”;若账号和密码均正确,则显示“登录成功”,最后结束流程。如图3-4所示。

3.5.3信息添加流程分析
系统开始后自动生成编号,用户输入数据。系统判断输入的数据是否合法,若不合法则返回重新输入;若合法,则将数据写入数据库,最后结束流程。如图3-5所示。

4系统设计
系统采用SpringBoot 框架开发,该系统分为VIEW层、Controller层、Model层、DAO层和持久化数据存储层,VIEW层支持电脑浏览器访问系统。VIEW 层与 Controller 层紧密结合并系协同工作,共同完成前台页面的数据展示;Controller层为控制层,通过接收前端请求的参数进行业务处理,返回指定的路径或数据;Model层主要是服务层,用于业务逻辑处理;DAO 和持久化层,主要用于访问数据库和持久化数据。整个系统架构如图4-1所示。

系统总体功能设计围绕水果批发交易、商品库存管理、用户采购服务与平台运营构建前后端一体化平台,整合普通用户端与管理员端核心模块,实现水果展示与订购、促销活动发布与参与、采购信息跟踪、线上咨询互动、订单处理与配送等多元功能,提升水果批发交易效率与用户采购体验。系统功能结构图如图4-2所示。

在进行数据库设计时,概念设计帮助明确系统的整体结构和需求。在这一阶段,需要确定实体、属性以及它们之间的关系,为后续的数据库表设计奠定基础。接下来,将深入探讨数据库表设计的具体细节,实现更高效的数据存储和管理。
概念设计是数据库设计的第一步,其主要目标是对系统的数据需求进行全面的理解和抽象。在这一阶段,通过建立实体-关系模型(ER模型)来识别系统中的关键实体、属性及其相互关系。概念设计的输出是一个清晰的ER图,作为后续数据库表设计的基础。以下将展示系统的全局E-R图以及各个实体的属性图。
系统全局E-R图如图4-3所示。

这一阶段的重点是将概念模型转换为实际的数据库结构,包括表的创建、字段的定义及数据类型的选择。每个实体通常对应于数据库中的一张表,而实体的属性则转化为表的列[8]。以下是系统的数据库表设计展示。
表 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_id | int | 是 | 是 | 收货地址 | |
| 2 | name | varchar | 32 | 否 | 否 | 姓名 |
| 3 | phone | varchar | 13 | 否 | 否 | 手机 |
| 4 | postcode | varchar | 8 | 否 | 否 | 邮编 |
| 5 | address | varchar | 255 | 是 | 否 | 地址 |
| 6 | user_id | mediumint | 是 | 否 | 用户ID | |
| 7 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | default | tinyint | 是 | 否 | 默认判断 |
表 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 | type_id | smallint | 是 | 是 | 分类ID | |
| 2 | display | smallint | 是 | 否 | 显示顺序 | |
| 3 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 4 | father_id | smallint | 是 | 否 | 上级分类ID | |
| 5 | description | varchar | 255 | 否 | 否 | 描述 |
| 6 | icon | text | 65535 | 否 | 否 | 分类图标 |
| 7 | url | varchar | 255 | 否 | 否 | 外链地址 |
| 8 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 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 | title | varchar | 64 | 否 | 否 | 标题 |
| 3 | img | varchar | 255 | 是 | 否 | 图片 |
| 4 | user_id | int | 是 | 否 | 用户ID | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | state | int | 是 | 否 | 状态:使用中,已失效 | |
| 8 | price | double | 是 | 否 | 单价 | |
| 9 | price_ago | double | 是 | 否 | 原价 | |
| 10 | price_count | double | 是 | 否 | 总价 | |
| 11 | num | int | 是 | 否 | 数量 | |
| 12 | goods_id | mediumint | 是 | 是 | 商品id | |
| 13 | type | varchar | 64 | 是 | 否 | 商品分类 |
| 14 | description | varchar | 255 | 否 | 否 | 描述 |
表 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 | user_id | int | 是 | 是 | 收藏人ID | |
| 3 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int | 是 | 否 | 来源ID | |
| 6 | title | varchar | 255 | 否 | 否 | 标题 |
| 7 | img | varchar | 255 | 否 | 否 | 封面 |
| 8 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 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 |
表 4-10-fruit_mall(水果商城)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | fruit_mall_id | int | 是 | 是 | 水果商城ID | |
| 2 | specifications | varchar | 64 | 否 | 否 | 规格 |
| 3 | origin | varchar | 64 | 否 | 否 | 产地 |
| 4 | hits | int | 是 | 否 | 点击数 | |
| 5 | praise_len | int | 是 | 否 | 点赞数 | |
| 6 | recommend | int | 是 | 否 | 智能推荐 | |
| 7 | cart_title | varchar | 125 | 否 | 否 | 标题 |
| 8 | cart_img | text | 65535 | 否 | 否 | 封面图 |
| 9 | cart_description | varchar | 255 | 否 | 否 | 描述 |
| 10 | cart_price_ago | double | 是 | 否 | 原价 | |
| 11 | cart_price | double | 是 | 否 | 卖价 | |
| 12 | cart_inventory | int | 是 | 否 | 商品库存 | |
| 13 | cart_type | varchar | 64 | 是 | 否 | 商品分类 |
| 14 | cart_content | longtext | 4294967295 | 否 | 否 | 正文 |
| 15 | cart_img_1 | text | 65535 | 否 | 否 | 主图1 |
| 16 | cart_img_2 | text | 65535 | 否 | 否 | 主图2 |
| 17 | cart_img_3 | text | 65535 | 否 | 否 | 主图3 |
| 18 | cart_img_4 | text | 65535 | 否 | 否 | 主图4 |
| 19 | cart_img_5 | text | 65535 | 否 | 否 | 主图5 |
| 20 | create_time | datetime | 是 | 否 | 创建时间 | |
| 21 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-11-goods(商品信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | goods_id | mediumint | 是 | 是 | 产品ID | |
| 2 | title | varchar | 125 | 否 | 否 | 标题 |
| 3 | img | text | 65535 | 否 | 否 | 封面图:用于显示于产品列表页 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | price_ago | double | 是 | 否 | 原价 | |
| 6 | price | double | 是 | 否 | 卖价 | |
| 7 | sales | int | 是 | 否 | 销量 | |
| 8 | inventory | int | 是 | 否 | 商品库存 | |
| 9 | type | varchar | 64 | 是 | 否 | 商品分类 |
| 10 | hits | int | 是 | 否 | 点击量 | |
| 11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 12 | img_1 | text | 65535 | 否 | 否 | 主图1 |
| 13 | img_2 | text | 65535 | 否 | 否 | 主图2 |
| 14 | img_3 | text | 65535 | 否 | 否 | 主图3 |
| 15 | img_4 | text | 65535 | 否 | 否 | 主图4 |
| 16 | img_5 | text | 65535 | 否 | 否 | 主图5 |
| 17 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 19 | customize_field | text | 65535 | 否 | 否 | 自定义字段 |
| 20 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 21 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 22 | source_id | int | 是 | 否 | 来源ID | |
| 23 | user_id | int | 否 | 否 | 添加人 |
表 4-12-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 | 是 | 否 | 更新时间 |
5系统实现
用户需通过注册功能创建个人账号,填写必要的个人信息(如用户名、密码、联系方式等),并完成邮箱或手机验证码验证。注册后,用户可以通过输入账号和密码进行登录,进入系统主页。注册登录如图5-1、5-2所示。

图5-1 用户注册界面图

图5-2 用户登录界面图
普通用户进入水果商城,系统展示详细信息,如产地、规格、保质期及高清图片,支持关键词搜索快速定位目标水果。用户能查看实时库存,点击商品可查看用户评价,全面了解商品情况,为采购决策提供依据,提升选购效率。浏览水果商城界面如图5-3所示

图5-3浏览水果商城界面图
用户在商城选中水果后,点击加入购物车暂存。购物车支持修改数量、删除商品,实时计算总价与优惠。确认后提交订单,选择支付方式完成结算。系统同步生成订单信息至 “我的” 模块,方便用户跟踪,简化采购流程,避免遗漏所需水果,提升下单便捷性。加入购物车结算界面如图5-4所示

图5-4加入购物车结算界面图
用户进入促销活动板块,查看限时折扣、满减等活动。了解规则、时间及参与条件,点击活动商品直接加入购物车。系统自动计算优惠金额,用户按活动价采购,享受批发优惠。活动页面实时更新剩余时间与库存,促使用户及时下单,降低采购成本,提高采购量。参与促销活动界面如图5-5所示。

5-5参与促销活动界面图
用户在 “我的” 模块查看订单,区分待付款、已付款等状态。待付款订单可继续支付,已付款订单能查看配送进度,售后订单可提交退款申请。系统同步展示订单详情,如商品、数量、金额等,用户可对完成订单评价。便捷的订单管理让采购流程透明,提升用户对交易的掌控感。管理个人订单界面如图5-6所示。

图5-6管理个人订单界面
作为后台管理的入口页面,汇总展示商品销售数量、商品销售金额、用户数量等核心数据指标,同时提供快捷功能入口,帮助管理员快速了解系统运行状态并进行管理操作。系统首页界面如图5-7所示。

图5-7 系统首页界面图
系统用户管理功能允许管理员查看、编辑、删除注册用户信息,管理用户角色(如管理员与普通用户),并可以进行权限控制,确保用户操作的合法性与安全性。用户管理界面如图5-8所示。

图5-8 系统用户管理界面图
管理员进入促销活动模块,可创建限时折扣、满减、组合优惠等活动,设置活动时间、参与商品及优惠规则,上传活动海报。促销活动管理界面如图5-9所示。

图5-9促销活动管理界面图
管理员在采购信息模块记录供应商详情、采购水果品类、数量、价格及入库时间,生成采购单并关联库存。采购信息管理界面如图5-10所示。

图5-10采购信息管理界面图
6系统测试
测试的主要目的是确保系统的功能和性能满足预期的需求,同时识别和修复潜在的缺陷。通过系统测试,可以验证各个功能模块的正确性和稳定性,确保系统在不同使用场景下的表现符合设计要求。测试目的包括确认系统功能的完整性、验证数据处理的准确性、评估系统的性能和安全性。测试还可以提高用户满意度,保证用户在使用系统时获得流畅和可靠的体验。通过全面的测试,可以降低后期维护成本,减少系统上线后出现故障的风险,从而保障系统的长期稳定运行。
在本系统中,测试方法主要依赖于测试用例的设计与执行。测试用例是根据系统需求文档编写的,覆盖所有功能模块及其边界情况。每个测试用例包含输入数据、预期结果和实际结果的对比,以验证系统的功能是否按预期工作。
常见的测试用例包括功能测试用例、边界测试用例和异常测试用例[9]。功能测试用例针对系统的各项功能进行验证;边界测试用例则侧重于输入数据的边界条件,验证系统在极端情况下是否能够稳定运行;异常测试用例则用于验证系统在处理错误输入或异常情况时的反应。本文选择功能测试用例进行系统测试。
在测试执行过程中,记录每个用例的执行结果,并根据实际结果与预期结果的对比,判断系统是否存在缺陷。通过系统化的测试用例执行,可以有效提高测试的覆盖率和效率,为系统的最终上线提供保障。
以下是系统功能测试表,具体测试表如图6-1、6-2所示。
表6-1普通用户功能测试用例表
| 序号 | 功能模块 | 测试内容 | 测试结果 |
| 1 | 首页 | 是否正常加载推荐水果、促销活动及轮播图 | 通过 |
| 2 | 推荐 | 是否根据用户分类点击记录展示对应推荐内容 | 通过 |
| 3 | 促销活动 | 是否正确显示活动规则、商品及优惠信息 | 通过 |
| 4 | 线上咨询 | 是否能发送问题并接收实时回复 | 通过 |
| 5 | 水果商城 | 是否按分类展示商品,支持搜索与筛选功能 | 通过 |
| 6 | 购物车 | 是否能添加、修改数量、删除商品并计算总价 | 通过 |
| 7 | 水果资讯 | 是否正常显示资讯内容及按分类浏览 | 通过 |
| 8 | 我的订单 | 是否正确展示各状态订单及详情 | 通过 |
| 9 | 收货地址 | 是否能添加、修改、删除收货地址 | 通过 |
| 10 | 收藏 | 是否能收藏商品及取消收藏 | 通过 |
| 11 | 评论 | 是否能发布、查看及管理商品评论 | 通过 |
| 12 | 订单配送 | 是否能查看订单配送进度及物流信息 | 通过 |
| 13 | 售后 / 退款 | 是否能提交售后申请并查看处理进度 | 通过 |
| 14 | 用户注册 | 是否能完成注册并成功登录 | 通过 |
| 15 | 密码修改 | 是否能验证原密码并更新新密码 | 通过 |
表6-2管理员功能测试用例表
| 序号 | 功能模块 | 测试内容 | 测试结果 |
| 1 | 后台首页 | 是否正常加载订单数据、销售额及用户增长统计 | 通过 |
| 2 | 系统用户(管理员) | 是否能添加、编辑管理员账号及修改权限 | 通过 |
| 3 | 系统用户(普通用户) | 是否能审核、冻结普通用户账号及查看用户信息 | 通过 |
| 4 | 促销活动管理 | 是否能创建、编辑活动并设置优惠规则 | 通过 |
| 5 | 采购信息管理 | 是否能录入采购数据、审核采购单及跟踪进度 | 通过 |
| 6 | 系统管理(轮播图管理) | 是否能上传、排序轮播图并设置展示时长 | 通过 |
| 7 | 留言管理(线上咨询) | 是否能查看咨询内容并回复、标记处理状态 | 通过 |
| 8 | 通知公告管理 | 是否能发布公告并设置推送范围与展示时间 | 通过 |
| 9 | 资源管理(水果资讯分类) | 是否能新增、编辑和删除资讯分类 | 通过 |
| 10 | 资源管理(水果资讯) | 是否能发布资讯并进行分类与归档 | 通过 |
| 11 | 商城管理(水果商城) | 是否能上架、下架水果商品及修改库存价格 | 通过 |
| 12 | 商城管理(分类列表) | 是否能创建、编辑水果分类及调整分类顺序 | 通过 |
| 13 | 商城管理(订单列表) | 是否能查看所有订单详情及筛选不同状态订单 | 通过 |
| 14 | 商城管理(订单配送) | 是否能更新配送信息及关联物流单号 | 通过 |
| 15 | 商城管理(订单售后) | 是否能处理售后申请并审核退款请求 | 通过 |
通过对普通用户端与管理员端各功能模块的全面测试结果分析可见,系统整体运行稳定,功能完整,页面交互顺畅,各项功能均能按照设计要求正常使用。用户端在水果浏览、购物车操作、订单管理、线上咨询等操作中响应及时,数据加载准确,个性化推荐模块能根据用户分类点击记录精准推送商品。管理员端在促销活动配置、采购信息跟踪、订单处理及轮播图管理等方面均能高效执行操作命令,后台数据管理逻辑清晰、权限划分合理。各测试项结果均为通过,表明系统已具备良好的可用性与可靠性,满足水果批发店线上销售业务的上线运行需求。
7总结
水果批发店销售系统依托 Spring Boot 框架与协同过滤算法,实现了普通用户与管理员的高效协同运作。系统以水果批发交易为核心,整合商品展示、智能推荐、在线采购、促销活动、订单管理等功能,通过协同过滤算法根据用户点击购买的水果分类及点击量进行精准推荐,大幅提升了用户采购效率。前端微信小程序提供简洁直观的操作界面,后端 Spring Boot 框架保障了系统的稳定性与高并发处理能力,各模块衔接流畅,满足了用户便捷采购与商家精细化运营的需求。经测试,系统功能完备、运行稳定,有效解决了传统批发模式中信息滞后、采购流程繁琐等问题,在提升交易效率、优化用户体验方面成效显著,为水果批发行业的数字化转型提供了切实可行的解决方案。
参考文献
- 尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023,(05):45-47.
- 贾琴.Java编程语言的应用策略分析[J].集成电路应用,2024,41(10):84-85.DOI:10.19339/j.issn.1674-2583.2024.10.034.
- 黄清欣,邹军华,段龙.基于微信小程序的学生成绩管理系统的设计与实现[J].电脑知识与技术,2024,20(35):44-46.DOI:10.14004/j.cnki.ckt.2024.1800.
- 季波,杨艳婷,李司航,等.基于微信小程序的汽车智能刷题系统的设计与实现[J].科技与创新,2021,(14):143-144.DOI:10.15913/j.cnki.kjycx.2021.14.057
- 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
- 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2021,15(36):76-77.
- 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
- 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
- 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
- 吴艺佳,李向江.基于Java语言的蔬菜销售系统设计[J].科技创新与生产力,2025,46(02):130-133.
- 黄慈义,蔡俊伟.基于微信小程序的医院号贩子治理设计与实现[J].科技创新与应用,2025,15(04):39-42.
- 何晶.校园跑腿微信小程序的设计与开发研究[J].科技资讯,2025,23(03):31-34.
- 施小英.基于微信小程序的智慧社区服务数字化转型研究[J].中国战略新兴产业,2025,(03):47-49.
- 张阳.基于微信小程序的家具销售设计与开发[J].信息与电脑,2025,37(01):119-122.
- 周学江.石油销售系统环保风险的管控[J].石油库与加油站,2024,33(03):30-33+59.
- 马梁,向海涵,董佳一,陈伟卫.基于Spring Boot的损害保险销售系统的设计与实现[J].工业控制计算机,2023,36(09):120-122.
- 胡宁玉,郝耀军,张静.生鲜产品线上销售系统的设计与实现[J].信息与电脑(理论版),2023,35(17):116-119.
- 王静宇.承德地区大豆销售系统的设计与实现[D]. 河北北方学院, 2023.
致谢
在本论文的研究与撰写过程中,我得到了许多人的帮助与支持,在此,我向所有为本课题提供帮助的朋友们表示衷心的感谢。
首先,我要感谢我的导师,在课题的选题、研究和撰写过程中,导师给予了我极大的帮助与指导。导师的细心教诲和宝贵建议不仅使我顺利完成了课题研究,也让我在学术思维、研究方法等方面得到了提升。
感谢我的家人,他们的理解、支持与鼓励为我提供了坚强的后盾,让我能够专心致志地投入到学业中。无论是在学习上还是生活中,他们始终是我最坚实的支持。
同时,我也要特别感谢我的同学们。你们在课题的讨论、资料收集及思路碰撞中给予了我极大的帮助。与你们的交流与合作,让我受益匪浅,大家的热情与智慧为我的研究提供了许多启发。
最后,感谢所有曾经给予我帮助的朋友们,是你们的支持与指导,让我能够顺利完成这项研究工作。
请关注点赞+私信博主,免费领取项目源码

3292

被折叠的 条评论
为什么被折叠?



