摘  要

随着社会疾控意识的不断增强,药品市场的需求日益上升,药品销售管理系统的设计与实现显得尤为重要。传统的药店管理方法不仅效率低下,而且容易出现信息误差,影响顾客的用药安全及购物体验。因此,开发一个功能全面且用户友好,基于Java技术的药店销售系统,可以有效提升药店的运营效率、改善顾客服务质量,并为药品管理提供更为便捷的解决方案。

本研究主要围绕药店销售系统的设计与实现展开,该系统由多个技术模块组成,包括springboot框架、Java编程语言、MySQL数据库管理;使用者包括普通用户、药师、收银员和管理员等不同角色,包含多个功能模块,包括系统用户、药品仓库管理、药品分类管理、供应商管理、采购订单管理、入库记录管理、客户信息管理、销售订单管理、出库记录管理、财务信息管理、系统管理、系统公告管理、商城管理(药品商城、分类列表、订单列表、订单配送、优惠券)等,旨在构建一个高效、安全、便捷的药品销售管理平台。

在技术选型上,本系统采用了Java编程语言及Spring Boot框架,充分利用其快速开发和简化配置的优势,以提升系统开发和维护的效率。同时,系统将提供良好的用户体验,支持多种支付方式和优惠券管理,以满足不同用户的需求。本文展示了如何构建一个功能完善、操作简便、用户友好的药店销售系统,本系统的研究与实现不仅为药店管理提供智能化支持,也为顾客提供便捷的服务,同时通过该系统的实施,能够提升药店的管理效率,优化库存管理,减少人为错误,从而推动药品零售行业的数字化建设。

关键词:药店销售系统;springboot框架;MySQL数据库;Java语言

Abstract

With the increasing awareness of disease control in society, the demand for drugs in the market is growing, and the design and implementation of drug sales management systems are particularly important. Traditional pharmacy management methods are not only inefficient, but also prone to information errors, affecting customers' medication safety and shopping experience. Therefore, developing a comprehensive and user-friendly pharmacy sales system based on Java technology can effectively improve the operational efficiency of pharmacies, enhance customer service quality, and provide more convenient solutions for drug management.

This study mainly focuses on the design and implementation of a pharmacy sales system, which consists of multiple technical modules, including Spring Boot framework, Java programming language, and MySQL database management; Users include ordinary users, pharmacists, cashiers, and administrators with different roles, including multiple functional modules such as system users, drug warehouse management, drug classification management, supplier management, purchase order management, inbound record management, customer information management, sales order management, outbound record management, financial information management, system management, system announcement management, mall management (drug mall, classification list, order list, order delivery, coupons), etc., aiming to build an efficient, safe, and convenient drug sales management platform.

In terms of technology selection, this system adopts Java programming language and Spring Boot framework, fully utilizing its advantages of rapid development and simplified configuration to improve the efficiency of system development and maintenance. At the same time, the system will provide a good user experience, support multiple payment methods and coupon management to meet the needs of different users. This article demonstrates how to build a fully functional, easy-to-use, and user-friendly pharmacy sales system. The research and implementation of this system not only provides intelligent support for pharmacy management, but also provides convenient services for customers. At the same time, through the implementation of this system, it can improve the management efficiency of pharmacies, optimize inventory management, reduce human errors, and promote the digital construction of the pharmaceutical retail industry.

Keywords: pharmacy sales system; Springboot framework; MySQL database; Java language.

一、绪论

(一)选题背景和意义

近年来,随着医疗行业的发展和人们健康意识的提升,药品市场规模不断扩大,药房作为药品流通的重要环节,其管理的重要性愈发凸显。传统药店多采用人工管理模式,存在信息传递慢、操作效率低、数据统计及分析困难等问题,导致库存管理不善、顾客服务质量差以及药品使用安全隐患等。因此,医院、药店与顾客之间的有效沟通显得尤为关键。

在此背景下,药店销售管理系统应运而生。本文研究的基于Java技术的药店销售系统,通过信息技术的引入和科学的管理方式,可以实现药品进销存的实时监控、准确的数据分析、实时管理销售采购,便捷的顾客服务等多种功能。这不仅能有效提高管理效率,减少人力成本,同时还能提升顾客的购物体验,降低药品仓储、销售、采购、购物及财务等多方面管理过程中的错误率与风险。

本研究旨在设计与实现一个基于Java的药店销售管理系统,目标是构建一个高效、安全、智能化的药品销售管理平台。该系统将为药店提供全面的管理功能,支持药品的采购、销售及库存监控,为用户提供一个方便快捷的购物环境。该研究的实施有助于推动药品零售的数字化转型,提升行业整体效率,保障顾客的用药安全。

(二)国内外研究现状

国外方面,药店管理系统的发展相对成熟,许多国家的药店已经实现了信息化管理。其中,欧美国家的药品管理系统通常包括全面的库存管理、自动补货、药品追溯等功能,利用大数据和人工智能技术进行数据分析和顾客行为分析,以提高药品销售效率和顾客满意度。这些系统的实施使得药品流通更加透明、管理更加高效,推动了整个医药行业的进步。

在国内,随着互联网技术的迅速发展,越来越多的药店也开始引入管理系统。国内市场上存在多种药店管理软件,如“药房管理软件”、“药品进销存管理系统”等,功能涵盖销售管理、库存管理、财务管理等。但总体来看,国内药店管理系统的功能仍相对单一,很多系统缺乏用户友好的界面设计和灵活的业务流程管理。

近年来,随着电商的崛起和“互联网+”政策的推行,药店在实现信息化管理的同时,也开始探索线上线下结合的新模式,但依然面临着技术标准不足、数据安全隐患、系统兼容性差等挑战。因此,深入研究和开发更为智能、全面和安全的药店销售管理系统,有着重要的理论意义和实际价值。

综上所述,虽然国内外在药店管理系统的研究与应用上已有了一定的基础,但仍存在许多可以改进和完善的空间。因此,本研究着眼于药店销售管理系统的设计与实现,致力于为该领域的发展提供新的思路和解决方案。

(三)系统的特点

药店销售系统具有用户友好、实时数据、智能化分析、数据安全,多渠道等特点,涵盖多个核心模块,旨在实现高效且便捷的药店销售管理和用户购物服务。

用户友好的界面:系统采用简洁直观的用户界面设计,通过合理的布局和交互方式,提升用户体验,便于药店工作人员快速上手并高效完成日常操作。

实时数据处理:系统具备实时数据更新功能,能够实时监控药品的进销存情况,确保库存信息的准确性,避免因信息滞后造成的库存不足或过剩。

智能化分析:利用数据分析技术,系统能够生成销售趋势分析、库存周转率报告等,帮助药店管理者做出科学的采购决策和库存管理。

灵活的报表生成:系统支持多种报表的定制与自动生成,包括销售报表、财务报表和库存报表,方便管理者进行全面的业务审计与决策分析。

安全性保障:系统设计了多级权限管理,确保不同角色的用户只能访问与其权限相符的数据,确保药品数据和顾客信息的安全性。

多渠道支持:系统支持线上线下多种销售渠道的管理,能够有效整合线上药品销售和线下药店库存,实现资源的合理配置。

二、系统需求分析

(一)业务需求分析

药店销售系统的业务主要涉及用户界面设计和交互体验。通过合理的用户界面设计和友好的操作流程,可以提升用户体验,降低使用者的学习门槛,增加用户粘性。并且提供多样化的管理方式和功能,如药品仓库管理、供应商管理、客户管理、出入库管理、采购销售管理、财务管理、商城管理等,以满足使用者的不同需求。以及在考虑用户在使用和管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的药店销售系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成。

(二)功能需求分析

药店销售系统的功能需求包括用户管理、药品仓库管理、供应商管理、客户管理、出入库管理、采购销售管理、财务管理、商城管理等方面,以提供全面优质的服务,满足用户的多样化需求。

系统应具备库存管理功能,包括药品入库和出库记录、库存查询及库存预警,方便管理者掌握药品的流动情况并及时补货。其次,采购及销售管理功能要求能够记录采购销售交易信息,维护顾客数据库,分析采购和销售数据以提供个性化服务,并帮助管理者制定销售策略。在财务管理方面,系统需记录收款和费用支出,生成各类财务报表,以便管理者全面了解药店的财务状况。此外,报表管理功能支持用户自定义查询和统计分析,为管理决策提供数据依据。用户管理功能则包括不同角色的创建和权限设置,以确保信息安全。商城管理功能需支持药品商品的上下架、分类、管理和处理订单、多渠道支付、确认和跟踪配送签收情况、发布优惠券等多元的商城购物服务。

系统设置方面应支持药品信息的管理与系统参数的配置,同时应具备数据备份与恢复功能,防止数据丢失。同时,系统应重视安全性,实施数据加密和操作日志记录,确保敏感信息的安全及操作的可追溯性。以上各项功能需求为药店管理系统的设计与开发提供了清晰的方向,旨在提高运营效率、保障数据安全,并增强用户体验。

(三)数据需求分析

在药店销售系统中,根据使用系统的用户角色分析,可以分为管理员、药师、收银员和普通用户等四大模块,各模块的数据需求分析涵盖多个关键领域,其中管理员需要处理以下几方面的功能需求:

  1. 登录:管理员账号密码由系统生成,可使用添加的账号密码登录系统后台,使用系统功能,进行管理,并可对个人信息和密码进行管理。
  2. 后台首页:管理员登录系统后,首先进入后台首页界面,可查看所有的商品销售金额、商品销售数量、药品仓库、入库记录、出库记录、财务信息等统计信息数据分析图表。
  3. 系统用户:管理员可管理系统用户信息,包括普通用户、药师、收银员和管理员等,可添加、封禁、查询系统用户信息;药师、收银员的账号密码信息由管理员在后台直接添加;普通用户可注册生成。
  4. 药品仓库管理:管理员可管理药品仓库信息,包括添加、更新、编辑、删除和搜索药品仓库信息,当库存数量小于10时,会弹出预警提醒信息,并可点击采购、销售等按钮,进行记录。
  5. 药品分类管理:管理员可管理药品分类信息,包括可添加、更新、编辑、删除和搜索药品分类信息。
  6. 供应商管理:管理员可管理供应商信息,包括可添加、更新、编辑、删除和搜索供应商信息。
  7. 采购订单管理:管理员可管理采购订单信息,包括可添加、更新、编辑、删除和搜索采购订单信息;可审核由药师添加的采购订单信息,确认入库。
  8. 入库记录管理:管理员可管理入库记录信息,包括添加、更新、编辑、删除和搜索入库记录信息。
  9. 客户信息管理:管理员可管理客户信息,包括可添加、更新、编辑、删除和搜索客户信息。
  10. 销售订单管理:管理员可管理销售订单信息,包括可添加、更新、编辑、删除和搜索销售订单信息;可审核由药师添加的销售订单信息,确认出库。
  11. 出库记录管理:管理员可管理出库记录信息,包括添加、更新、编辑、删除和搜索出库记录信息。
  12. 财务信息管理:管理员可管理财务信息,包括添加、更新、编辑、删除和搜索财务信息。
  13. 系统管理:管理员可管理首页的轮播图,包括上传、更新、编辑、删除轮播图片。
  14. 系统公告管理:管理员可管理系统公告信息,包括发布、更新、编辑、删除和搜索系统公告信息。
  15. 商城管理:管理员可管理商城信息,包括对药品商城、分类列表、订单列表、订单配送、优惠券等信息进行管控。可发布、下架、编辑、查询药品商城的药品信息,并可查看药品商城的评论信息;对药品商城信息进行分类;处理订单信息,确认订单支付状态,进行发货;跟踪订单配送情况;发布和更新优惠券信息(管理员发布的用于所有药品)。

通过以上各项功能需求分析,管理员能够有效地管理药店销售系统的各项数据和功能,提供良好的用户体验和系统运行效率。管理员角色用例图如下图所示。

图2.1管理员角色用例图

在药店销售系统中,药师主要负责采购订单、销售订单和药品商城等方面的分管,以下是药师在系统中的功能需求:

  1. 登录:药师账号密码由管理员在后台直接添加,可使用添加的账号密码登录系统后台,使用系统功能,进行管理,并可对个人信息和密码进行管理。
  2. 后台首页:药师登录系统后,首先进入后台首页界面,可查看相关统计信息数据分析图表。
  3. 药品仓库管理:药师可查询和浏览药品仓库信息,当库存数量小于10时,会弹出预警提醒信息,并可点击采购、销售等按钮,直接添加采购、销售信息。
  4. 供应商管理:药师可搜索和浏览供应商信息。
  5. 采购订单管理:药师可添加、删除和查询采购订单信息,由管理员审核确认是否出入库。
  6. 入库记录管理:药师可查询和浏览入库记录信息,由管理员审核确认是否出入库。
  7. 客户信息管理:药师可搜索和浏览供应商信息客户信息。
  8. 销售订单管理:药师可添加、删除和查询销售订单信息,由管理员审核确认是否出入库。
  9. 出库记录管理:药师查询和浏览出库记录信息,由管理员审核确认是否出入库。
  10. 商城管理:药师可管理商城信息,包括对药品商城、分类列表、订单列表、订单配送、优惠券等信息进行管控。可发布、下架、编辑、查询药品商城的药品信息,对药品商城信息进行分类;处理订单信息,确认订单支付状态,进行发货;跟踪订单配送情况;发布和更新优惠券信息(药师添加的优惠券信息只可用户药师自己添加的药品)。

通过以上各项功能需求分析,可以得出药师角色用例图如下图所示。

图2.2药师角色用例图

在药店销售系统中,收银员主要负责分管所有财务、订单信息,统计每日收支情况,以下是收银员在系统中的功能需求:

  1. 登录:收银员账号密码由管理员在后台直接添加,可使用添加的账号密码登录系统后台,使用系统功能,负责管理和统计所有订单信息,并可对个人信息和密码进行管理。
  2. 后台首页:收银员登录系统后,首先进入后台首页界面,可查看所有的商品销售金额、商品销售数量、药品仓库、入库记录、出库记录、财务信息等统计信息数据分析图表。
  3. 药品仓库管理:收银员可查询和浏览药品仓库信息。
  4. 采购订单管理:收银员可查询和浏览采购订单信息,由药师添加,管理员审核确认是否出入库。
  5. 入库记录管理:收银员可查询和浏览入库记录信息,由药师添加,管理员审核确认是否出入库。
  6. 销售订单管理:收银员可查询和浏览采购订单信息,由药师添加,管理员审核确认是否出入库。
  7. 出库记录管理:收银员可查询和浏览出库记录信息,由药师添加,管理员审核确认是否出入库。
  8. 财务信息管理:收银员可管理财务信息,包括添加、更新、编辑、删除和搜索财务信息,统计每日收支情况。
  9. 商城管理:收银员可查询和浏览商城信息。

通过以上各项功能需求分析,可以得出收银员角色用例图如下图所示。

图2.3收银员角色用例图

在药店销售系统中,用户有查看系统信息功能需求,以下是普通用户在系统中的功能需求:

  1. 注册登录:游客可以通过注册成为系统用户,注册成功后,可使用账号密码进行登录。
  2. 首页:普通用户登录后首先进入前台首页界面,可查看轮播图、药品商城等信息,并可使用系统其他功能。
  3. 系统公告:普通用户可查看包括关于我们、联系方式、网站介绍等管理员发布的所有系统公告,点击可查看详情。
  4. 药品资讯:普通用户可查看管理员发布的所有药品资讯信息,支持局部搜索和下拉(筛选、排序)搜索,热门文章推荐,点击可查看详情,进行点赞、收藏和评论。
  5. 药品商城:普通用户可查看管理员发布的所有药品商城信息,支持局部搜索和下拉(筛选、排序)搜索,热门商品推荐,可在详情页进行收藏、评论,并可点击立即购买、加入购物车、领取优惠券等操作。
  6. 商城管理:普通用户可点击“商城管理”下拉出现我的购物车、我的订单、我的地址、我的优惠券等操作。在“我的购物车”,可查看加入购物车的药品信息,并选择药品进行购买或删除;在“我的订单”,可增改删查订单信息;在“我的地址”,可增改删查收货地址信息;在“我的优惠券”,可查看所拥有的优惠券信息。
  7. 我的账户:普通用户可对个人资料进行管理,包括修改密码和修改资料。
  8. 个人中心:普通用户可对个人首页、订单配送、收藏等信息进行管控和查阅信息详情。例如,可跟踪物流配送状态,查询订单配送信息,确认签收。

通过以上各项功能需求分析,可以得出普通用户角色用例图如下图所示。

图2.4普通用户角色用例图

三、总体设计

(一)系统架构

药店销售系统的系统架构包括前端和后端两大部分。前端负责用户界面设计和用户交互功能,包括展示系统公告、药品商城、商城管理等内容,并提供用户登录、注册、商城浏览、购买药品、管理购物车、管理订单、添加地址、查看优惠券等功能。后端包括应用服务器和数据库服务器,应用服务器处理业务逻辑如用户认证,数据库服务器存储数据。系统功能模块包括系统用户、药品仓库管理、药品分类管理、供应商管理、采购订单管理、入库记录管理、客户信息管理、销售订单管理、出库记录管理、财务信息管理、系统管理、系统公告管理、商城管理等。系统通过用户认证、权限管理和数据加密确保安全性,通过数据库备份和数据校验保障数据完整性,采用模块化设计和代码规范注重扩展性和可维护性,同时,系统注重扩展性和可维护性,采用模块化设计和代码规范,以提供优质的在线学习体验。下图是具体的b/s架构图:

图3.1 系统架构图

(二)系统功能模块设计

在药店销售系统的整体架构确定后,主要功能模块分为前台和后台两部分。前台服务于用户,包括首首页、系统公告、药品商城、商城管理(我的购物车、我的订单、我的地址、我的优惠券)、我的账户、个人中心(个人首页、订单配送、收藏)等页面。后台模块则为管理员提供服务,包括系统系统用户、药品仓库管理、药品分类管理、供应商管理、采购订单管理、入库记录管理、客户信息管理、销售订单管理、出库记录管理、财务信息管理、系统管理、系统公告管理、商城管理(药品商城、分类列表、订单列表、订单配送、优惠券)等功能。

确定各模块后,设计每个模块的功能特点,并提取出各模块的公共部分是至关重要的。这有助于提高系统的可维护性和扩展性,同时减少重复开发工作。通过合理设计功能模块,系统能更高效地满足用户需求,提升用户体验,确保系统的稳定运行和管理。功能图如下所示:

图3.2系统功能模块图

(三)数据库及模型设计

1.数据库概要设计

在药店销售系统的总的E-R图中,实体之间的关系包括一对一、多对一、一对多和多对多关系。通过总的E-R图的设计,可以清晰地展现各个实体之间的关系,为数据库表格的设计提供依据。如下图是系统的总E-R图。

图3.3系统总体E-R图

2.数据库模块设计

表cashier (收银员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cashier_id

int

10

0

N

Y

收银员ID

2

job_id

varchar

64

0

N

N

工号

3

employee_name

varchar

64

0

Y

N

员工姓名

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表classification_of_drugs (药品分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

classification_of_drugs_id

int

10

0

N

Y

药品分类ID

2

classification_of_drugs

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

更新时间

表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

表customer_information (客户信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

customer_information_id

int

10

0

N

Y

客户信息ID

2

customer_name

varchar

64

0

N

N

客户名称

3

customer_phone_number

varchar

64

0

Y

N

客户电话

4

customer_address

varchar

64

0

Y

N

客户地址

5

person_in_charge

varchar

64

0

Y

N

负责人

6

details_description

longtext

2147483647

0

Y

N

详情说明

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表drug_mall (药品商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drug_mall_id

int

10

0

N

Y

药品商城ID

2

drug_specifications

varchar

64

0

Y

N

药品规格

3

pharmaceutical_manufacturers

varchar

64

0

Y

N

药品厂商

4

limited_period_until

date

10

0

Y

N

有限期至

5

pharmacist

int

10

0

Y

N

0

药师

6

pharmacist_no

varchar

64

0

Y

N

药师编号

7

pharmacists_name

varchar

64

0

Y

N

药师姓名

8

hits

int

10

0

N

N

0

点击数

9

cart_title

varchar

125

0

Y

N

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

10

cart_img

text

65535

0

Y

N

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

11

cart_description

varchar

255

0

Y

N

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

12

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

13

cart_price

double

8

2

N

N

0.00

卖价:[1]

14

cart_inventory

int

10

0

N

N

0

商品库存

15

cart_type

varchar

64

0

N

N

未分类

商品分类:

16

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

17

cart_img_1

text

65535

0

Y

N

主图1:

18

cart_img_2

text

65535

0

Y

N

主图2:

19

cart_img_3

text

65535

0

Y

N

主图3:

20

cart_img_4

text

65535

0

Y

N

主图4:

21

cart_img_5

text

65535

0

Y

N

主图5:

22

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

23

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表drug_warehouse (药品仓库)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drug_warehouse_id

int

10

0

N

Y

药品仓库ID

2

drug_number

varchar

64

0

N

N

药品编号

3

drug_name

varchar

64

0

Y

N

药品名称

4

classification_of_drugs

varchar

64

0

Y

N

药品分类

5

drug_specifications

varchar

64

0

Y

N

药品规格

6

pharmaceutical_manufacturers

varchar

64

0

Y

N

药品厂商

7

inventory_quantity

int

10

0

Y

N

0

库存数量

8

drug_details

longtext

2147483647

0

Y

N

药品详情

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表financial_information (财务信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

financial_information_id

int

10

0

N

Y

财务信息ID

2

record_date

date

10

0

Y

N

记录日期

3

income

int

10

0

Y

N

0

收入

4

expenditure

int

10

0

Y

N

0

支出

5

profit

varchar

64

0

Y

N

利润

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id

2

title

varchar

125

0

Y

N

标题

3

img

text

65535

0

Y

N

封面图

4

description

varchar

255

0

Y

N

描述

5

price_ago

double

8

2

N

N

0.00

原价

6

price

double

8

2

N

N

0.00

卖价

7

sales

int

10

0

N

N

0

销量

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量

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:

表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

更新时间

表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

描述

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

折扣

表outbound_record (出库记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

outbound_record_id

int

10

0

N

Y

出库记录ID

2

sales_number

varchar

64

0

N

N

销售编号

3

drug_number

varchar

64

0

Y

N

药品编号

4

drug_name

varchar

64

0

Y

N

药品名称

5

classification_of_drugs

varchar

64

0

Y

N

药品分类

6

drug_specifications

varchar

64

0

Y

N

药品规格

7

pharmaceutical_manufacturers

varchar

64

0

Y

N

药品厂商

8

pharmacist

int

10

0

Y

N

0

药师

9

pharmacist_id

varchar

64

0

Y

N

药师编号

10

pharmacists_name

varchar

64

0

Y

N

药师姓名

11

customer_name

varchar

64

0

Y

N

客户名称

12

customer_phone_number

varchar

64

0

Y

N

客户电话

13

customer_address

varchar

64

0

Y

N

客户地址

14

person_in_charge

varchar

64

0

Y

N

负责人

15

sales_volumes

int

10

0

Y

N

0

销售数量

16

sales_unit_price

varchar

64

0

Y

N

销售单价

17

sales_amount

varchar

64

0

Y

N

销售金额

18

sales_date

date

10

0

Y

N

销售日期

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pharmacist (药师)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pharmacist_id

int

10

0

N

Y

药师ID

2

pharmacist_no

varchar

64

0

N

N

药师编号

3

pharmacists_name

varchar

64

0

Y

N

药师姓名

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表purchase_order (采购订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchase_order_id

int

10

0

N

Y

采购订单ID

2

purchase_number

varchar

64

0

Y

N

采购编号

3

drug_number

varchar

64

0

Y

N

药品编号

4

drug_name

varchar

64

0

Y

N

药品名称

5

classification_of_drugs

varchar

64

0

Y

N

药品分类

6

drug_specifications

varchar

64

0

Y

N

药品规格

7

pharmaceutical_manufacturers

varchar

64

0

Y

N

药品厂商

8

pharmacist

int

10

0

Y

N

0

药师

9

pharmacist_id

varchar

64

0

Y

N

药师编号

10

pharmacists_name

varchar

64

0

Y

N

药师姓名

11

supplier_name

varchar

64

0

Y

N

供应商名称

12

supplier_address

varchar

64

0

Y

N

供应商地址

13

suppliers_phone_number

varchar

64

0

Y

N

供应商电话

14

person_in_charge

varchar

64

0

Y

N

负责人

15

purchase_quantity

int

10

0

Y

N

0

采购数量

16

purchase_unit_price

varchar

64

0

Y

N

采购单价

17

purchase_amount

varchar

64

0

Y

N

采购金额

18

purchase_date

date

10

0

Y

N

采购日期

19

procurement_remarks

text

65535

0

Y

N

采购备注

20

examine_state

varchar

16

0

N

N

未审核

审核状态

21

examine_reply

varchar

16

0

Y

N

审核回复

22

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

23

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sales_order (销售订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sales_order_id

int

10

0

N

Y

销售订单ID

2

sales_number

varchar

64

0

Y

N

销售编号

3

drug_number

varchar

64

0

Y

N

药品编号

4

drug_name

varchar

64

0

Y

N

药品名称

5

classification_of_drugs

varchar

64

0

Y

N

药品分类

6

drug_specifications

varchar

64

0

Y

N

药品规格

7

pharmaceutical_manufacturers

varchar

64

0

Y

N

药品厂商

8

pharmacist

int

10

0

Y

N

0

药师

9

pharmacist_id

varchar

64

0

Y

N

药师编号

10

pharmacists_name

varchar

64

0

Y

N

药师姓名

11

customer_name

varchar

64

0

Y

N

客户名称

12

customer_phone_number

varchar

64

0

Y

N

客户电话

13

customer_address

varchar

64

0

Y

N

客户地址

14

person_in_charge

varchar

64

0

Y

N

负责人

15

sales_volumes

int

10

0

Y

N

0

销售数量

16

sales_unit_price

varchar

64

0

Y

N

销售单价

17

sales_amount

varchar

64

0

Y

N

销售金额

18

sales_date

date

10

0

Y

N

销售日期

19

order_remarks

text

65535

0

Y

N

订单备注

20

examine_state

varchar

16

0

N

N

未审核

审核状态

21

examine_reply

varchar

16

0

Y

N

审核回复

22

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

23

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表storage_record (入库记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

storage_record_id

int

10

0

N

Y

入库记录ID

2

purchase_number

varchar

64

0

N

N

采购编号

3

drug_number

varchar

64

0

Y

N

药品编号

4

drug_name

varchar

64

0

Y

N

药品名称

5

classification_of_drugs

varchar

64

0

Y

N

药品分类

6

drug_specifications

varchar

64

0

Y

N

药品规格

7

pharmaceutical_manufacturers

varchar

64

0

Y

N

药品厂商

8

pharmacist

int

10

0

Y

N

0

药师

9

pharmacist_id

varchar

64

0

Y

N

药师编号

10

pharmacists_name

varchar

64

0

Y

N

药师姓名

11

supplier_name

varchar

64

0

Y

N

供应商名称

12

supplier_address

varchar

64

0

Y

N

供应商地址

13

suppliers_phone_number

varchar

64

0

Y

N

供应商电话

14

person_in_charge

varchar

64

0

Y

N

负责人

15

purchase_quantity

int

10

0

Y

N

0

采购数量

16

purchase_unit_price

varchar

64

0

Y

N

采购单价

17

purchase_amount

varchar

64

0

Y

N

采购金额

18

purchase_date

date

10

0

Y

N

采购日期

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表supplier (供应商)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

supplier_id

int

10

0

N

Y

供应商ID

2

supplier_name

varchar

64

0

N

N

供应商名称

3

supplier_address

varchar

64

0

Y

N

供应商地址

4

suppliers_phone_number

varchar

64

0

Y

N

供应商电话

5

person_in_charge

varchar

64

0

Y

N

负责人

6

details_description

longtext

2147483647

0

Y

N

详情说明

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

四、功能实现

药店销售系统的详细设计与实现主要基于需求分析和总体设计,包括界面设计和业务逻辑实现两方面,通过提供用户友好的界面和功能操作,满足用户需求,提升系统的易用性和效率。

(一)系统前台功能实现

1.系统主页功能实现

系统主页是药店销售系统的重要入口,通过页面布局设计、系统信息展示、功能入口设计、搜索功能、用户登录与注册、动态内容更新和响应式设计等功能实现,为用户提供清晰的信息展示、便捷的功能入口和良好的用户体验。主页不仅展示系统信息和信息推荐,还提供搜索功能和用户账号操作入口,确保用户快速访问所需信息,提升系统的可用性和用户满意度。其主界面展示如下图4.1所示。

如下图:

图4.1药店销售系统主界面

药店销售系统中,由于项目仅用于测试目的,用户登录首页展示的图片和数据部分可能来自项目本地或数据库。为了提高页面的效率和一致性,可以将公共样式如搜索部分、页头部分等进行抽取,形成公共样式文件,然后在HTML页面中引入这些公共样式文件。这样做有助于减少重复代码,提高页面加载速度,同时确保页面风格的统一性和维护的便利性。

关键代码如下:

server:

  port: 5000

  servlet:

    context-path: /api

spring:

  mvc:

    static-path-pattern: /upload/**

  resources:

    static-locations: file:此处填写地址/project93355/server/src/main/resources/static

datasource:    

jdbc:mysql://127.0.0.1:3306/projectxxxxx?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8

    username: root

    password: root

    driver-class-name: com.mysql.cj.jdbc.Driver

    type: com.alibaba.druid.pool.DruidDataSource

  jackson:

    property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES

    default-property-inclusion: ALWAYS

    time-zone: GMT+8

    date-format: yyyy-MM-dd HH:mm:ss

  servlet:

    multipart:

      max-file-size: 500MB

      max-request-size: 500MB

  redis:

    host: 127.0.0.1

    port: 6379

    password:

    database: 2

    lettuce:

      pool:

        max-idle: 30

        min-idle: 10

        max-active: 30

        max-wait: 10000

mybatis-plus:

  mapper-locations: classpath*:mapper/*.xml

  type-aliases-package: com.project.demo.entity

  configuration:

    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

    use-column-label: true

    map-underscore-to-camel-case: false

    lazy-loading-enabled: true

    aggressive-lazy-loading: false

use-generated-keys: true

2.用户注册功能实现

用户可以通过注册获取账户,使用账号和密码进行登录,以便访问系统功能。其用注册界面展示如下图4.2所示。

图4.2用户注册界面

关键代码如下:

 /**

     * 注册

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

}     

3.用户登录功能模块实现

用户登录功能模块是药店销售系统中的关键功能之一,通过输入正确的用户名和密码,用户可以登录系统并访问其功能。实现用户登录功能的步骤包括验证用户输入的用户名和密码是否匹配数据库中的记录,若匹配则允许用户登录,否则提示用户重新输入。在登录过程中,需要确保用户输入的信息安全性,如密码加密存储和传输。登录成功后,用户可以访问个人信息等页面,提升系统的用户体验和安全性。用户登录界面如下图4.3所示。

图4.3用户登录界面

关键代码如下:

 /**

     * 登录

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

        }

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

            map.put("email", email);

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

        }

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

            map.put("phone", phone);

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

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

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

        }

        User byUsername = (User) resultList.get(0);

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

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

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

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

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

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

4.药品商城功能实现

药品商城模块是药店销售系统中的重要组成部分,旨在为用提供药品商城药品商品展示、浏览、搜索、购买等服务。普通用户可查看管理员发布的所有药品商城信息,支持局部搜索和下拉(筛选、排序)搜索,热门商品推荐,可在详情页进行收藏、评论,并可点击立即购买、加入购物车、领取优惠券等操作。界面如下图所示:

图4.4药品商城详情界面

5.商城管理功能实现

普通用户可点击“商城管理”下拉出现我的购物车、我的订单、我的地址、我的优惠券等操作。在“我的购物车”,可查看加入购物车的药品信息,并选择药品进行购买或删除;在“我的订单”,可增改删查订单信息;在“我的地址”,可增改删查收货地址信息;在“我的优惠券”,可查看所拥有的优惠券信息。实现界面如下图所示:

图4.5商城管理界面

6.个人中心功能实现

普通用户可对个人首页、订单配送、收藏等信息进行管控和查阅信息详情。例如,可跟踪物流配送状态,查询订单配送信息,确认签收,界面如下图所示:

图4.6个人中心界面

(二)系统后台功能实现

1.后台首页功能实现

药店销售系统中,登录系统后台后,首先进入后台首页界面,该界面展示整个系统概览信息、功能导航,及包括商品销售金额、商品销售数量、药品仓库、入库记录、出库记录、财务信息等统计信息数据分析图表,界面如下图所示。

图4.7后台首页界面

2.药品仓库管理功能实现

药品仓库模块可管理药品仓库信息,由管理员负责包括添加、更新、编辑、删除和搜索药品仓库信息,药师和收银员可查询和浏览药品仓库信息;当库存数量小于10时,会弹出预警提醒信息,并可点击采购、销售等按钮,进行记录。具体的实现界面如下图:

图4.9药品仓库管理界面

3.采购订单管理功能实现

采购订单管理和销售订单管理模块关联,主要记录、管理采购及销售信息,这里以采购订单管理功能为例,管理员和药师可管理采购订单信息,包括可添加、更新、编辑、删除和搜索采购订单信息;主要由药师添加采购信息,管理员可审核由药师添加的采购订单信息,确认是否入库;收银员可查询采购订单信息。具体的实现界面如下图:

图4.10采购订单管理界面

4.财务信息管理功能实现

管理员和收银员可管理财务信息,包括添加、更新、编辑、删除和搜索财务信息。主要由收银员来统计每日收支情况。具体的实现界面如下图:

图4.11财务信息管理界面

5.商城管理功能实现

在商城管理模块中可管理商城信息,包括对药品商城、分类列表、订单列表、订单配送、优惠券等信息进行管控。管理员和药师可发布、下架、编辑、查询药品商城的药品信息,并可查看药品商城的评论信息;对药品商城信息进行分类;处理订单信息,确认订单支付状态,进行发货;跟踪订单配送情况;发布和更新优惠券信息(药师添加的优惠券信息只可用户药师自己添加的药品商城药品;管理员发布的用于所有药品)。具体的实现界面如下图:

图4.12商城管理界面

五、系统测试

(一)系统测试目的

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

(二)系统可用性测试

系统的可用性测试是测试系统最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。

表6.1药店销售系统可用性测试

可用性测试方面

测试内容

导航测试

- 检查系统导航结构是否清晰明了

- 测试用户能否快速找到所需功能和信息

功能测试

- 测试用户注册、登录等功能是否正常运作

响应时间测试

- 测试系统在不同网络环境下的响应速度

- 确保用户操作时不会遇到明显延迟

错误处理测试

- 测试系统在用户输入错误或操作异常时的提示信息和处理方式

- 确保用户能清晰了解错误原因并得到帮助

跨平台兼容性测试

- 测试系统在不同操作系统和设备上的兼容性

- 确保用户无论使用何种设备都能正常访问系统

用户反馈测试

- 收集用户反馈意见和建议

- 了解用户使用体验和需求

(三)系统经典测试用例

对系统的主要页面和功能点的测试用例如下:

用户注册登录测试用例:

表6.2用户注册登录测试表

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

用户注册、登录

测试用户正确注册、登录

  1. 在首页界面注册一个新用户,按规定输入合理的注册信息,提交。
  2. 用户在登录界面输入账户密码登录

用户注册成功,登录成功

结果输出符合预期

通过

立即购买药品测试用例:

表6.3立即购买药品测试表

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

立即购买药品

测试用户立即购买药品

  1. 在首页点击药品商城并查看详情;
  2. 点击立即购买,输入正确合规的相关信息,并提交

用户立即购买药品成功,生成订单信息

结果输出符合预期

通过

领取优惠券测试用例:

表6.4领取优惠券测试表

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

领取优惠券

测试用户酒店领取优惠券

  1. 在首页点击药品商城并查看详情;
  2. 点击领取优惠券

系统提示领取优惠券成功

结果输出符合预期

通过

添加药品仓库测试用例:

表6.5添加药品仓库测试表

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

添加药品仓库测试

测试管理员添加药品仓库信息

  1. 管理员点击添加药品仓库管理,并进入添加界面;
  2. 输入正确合规的相关信息,点击提交

添加药品仓库成功

结果输出符合预期

通过

审核采购订单测试用例:

表6.6审核采购订单测试表

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

审核采购订单测试

测试管理员审核采购订单信息

  1. 管理员点击采购订单管理,并进入详情界面;
  2. 在详情页进行审核,修改审核状态,点击提交

审核采购订单信息提交成功

结果输出符合预期

通过

删除系统公告试用例:

表6.7删除系统公告测试表

用例说明

测试目的

测试步骤

预期结果

输出结果

通过情况

删除系统公告测试

测试管理员审核系统公告信息

  1. 管理员点击系统公告管理;
  2. 选择一个系统公告点击删除,并确认删除

系统公告删除成功,前端不在展示该公告信息

结果输出符合预期

通过

(四)测试总结

经过用户注册登录、立即购买药品、领取优惠券、添加药品仓库、审核采购订单、删除系统公告等功能的测试,结果显示系统表现良好,各界面展示正常,系统功能运行稳定。用户能够顺利注册登录系统,浏览最新药品商城信息,并在购买药品,领取优惠券;管理员可以在后台添加药品仓库信息,审核采购订单,删除系统公告等,成功实现各项操作,系统响应速度快且功能正常。这些测试结果表明系统在功能性和用户体验方面表现出色,但仍需持续监测和优化以确保系统稳定性和用户满意度。

结 论

药店销售系统通过采用前沿技术和精心设计,实现了卓越的功能、性能、安全性和用户体验。前端使用了HTML确保了用户界面的直观性和流畅性。后端采用了springboot框架和Java编程语言,结合MySQL数据库,保障了系统的高效运行和数据的完整存储。用户可以方便地进行注册、登录、后台首页、系统用户、药品仓库管理、药品分类管理、供应商管理、采购订单管理、入库记录管理、客户信息管理、销售订单管理、出库记录管理、财务信息管理、系统管理、系统公告管理、商城管理(药品商城、分类列表、订单列表、订单配送、优惠券)等操作,同时进行最终测试,保证所有功能都经过严格的验证,确保准确性和稳定性。

在性能方面,系统通过负载测试和压力测试,评估了响应时间和并发处理能力,确保在高并发访问下的稳定性和高效性。安全性方面,通过严格的身份认证和数据加密技术,确保了数据传输的安全,防止数据泄露和非法访问。此外,系统进行了兼容性测试,确保在不同设备和浏览器上的一致性体验。

通过不断优化用户界面和操作流程,能够为用户提供一个用户友好、操作简单的的药店销售系统,可以更好地满足不同用户的需求提,简化药店销售管理流程,提升药店的管理效率和服务水平,优化库存管理,减少人为错误,实现实时数据处理分析,为科学决策提供数据支持,推动药品零售行业的数字化,智能化发展。

参考文献

[1]向育程,段元梅.基于Java的网上商城系统[J].电脑编程技巧与维护,2024,(08):32-34.DOI:10.16184/j.cnki.comprg.2024.08.013.

[2]Zhu Y .Contract Management System Based on SpringBoot and Vue[J].Advances in Computer, Signals and Systems,2024,8(5):

[3]王培培.基于SpringBoot的网上商城管理系统设计与实现[J].现代计算机,2024,30(07):117-120.

[4]陈彬.基于SpringBoot技术的海产品销售平台设计与开发[J].信息与电脑(理论版),2024,36(05):77-80.

[5]吴伶琳.基于SpringBoot的客户关系管理系统设计与实现[J].无线互联科技,2023,20(24):60-62.

[6]艾钰承,朱海风,刘舟.基于SpringBoot的“喵站”宠物服务平台的设计与实现[J].科技资讯,2023,21(22):22-25.DOI:10.16661/j.cnki.1672-3791.2305-5042-0756.

[7]崔臣,宋甲旭.基于SpringBoot的校园二手交易系统研究[J].无线互联科技,2023,20(18):31-34.

[8]陈冬君,孔海军,吴荷,等.基于SpringBoot+Vue的智能随车营销系统[J].电脑与电信,2023,(09):55-59.DOI:10.15966/j.cnki.dnydx.2023.09.017.

[9]Yang Y .Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):

[10]陈小燕,朱映辉,余晓春.基于SpringBoot+Vue的好农物商城的设计与实现[J].电脑知识与技术,2022,18(22):37-39.DOI:10.14004/j.cnki.ckt.2022.1535.

[11]任建新,王一鸣,李鑫,等.基于Java Web的智慧商城购物系统设计[J].信息技术与信息化,2022,(07):23-27.

[12]郑宇彤.基于Java的农产品电子商城设计与实现[D].武汉轻工大学,2022.DOI:10.27776/d.cnki.gwhgy.2022.000171.

[13]田松涛,段元梅.基于SpringBoot的线上商城平台设计[J].无线互联科技,2022,19(01):56-57.

[14]丁海洋,王昊翔,姚全珠.基于MVVM框架的汽车销售管理系统设计与实现[J].电子制作,2021,(22):55-56+8.DOI:10.16589/j.cnki.cn11-3571/tn.2021.22.019.

[15]陈晗.基于RESTful的网上商城的设计与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000739.

[16]陈冰.基于SpringBoot的校园二手商品交易系统的设计与实现[D].华中师范大学,2021.DOI:10.27159/d.cnki.ghzsu.2021.003139.

[17]马艳夕.基于SpringBoot与Vue技术的企业电商平台的设计与实现[J].信息与电脑(理论版),2021,33(03):99-100.

[18]莫竣成,田秀云.基于Java的网上购物平台系统设计[J].机电工程技术,2021,50(01):103-105.

[19]李俊甲,许烨.基于Java的购物网站设计与开发[J].信息与电脑(理论版),2020,32(23):86-88.

[20]贾志勇.基于SpringBoot的下沉市场交易平台的设计与实现[D].安徽大学,2020.DOI:10.26917/d.cnki.ganhu.2020.000917.

致  谢

在完成这个关于药店销售系统的探讨过程中,我想要向所有支持和帮助过我的人致以诚挚的感谢。首先,感谢我的家人,是你们默默的付出和支持,让我有了安心学习的环境和坚定追求梦想的勇气。其次,感谢我的同学和朋友,在我学习和工作中给予我无尽的支持和理解,他们的陪伴和鼓励是我不断前行的动力源泉, 是他们在学习过程中对我的帮助和鼓励,让我感受到集体的力量和友情的温暖,让我不再感到迷茫和孤单。其次,感谢我的导师,她在学术和职业道路上给予我宝贵的指导和建议,让我不断成长和进步,使我更加懂得谦逊和坚韧。没有指导老师耐心指导,悉心教诲,就不会有我在学术研究上的进步。您们的支持和鼓励是我前行的动力和勇气,让我在追求梦想的路上永不停步。无论遇到怎样的困难和挑战,我都会倍加珍惜这份支持和鼓励,更加努力学习,不负众望,不负时光。再次衷心感谢您们!

请关注点赞+私信博主,免费领取项目源码

更多推荐