基于SSM的商店临期食品销售系统设计与实现-附源码45229


目 录

摘  要

Abstract

1 绪论

1.1 前言

1.2 选题背景

1.3 选题目的

1.4选题意义

2 相关技术和理论概述

2.1 Java语言

2.2 JavaWeb

2.2 MySQL数据库

2.3 SSM框架

3 系统需求分析

3.1 系统功能分析

3.1.1 系统功能介绍

3.1.2 系统功能模块分析

3.2 系统功能流程介绍

3.2.1 系统数据流分析

4 系统分析与设计

4.1 系统架构设计

4.2 数据库设计

4.2.1 数据库概念结构设计

4.2.2 概念模型转为关系模型

4.2.3 系统总体关系模型

4.2.4 数据库表的设计

5 系统的开发设计与实现

5.1 用户注册功能模块设计与实现

5.1.1 用户注册界面设计

5.1.2 用户注册功能设计

5.2 用户登录功能模块设计与实现

5.2.1 用户登录界面设计

5.2.2 用户登录功能设计

5.3 临期食品管理功能模块设计与实现

5.3.1 临期食品管理界面设计

5.3.2 临期食品管理功能设计

5.4 即将上架功能模块设计与实现

5.4.1 即将上架界面设计

5.4.2 即将上架功能设计

5.5 购物车管理功能模块设计与实现

5.5.1 购物车管理界面设计

5.5.2 购物车管理功能设计

5.6 用户管理管理功能模块设计与实现

5.6.1 用户管理管理界面设计

5.6.2 用户管理管理功能设计

6.1 测试方法

6.2 测试环境

6.3 功能测试

6.3.1 用户注册功能测试

6.3.2 用户登录功能测试

6.3.3 临期食品功能测试

6.3.4 订单信息功能测试

6.3.5 即将上架商品提前预定功能测试

6.3.6 查看订单配送功能测试

6.4 测试结果

参考文献

致 谢

摘  要

随着人们对食品安全和健康的关注不断增加,商店临期食品销售成为一种重要的经营方式。本文基于Java Web技术,设计并实现了一种商店临期食品销售系统。本系统旨在帮助商店管理者有效监控和销售临期食品,降低浪费,提高经济效益。

首先,本文分析了商店临期食品销售的现状和存在的问题。随后,详细设计了系统的功能模块,包括商品管理、库存管理、销售记录等。在技术实现上,本系统采用Java作为主要开发语言,并结合了Web开发技术,SSM框架进行前端和后端的开发。通过MySQL数据库技术存储和管理相关数据,实现了系统的稳定性和高效性。

在系统实现中,商店管理者可以通过系统对临期食品进行添加、管理以及销售,同时系统还能生成详细的销售报表,帮助管理者进行经营决策。实际应用表明,本系统在提升商店临期食品销售效率和管理水平方面具有显著的作用。

综上,基于Java Web的商店临期食品销售系统为商店管理者提供了一种高效、方便的管理工具,有助于商店提高经济效益,降低对环境的影响,是一种具有实际应用价值的技术解决办法。

关键词:JavaWeb;SSM;MySQL;商店临期食品销售系统


Design and Implementation of a Store Expiration Food Sales System Based on Java Web

Abstract

As people's attention to food safety and health continues to increase, selling expired food in stores has become an important business model. This article is based on Java Web technology, and designs and implements a store's food sales system for expiration dates. This system aims to help store managers effectively monitor and sell expired food, reduce waste, and improve economic benefits.

Firstly, this article analyzes the current situation and existing problems of expired food sales in stores. Subsequently, the functional modules of the system were designed in detail, including product management, inventory management, sales records, etc. In terms of technical implementation, this system adopts Java as the main development language and combines Web development technology and SSM framework for front-end and back-end development. By using MySQL database technology to store and manage relevant data, the stability and efficiency of the system have been achieved.

In the system implementation, store managers can add, manage, and sell expired food through the system, and the system can also generate detailed sales reports to help managers make business decisions. Practical applications have shown that this system plays a significant role in improving the sales efficiency and management level of expired food in stores.

In summary, the Java Web based store expiration food sales system provides store managers with an efficient and convenient management tool, which helps stores improve economic efficiency and reduce environmental impact. It is a technical solution with practical application value.

Key words: JavaWeb; SSM; MySQL; Store Expiration Food Sales System

1 绪论

1.1 前言

随着社会经济的快速发展,人们对生活质量和健康意识的要求日益提高。在这种背景下,食品安全问题备受关注,尤其是对于临近保质期的食品销售环节。临期食品销售不仅存在着食品安全隐患,还造成了资源浪费和经济损失。因此,设计和实现一套高效的临期食品销售系统具有重要意义[1]。

本论文旨在基于Java Web技术,对商店临期食品销售系统进行全面设计与实现。通过对系统的需求分析、系统架构设计、功能模块划分以及技术选型等方面的研究,将构建一套功能完善、性能稳定的系统,旨在帮助商家合理管理临期食品库存、提高商品周转率[2],同时让消费者更加便捷地获取优惠商品。

本文主要包括以下几个方面内容:首先,通过对临期食品销售系统的背景与意义进行阐述,引发对于解决临期食品问题的关注。其次,分析当前临期食品销售系统的现状和存在的问题,并提出本文的研究目标和意义。然后,详细介绍系统的整体架构设计、关键技术选择以及系统功能模块划分,为系统的具体实现奠定基础。最后,通过对系统的功能实现、性能测试和用户体验等方面进行评估,验证系统的可行性和效果。

通过本论文的研究与实践,旨在为商店临期食品销售领域的管理和优化提供一种新的解决方案,同时也为Java Web技术[3]在实际应用中的展示提供一个具体案例。希望本文的研究成果能够为相关领域的从业者和研究者提供借鉴与参考,推动临期食品销售领域的发展,为社会经济可持续发展做出一定的贡献。

1.2 选题背景

随着人们生活水平的提高,消费习惯逐渐发生了变化,越来越多的人开始重视食品安全和健康。同时,随着电子商务的兴起,线上购物[4]已成为人们日常生活中不可或缺的一部分。然而,在电商平台上,有一类商品常常被忽视,即临近保质期的食品。这类食品在传统的实体店中也常常被处理掉或以低价折扣销售,而在电商平台上却很少有专门销售这类商品的平台。

针对这一现状,设计一个基于Java Web的商店临期食品销售系统对于满足消费者的需求,减少临期食品的浪费,同时也有助于商家处理库存和增加销售额。该系统可以帮助商店管理临期食品的库存情况,并通过在线平台将这些临期食品以折扣价销售给消费者,避免食品浪费的同时为消费者提供实惠的购物选择。

利用Java Web技术,可以构建一个易于操作和管理的系统,包括商店端和消费者端的功能,实现临期食品的管理和销售流程。商店端可以方便地管理临期食品的库存和价格,而消费者端可以浏览和购买这些临期食品,从而促进临期食品的变废为宝,减少食品浪费的现象。通过研究基于Java Web的商店临期食品销售系统,可以促进食品资源的有效利用,提高消费者的购物体验,同时也有助于推动食品安全和健康的发展[5]。因此,这一课题具有重要的研究和应用价值。

1.3 选题目的

随着人们对健康和食品安全意识的提高,越来越多的人开始关注食品的质量和新鲜程度。在这个背景下,临期食品成为一个备受关注的问题。临期食品指的是即将过期或过了保质期的食品,虽然在保质期内仍然安全食用,但通常被商户以低价处理,以避免浪费。

本论文旨在使用Java Web技术,结合数据库、前端页面和后台逻辑,设计并实现一个商店临期食品销售系统。Java Web技术是一种基于Java语言的Web开发技术[6],具有跨平台性、高安全性和稳定性等优点,非常适合开发商店临期食品销售系统。通过利用Java Web技术,可以实现系统的智能化管理,包括但不限于库存管理、销售数据分析、用户信息管理等功能,从而提高商店的运营效率。

通过该系统,商家可以发布临期食品信息、管理订单和库存,消费者可以浏览商品、下单购买,并实现在线支付和配送功能,从而构建一个完整的购物平台[7]。同时,系统还将实现基本的用户管理、商品管理、订单管理等功能,以提高系统的实用性和操作效率。通过本论文的研究,将为商店临期食品销售系统的设计与实现提供一定的参考和指导。

1.4选题意义

随着人们对健康与安全意识的提高,临期食品的销售和处理问题愈发引起了人们的关注。在传统的商店中,商家往往会面临临期食品处理难题,如何高效地销售和处理这些临期食品成为了商家们的一个重要问题。因此,基于Java Web的商店临期食品销售系统的研究具有重要的意义。

(1)社会意义:临期食品的浪费不仅令商家承担经济损失,也对环境和资源造成了极大的浪费。通过建立临期食品销售系统,可以有效减少商家的损失,同时也减少食品浪费,有利于促进社会资源的有效利用。

(2)经济意义:临期食品销售系统可帮助商家快速、高效地销售临期食品,减少库存积压,提高销售额和经济效益。同时,通过系统的数据分析和管理[8],可以为商家提供更加精准的销售策略和管理决策,提升商家的竞争力和市场占有率。

(3)技术意义:基于Java Web的商店临期食品销售系统结合了前端界面设计、后端系统开发、数据库管理等多种技术,在研究的过程中可以促进技术的交叉应用和整合,为开发人员提供宝贵的实践机会,有助于推动技术的发展和创新[9]。

(4)教育意义:通过研究商店临期食品销售系统,可以帮助学生和研究人员深入了解食品行业的运作机制、食品销售管理流程以及相关技术的应用[10],为教育教学和专业研究提供具体案例和实践机会,促进知识的传播和学科的发展。

综上所述,基于Java Web的商店临期食品销售系统的研究具有重要的社会、经济、技术和教育意义,有助于推动临期食品管理的改进和完善,促进食品产业的可持续发展。


2 相关技术和理论概述

工欲善其事必先利其器,在基于Java Web的商店临期食品销售系统设计与实现开发中不可或缺的各种技术,将在本章一一介绍。本系统将采用JavaWeb、SSM框架和MySQL数据库进行开发。JavaWeb作为后台的开发语言,SSM框架用于快速搭建系统的框架结构,MySQL数据库用于存储系统的数据。

2.1 Java语言

Java是一种跨平台的高级编程语言,具有广泛应用于各个领域的优势[11]。它拥有简单易学、可靠稳定、安全性强和良好的性能等特点。在基于Java Web的商店临期食品销售系统中,Java将作为主要的后端编程语言来实现系统的核心功能。通过使用Java,我们可以实现数据的处理、业务逻辑的编写以及与前端界面的交互。同时,Java还提供了丰富的类库和开发工具[12],方便开发人员进行系统设计和开发。

2.2 JavaWeb

Web[12]是指Internet的图形、多媒体部分。万维网(环球网)(World Wide Web)简称WebWeb由众多Web页组成。要浏览Web,可使用称为Web浏览器的程序。参见“Internet”和“Web页”。

Java Web是指有Java语言开发出来可以在万维网上访问浏览的程序[13]

Web通过一系列的通信实现与Java的交互,Java是你的后台,进行逻辑处理,中间层进行数据的交互,Web显示给用户来看。

2.3 MySQL数据库

MySQL是一种流行的开源关系型数据库管理系统[14],被广泛应用于Web应用程序的数据存储和管理。它具有高性能、稳定可靠和良好的扩展性。在电影票务管理系统中,MySQL数据库将用于存储和管理电影信息、用户数据、评论记录等相关数据。通过使用SQL语言进行数据操作和查询,我们可以实现对数据的增删改查操作,并保证数据的一致性和完整性

2.4 SSM框架

SSM框架是由Spring、SpringMVC和MyBatis三个开源框架组成的一套Java Web开发框架[15]。每个框架都有不同的职责和功能,它们相互配合形成一个完整的开发环境。Spring框架负责控制反转(IoC)和面向切面编程(AOP),提供了依赖注入和配置管理等功能;SpringMVC框架用于实现MVC模式,处理请求和响应的分发与处理;MyBatis框架则负责数据持久化层的开发,提供了方便的数据访问接口和映射关系。通过SSM框架,我们可以实现系统的各个模块之间的松耦合和高效协作,提高开发效率和系统性能


3 系统需求分析

3.1 系统功能分析

3.1.1 系统功能介绍

基于Java Web的商店临期食品销售系统我划分为了普通用户模块和管理员模块这两大部分。

普通用户模块:

(1)用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现商店临期食品购买商品等操作,就必须有这个系统的账号,如果没有账号的话,可以注册用户进行相关的操作,同时用户还可以通过“我的”这个按钮对个人信息以及操作的信息进行管控。

(2)查看基于Java Web的商店临期食品销售系统的首页信息:基于Java Web的商店临期食品销售系统的首页信息包含了首页、网站公告、食品资讯、临期食品、商城管理、即将上架等。

(3)网站公告:当用户点击“网站公告”这一菜单按钮,会显示管理员在后台发布的所有的网站公告,可以查看详情。

(4)食品资讯:当用户点击“食品资讯”这一菜单按钮,会显示管理员在后台发布的所有的食品资讯,可以查看详情,进行收藏、点赞、评论等。

(5)临期食品:用户点击“临期食品”进入到临期食品页面,可以搜索浏览临期食品信息,并支持加购、立即购买、点赞、收藏和购买评论等操作。

(6)商城管理:用户在此模块可以对我的订单、我的购物车和我的地址进行管理。

(7)即将上架:用户点击“即将上架”进入到即将上架商品列表页面,可以搜索浏览即将上架商品,查看包括食品名称、品牌名称、食品状态、预估价格、推荐理由等详细信息,并支持提前预定、点赞、收藏和评论等操作。

(8)我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改进行管控。

(9)个人中心:用户点击右上角的“用户名”,然后点击“个人中心”可对个人首页、预定信息、订单配送和自己收藏的信息进行管理。

管理员管理模块:

(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)系统用户:管理员可以对商店临期食品销售系统中的管理员和普通用户账户信息进行增删改查。

(3)品牌信息管理:管理员点击“品牌信息管理”菜单可以对商品的品牌信息进行增删改查。

(4)即将上架管理:子菜单即将上架列表、即将上架添加。即将上架列表展示所有即将上架商品,可以查询、删除、查看即将上架详情与评论信息,即将上架添加可提交新的即将上架商品。

(5)预定信息管理:管理员点击“预定信息管理”菜单可以对前台用户在即将上架模块里提交的预定信息进行审核管控。

(6)系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行管理。

(7)网站公告管理:管理员点击“网站公告管理”菜单可以查看到系统中的所有网站公告信息,对已经存在的网站公告,管理员可以修改,也可以添加新的网站公告或者删除网站公告。

(7)资源管理:管理员可以对商店临期食品销售系统前台展示的食品资讯以及食品资讯所属的分类进行管控。

(8)商城管理:管理员点击商城管理可以对临期食品、分类列表、订单列表、订单配送和会员等级等模块信息进行添加和管理。

3.1.2 系统功能模块分析

本项目旨在设计并实现一个基于Java Web的商店临期食品销售系统,以解决商家处理临期食品的难题,同时提供给用户优质的临期食品购买渠道。用户能够实现注册、登录并管理个人信息。管理员能够发布网站公告,管理临期食品商城的商品信息。用户能够浏览临期食品商城,搜索、购买临期食品,并查看订单状态和物流信息。系统能够保障交易的安全性,提供多种支付方式;同时能够优化用户体验,提高系统的响应速度和并发处理能力。

具体实现以下功能模块:

用户管理:包括用户注册、登录、个人信息管理等。

网站公告管理:方便管理员发布网站公告,用户进行网站公告浏览。

资源管理:包括食品资讯发布和资讯分类添加,提供给用户食品相关的资讯和知识。

临期食品管理:包括临期食品信息的展示、搜索和购买等功能。

订单管理:用户可以浏览临期食品,将其加入购物车并生成订单,包括用户下单、订单查询、订单取消等功能。

支付管理:实现支付管理功能,支持多种支付方式,确保交易安全。

物流管理:系统会根据用户的地址信息安排相应的配送方式,提供给用户订单配送信息查询。

即将上架管理:包括即将上架商品的展示、搜索和提前预定等功能。

具体功能模块图如下:

图3-1 系统功能模块图

3.2 系统功能流程介绍

3.2.1 系统数据流分析

对系统的数据流进行分析,系统的使用者分为二类,注册用户和管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。

系统顶层数据流图如下图所示。

图3-2 顶层数据流图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。

系统底层数据流图如下图所示。

 图3-3 底层数据流图

系统可以分为用户端和管理端两部分,每一种操作后系统都返回操作结果。用户端和管理端的数据连接主要通过数据库,既分别对数据库做不同的操作。


4 系统分析与设计

4.1 系统架构设计

基于B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。系统架构图如图4-1所示:

图4-1 系统架构图

4.2 数据库设计

数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。

4.2.1 数据库概念结构设计

通过概念模型的设计,系统设计者可以更好地理解系统的核心构成和运作方式,为功能建设提供了清晰的蓝图。设计者可以根据这一概念模型,有针对性地进行后续系统开发和优化工作,以实现更好的用户体验和系统性能。同时,概念模型也为团队成员之间的沟通和协作提供了便利,使得各方对系统的整体架构和设计思路有了共识。

商店临期食品销售系统的设计与实现的概念模型设计旨在通过实体-关系(E-R)图清晰地呈现系统的核心构成和各要素之间的关系。首先确定了核心实体,包括用户、网站公告、食品资讯、临期食品、即将上架、预定信息、订单、收货地址、购物车、物流配送等。然后,通过建立实体之间的关系,如用户与即将上架的预定关系、临期食品与订单的从属关系等,形成了一个完整的实体关系模型。该模型清晰地展现了系统中各个实体之间的关系,为后续功能的具体实现提供了指导和蓝图。

用户表(注册用户ID,用户姓名、用户性别、手机号码、审核状态、用户ID

临期食品表(临期食品ID,食品品牌、点赞数、标题、封面图、描述、原价、卖价、商品库存、商品分类、正文、主图

即将上架表(即将上架ID,食品名称、品牌名称、食品状态、食品展示、预估价格、推荐理由、点赞数、智能推荐

预定信息表(预定信息ID,注册用户、用户姓名、手机号码、食品名称、品牌名称、预定数量、预定说明、审核状态、审核回复

订单表(订单ID,订单号、商品id、商品标题、商品图片、价格、原价、数量、总价、规格、商品分类、联系人姓名、联系人邮箱、联系人手机、收件地址、邮政编码、买家ID、商家ID

收货地址表(收货地址、姓名、手机、邮编、地址、用户ID

购物车表(购物车ID、标题、图片、用户ID、状态、单价、原价、总价、数量、商品id、商品分类、描述

物流配送表(物流配送ID、订单号、商品名称、购买数量、交易总额、发货日期、配送订单、普通用户、收货地址、配送状态、签收状态、智能推荐、联系人名字、商家id

4.2.2 概念模型转为关系模型

(1)用户表实体属性图

用户表里面包括有注册用户ID,用户姓名、用户性别、手机号码、审核状态、用户ID等属性,其具体的实体属性图如图4-2所示。

图4-2 用户实体属性图

(2)临期食品实体属性图

临期食品里面包括有临期食品ID,食品品牌、点赞数、标题、封面图、描述、原价、卖价、商品库存、商品分类、正文、主图等属性,其具体的实体属性图如图4-3所示。

图4-3 临期食品实体属性图

(3)即将上架属性图

即将上架里面包括有即将上架ID,食品名称、品牌名称、食品状态、食品展示、预估价格、推荐理由、点赞数、智能推荐等属性,其具体的实体属性图如图4-4所示。

图4-4 即将上架实体属性图

(4)预定信息实体属性图

预定信息里面包括有预定信息ID,注册用户、用户姓名、手机号码、食品名称、品牌名称、预定数量、预定说明、审核状态、审核回复等属性,其具体的实体属性图如图4-5所示。

图4-5 预定信息实体属性图

(5)订单实体属性图

订单里面包括有订单ID,订单号、商品id、商品标题、商品图片、价格、原价、数量、总价、规格、商品分类、联系人姓名、联系人邮箱、联系人手机、收件地址、邮政编码、买家ID、商家ID等属性,其具体的实体属性图如图4-6所示。

图4-6 订单实体属性图

(6)收货地址实体属性图

收货地址里面包括有收货地址、姓名、手机、邮编、地址、用户ID等属性,其具体的实体属性图如图4-7所示。

图4-7 收货地址实体属性图

(7)购物车实体属性图

购物车里面包括有购物车ID、标题、图片、用户ID、状态、单价、原价、总价、数量、商品id、商品分类、描述等属性,其具体的实体属性图如图4-8所示。

图4-8 购物车实体属性图

(8)物流配送实体属性图

物流配送里面包括有物流配送ID、订单号、商品名称、购买数量、交易总额、发货日期、配送订单、普通用户、收货地址、配送状态、签收状态、智能推荐、联系人名字、商家id等属性,其具体的实体属性图如图4-9所示。

图4-9 物流配送实体属性图

4.2.3 系统总体关系模型

下面是整个商店临期食品销售系统中主要的数据库表总E-R实体关系图。

图4-10系统E-R实体关系图

4.2.4 数据库表的设计

(1)注册用户表

表4-1  registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_users_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

mobile_phone_number

varchar

16

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

更新时间

(2)临期食品表

表4-2  expiration_food (临期食品)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

expiration_food_id

int

10

0

N

Y

临期食品ID

2

food_brands

varchar

64

0

Y

N

食品品牌

3

praise_len

int

10

0

N

N

0

点赞数

4

cart_title

varchar

125

0

Y

N

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

5

cart_img

text

65535

0

Y

N

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

6

cart_description

varchar

255

0

Y

N

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

7

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

8

cart_price

double

8

2

N

N

0.00

卖价:[1]

9

cart_inventory

int

10

0

N

N

0

商品库存

10

cart_type

varchar

64

0

N

N

未分类

商品分类:

11

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

cart_img_1

text

65535

0

Y

N

主图1:

13

cart_img_2

text

65535

0

Y

N

主图2:

14

cart_img_3

text

65535

0

Y

N

主图3:

15

cart_img_4

text

65535

0

Y

N

主图4:

16

cart_img_5

text

65535

0

Y

N

主图5:

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

(3)即将上架表

表4-3  about_to_be_launched (即将上架)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

about_to_be_launched_id

int

10

0

N

Y

即将上架ID

2

food_name

varchar

64

0

Y

N

食品名称

3

brand_name

varchar

64

0

Y

N

品牌名称

4

food_status

varchar

64

0

N

N

食品状态

5

food_display

varchar

255

0

Y

N

食品展示

6

estimated_price

varchar

64

0

Y

N

预估价格

7

reasons_for_recommendation

longtext

2147483647

0

Y

N

推荐理由

8

praise_len

int

10

0

N

N

0

点赞数

9

recommend

int

10

0

N

N

0

智能推荐

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

(4)预定信息表

表4-4  booking_information (预定信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

booking_information_id

int

10

0

N

Y

预定信息ID

2

registered_users

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

mobile_phone_number

varchar

64

0

Y

N

手机号码

5

food_name

varchar

64

0

Y

N

食品名称

6

brand_name

varchar

64

0

Y

N

品牌名称

7

pre_order_quantity

int

10

0

Y

N

0

预定数量

8

booking_instructions

text

65535

0

Y

N

预定说明

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

(5)订单信息表

表4-5  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

32

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

折扣

(6)收货地址表

表4-6  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

默认判断

(7)购物车表

表4-7  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]用于产品规格描述

(8)物流配送表

表4-8  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

更新时间


5 系统的开发设计与实现

5.1 用户注册功能模块设计与实现

5.1.1 用户注册界面设计

用户通过填写个人信息和选择用户名、密码进行注册。用户在注册页面输入必要信息并提交后,系统将验证信息的有效性,包括用户名是否已被注册、密码格式是否符合要求等。经过验证无误后,用户信息将被存储在数据库中,并返回注册成功的信息提示。注册成功后,用户即可使用所填写的用户名和密码登录系统,享受系统提供的各项服务。

用户注册界面如下图 5-1 所示。

图5-1 用户注册界面

5.1.2 用户注册功能设计

(1)用户注册功能流程图

图5-2 用户注册流程图

(2)用户注册功能的核心代码:

  @PostMapping("register")

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

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

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        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);

}

5.2 用户登录功能模块设计与实现

5.2.1 用户登录界面设计

已注册用户输入其用户名和密码,系统验证用户信息后允许用户登录。经过验证,用户可以顺利登录系统并使用相应功能,这一流程有助于确保用户账户和整个系统的安全性和完整性。

用户登录管理界面如下图 5-3 所示。

图5-3 用户登录管理界面

5.2.2 用户登录功能设计

(1)用户登录功能流程图

图5-4 用户登录流程图

(2)用户登录功能核心代码

  @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;

        QueryWrapper wrapper = new QueryWrapper<User>();

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

5.3 临期食品管理功能模块设计与实现

5.3.1 临期食品管理界面设计

在临期食品管理模块中包括临期食品查询、临期食品重置、临期食品添加、临期食品删除和用户界面临期食品展示等等。

在临期食品添加中,管理员点击“添加”按钮,即可进入临期食品添加页面,填写食品品牌、标题、封面图、描述、原价、卖价、商品库存、商品分类、主图等信息后,点击“提交”按钮完成新增,展示在系统前台。

在临期食品展示中,用户可以根据食品名称来进行临期食品的查询,点击进入详情介绍,可以进行加购、立即购买、点赞、收藏和购买评论。

临期食品管理界面如下图 5-5 所示。

图5-5 临期食品管理界面

临期食品展示界面如下图 5-6 所示。

图5-6 临期食品展示界面

5.3.2 临期食品管理功能设计

(1)临期食品管理功能流程图

图5-7 临期食品管理流程图

图5-8 查询临期食品流程图

(2)临期食品管理功能核心代码

   @RequestMapping("/get_list")

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

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    }

5.4 即将上架功能模块设计与实现

5.4.1 即将上架界面设计

在即将上架管理模块中包括即将上架查询、即将上架重置、即将上架添加、即将上架删除和用户界面即将上架展示等等。

在即将上架添加中,管理员点击“添加”按钮,即可进入即将上架添加页面,填写食品名称、品牌名称、食品状态、预估价格、推荐理由等信息后,点击“提交”按钮完成新增,展示在系统前台。

在即将上架展示中,用户可以根据食品名称来进行即将上架的查询,点击进入详情介绍,可以进行提前预定、点赞、收藏和评论。

即将上架管理界面如下图 5-9 所示。

图5-9 即将上架管理界面

即将上架展示界面如下图 5-10 所示。

图5-10 即将上架展示界面

预定信息提交界面如下图 5-11 所示。

图5-11 预定信息提交界面

5.4.2 即将上架功能设计

(1)即将上架流程图

图5-11 即将上架添加信息流程图

图5-12 即将上架修改信息流程图

(2)即将上架信息添加功能核心代码

 @PostMapping("/add")

    @Transactional

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

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

    }

5.5 购物车管理功能模块设计与实现

5.5.1 购物车管理界面设计

在购物车管理模块中包括加入购物车、生成订单、订单支付等。

我的购物车界面如下图 5-13 所示。

图5-13 我的购物车界面

提交订单界面如下图 5-14 所示。

图5-14 提交订单界面

订单支付界面如下图 5-15 所示。

图5-15 订单支付界面

5.5.2 购物车管理功能设计

(1)加入购物车功能流程图

图5-16 加入购物车流程图

图5-17 购买工作流程图

(2)购物车管理功能核心代码

@RequestMapping("/get_list")

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

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    }

5.6 用户管理管理功能模块设计与实现

5.6.1 用户管理管理界面设计

管理员登录系统后,查看待审核的用户申请,包括新用户注册申请或权限变更申请。管理员可审查用户信息、审核申请理由和相关资料,并批准或拒绝申请。系统记录审核结果并更新用户权限,同时发送通知给用户。管理员还可查看审核历史和统计数据,确保用户管理的规范性和准确性。这一功能有助于提高用户管理的效率和准确性,保障系统安全和用户权限管理。

用户管理界面如下图 5-18 所示。

图5-18 用户管理界面

用户信息修改界面如下图 5-19 所示。

图5-19用户信息修改界面

5.6.2 用户管理管理功能设计

(1)用户管理功能流程图

图5-20用户管理流程图

图5-21 用户信息删除流程图

(2)用户信息管理功能核心代码

   @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);

}

6 系统功能测试

6.1 测试方法

测试是为了验证办公管理系统在功能、性能、安全性和用户体验等方面的表现。通过测试,可以发现并修复潜在的问题和缺陷,确保系统的正常运行和稳定性。功能验证确保各项功能按设计要求运行;性能评估评估系统的响应时间和并发处理能力;安全检测确保系统的身份认证和数据传输安全;用户体验评估提升界面友好性和操作流程;兼容性测试确保系统在不同设备和浏览器上的兼容性。通过全面的测试,系统将更可靠地支持管理员工作,并提供优质的用户体验。

为了保证系统的质量和稳定性,将采用黑盒测试和白盒测试相结合的方法进行测试。在黑盒测试中,将验证系统的功能是否达到用户需求,包括功能的正确性、一致性和完整性。在白盒测试中,将通过对系统代码的检查和覆盖率分析,提高系统的可靠性和安全性。

6.2 测试环境

为了保证测试的有效性,将搭建专门的测试环境,包括开发环境、测试环境和生产环境。开发环境将用于系统的开发和调试,测试环境将用于功能和性能的测试,生产环境将用于系统的正式运行和用户实际体验。

1、必备的工作条件:Windows10

2、软件及开发环境:IDEA、HeidiSQL、MySQL、Visual Studio Code

3、硬件条件:个人笔记本电脑

6.3 功能测试

6.3.1 用户注册功能测试

6-1  用户注册测试用例

测试编号

测试内容

测试步骤和预期结果

测试结果

6-1

用户注册

输入有效信息,如用户名、密码、邮箱,点击注册按钮,预期成功注册并跳转至登录页面。

通过

6-2

用户注册

输入无效信息,如重复用户名、无效密码,点击注册按钮,预期系统提示错误信息。

通过

6-3

用户注册

填写部分信息,如只填写用户名,点击注册按钮,预期系统提示完整信息。

通过

6.3.2 用户登录功能测试

表6-2  用户登录测试用例

测试编号

测试内容

测试步骤和预期结果

测试结果

7-1

用户登录

输入正确的用户名和密码,点击登录按钮,预期成功登录并跳转至用户主页。

通过

7-2

用户登录

输入错误的用户名或密码,点击登录按钮,预期系统提示登录失败信息。

通过

7-3

用户登录

不输入任何信息,直接点击登录按钮,预期系统提示输入用户名和密码。

通过

6.3.3 临期食品功能测试

表6-3  临期食品查看测试用例

测试编号

测试内容

测试步骤和预期结果

测试结果

8-1

临期食品查看

点击临期食品模块,预期能够查看最新的系统临期食品内容。

通过

8-2

临期食品查看

点击具体临期食品查看详情,预期能够查看完整食品图片和相关信息。

通过

8-3

临期食品查看

加入购物车,预期系统记录购物车信息。

通过

6.3.4 订单信息功能测试

表6-4  提交订单信息测试用例

测试编号

测试内容

测试步骤和预期结果

测试结果

9-1

提交订单信息

填写订单信息,包括收货地址、购买数量等,点击提交按钮,预期成功提交订单信息。

通过

9-2

提交订单信息

不填写必填资料,点击提交按钮,预期系统提示需补充必要资料。

通过

9-3

提交订单信息

查看已提交订单状态,预期系统显示订单配送进度和当前状态。

通过

6.3.5 即将上架商品提前预定功能测试

表6-5  提交提前预定信息测试用例

测试编号

测试内容

测试步骤和预期结果

测试结果

10-1

提交提前预定

填写提前预定信息,包括预定数量、预定说明等,点击提交按钮,预期成功提交提前预定信息。

通过

10-2

提交提前预定

提交超出库存预定数量,点击提交按钮,预期系统提示修改预定数量。

通过

10-3

提交提前预定

查看提前预定记录,预期系统显示提前预定的审核状态。

通过

6.3.6 查看订单配送功能测试

表6-6  查看订单配送测试用例

测试编号

测试内容

测试步骤和预期结果

测试结果

11-1

查看订单配送

进入订单配送管理模块,选择订单信息,预期系统展示订单配送信息和状态。

通过

11-2

查看订单配送

点击具体申请查看详情,预期系统显示完整的订单配送和审批时间。

通过

11-3

查看订单配送

修改订单配送状态,预期系统实时更新订单配送状态。

通过

6.4 测试结果

在进行测试后,整体上测试结果表现良好。通过用户注册、用户登录、临期食品查看、提交订单信息、提交提前预定信息和查看订单配送等功能的测试,系统表现稳定,功能正常运行。用户能够顺利操作各项功能,系统符合预期结果。这些测试结果显示系统在各功能模块上表现出良好的稳定性和可靠性,为用户提供高效的商店临期食品销售服务。进一步的测试和优化将有助于提升系统的性能和用户体验。

7 结论

通过基于Java Web的商店临期食品销售系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。


参考文献

[1]柏忠虎,青平,黄帆.农产品稀缺线索对临期食品购买意愿的影响研究[J].商业经济与管理,2024,(01):78-91.DOI:10.14134/j.cnki.cn33-1336/f.2024.01.006.

[2]赵旭东.计算机软件开发与设计中Java语言的应用研究[J].信息与电脑(理论版),2023,35(24):31-33.

[3]Young J L ,Jun K C ,Yean S K .Effects of online shopping channel and price discount on near-expiry food sales[J].International Journal of Market Research,2023,65(6):726-744.

[4]杨芬,宋晓燕.MySQL数据库应用的课程教学分析[J].电子技术,2023,52(10):180-181.

[5]孙力.临期食品销售存在的问题与对策[J].全国流通经济,2023,(18):56-59.DOI:10.16834/j.cnki.issn1009-5292.2023.18.021.

[6]张紫伊,朱培武,倪晨皓,等.临期食品标准化现状分析及发展建议[J].品牌与标准化,2023,(05):25-27.

[7]张书锋,尤澜涛.JavaWeb应用开发课程思政教学改革实践探索[J].电脑知识与技术,2023,19(12):158-160.DOI:10.14004/j.cnki.ckt.2023.0601.

[8]张国鹏.基于ERP系统的临期食品管理模式创新探究[J].现代食品,2023,29(07):95-98.DOI:10.16736/j.cnki.cn41-1434/ts.2023.07.024.

[9]黄倩,熊文,陈炫伊,等.消费者对于临期食品购买意图的影响因素研究[J].食品界,2023,(03):122-124.

[10]刘红.H公司临期食品品类管理优化研究[D].华东师范大学,2022.DOI:10.27149/d.cnki.ghdsu.2022.005037.

[11]Chuanhui L ,Liguang Q ,Xuanzheng W , et al.Exploring food waste prevention through advent food consumption: The role of perceived concern, consumer value, and impulse buying#13;[J].Frontiers in Sustainable Food Systems,2022,6

[12]王新通,夏志杰.消费者网购休闲食品的需求要素研究——以天猫商城为例[J].物流科技,2022,45(09):66-69.DOI:10.13714/j.cnki.1002-3100.2022.09.015.

[13]何贵涛.A线上购物商城服务营销优化研究[D].广西大学,2021.DOI:10.27034/d.cnki.ggxiu.2021.000355.

[14]邱丹萍.Web开发中SSM框架的分析[J].电脑知识与技术,2020,16(17):81-82.DOI:10.14004/j.cnki.ckt.2020.2080.

[15]邓明杨,李忠雄.基于JAVA Web技术的网上书城的设计与实现[J].计算机产品与流通,2020,(05):159-160.


致 谢

在商店临期食品销售系统的设计与实现过程中,我要衷心感谢导师和领导们的悉心指导与支持,他们的鼓励与信任是我不断前行的动力源泉。感谢家人和朋友们的支持与理解,是你们的陪伴让我在困难时刻感受到坚定的力量。每一个挑战都是成长的契机,让我更加坚强、勇敢,学会团结合作,共同面对未知的挑战。

这个项目的成功离不开每一位伙伴的奉献。在面对技术难题和时间压力时,有大家的通力配合与支持,我才能克服重重困难,最终取得了令人瞩目的成绩。在这个过程中,我不断学习、不断进步,锻炼了解决问题的能力,也更加坚信团结合作的力量。

未来的道路上,我将怀揣感恩之心,继续努力前行,为梦想不懈奋斗,书写更加精彩的人生篇章。保持对知识的渴望和对技术的热爱,不断探索创新、追求卓越。勇攀科技高峰,为实现更多梦想而努力奋斗,为社会进步、为科技发展贡献自己的力量。在这个奋进的时刻,回顾过去的努力和付出,感慨收获和成长。让我将这份感恩之心传递下去,激励自己和身边的人,不忘初心,继续前行。让我们共同努力,书写更加精彩的明天!感谢有你们,让我们一起向前奔跑!

点赞+收藏+关注  →私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值