摘要:随着零售行业的快速发展和市场竞争的日益加剧,超市已经成为消费者日常购物的重要选择。为了提升客户体验、增强顾客黏性,并提高店铺运营效率,亟需建立一套完善的超市管理系统。本课题旨在设计一个集顾客、收银员和管理员功能于一体的佳新超市管理系统,以解决当前超市在客户服务和管理方面的挑战,从而优化业务流程和提升服务质量。
本系统采用了Spring Boot作为后端开发框架,前端则使用了Vue.js,实现了良好的用户交互体验;数据库方面采用MySQL进行数据存储和管理。为了提供直观的数据分析和可视化功能,系统集成了Echarts作为数据展示工具。通过这种前后端分离的架构设计,系统不仅具备出色的扩展性与灵活性,还能保证高效的数据交互和业务响应,满足不同角色用户的需求。
此佳新超市管理系统的实施,不仅能够提高顾客的购物体验,促进顾客活跃度,同时也为收银员和管理员提供了科学化的管理工具,有助于提高运营效率与服务质量。系统的引入将推动超市数字化转型,为零售行业的可持续发展提供有力支持,进而提升市场竞争力与顾客满意度。
关键词:佳新超市管理系统;Spring Boot;Vue.js;Echarts;MySQL
目录
[1.1 研究背景](#1.1 研究背景)
[1.2 研究现状](#1.2 研究现状)
[1.3 本文主要研究的内容](#1.3 本文主要研究的内容)
[2 开发环境概览](#2 开发环境概览)
[2.1 开发技术](#2.1 开发技术)
[2.1.1 软件架构](#2.1.1 软件架构)
[2.1.2 技术栈](#2.1.2 技术栈)
[2.2 开发工具](#2.2 开发工具)
[2.2.1 Web服务器](#2.2.1 Web服务器)
[2.2.2 IntelliJ IDEA](#2.2.2 IntelliJ IDEA)
[2.2.3 数据库](#2.2.3 数据库)
[2.2.4 Naicat](#2.2.4 Naicat)
[2.2.5 Maven](#2.2.5 Maven)
[3.1 可行性分析](#3.1 可行性分析)
[3.1.1 技术可行性分析](#3.1.1 技术可行性分析)
[3.1.2 经济可行性分析](#3.1.2 经济可行性分析)
[3.1.3 操作可行性分析](#3.1.3 操作可行性分析)
[3.1.4 法律可行性分析](#3.1.4 法律可行性分析)
[3.2 需求分析](#3.2 需求分析)
[3.2.1 系统性能需求分析](#3.2.1 系统性能需求分析)
[3.2.2 系统功能需求分析](#3.2.2 系统功能需求分析)
[3.3 系统流程设计](#3.3 系统流程设计)
[3.3.1 系统开发流程](#3.3.1 系统开发流程)
[3.3.2 用户登录流程](#3.3.2 用户登录流程)
[3.3.3 系统操作流程](#3.3.3 系统操作流程)
[3.3.4 添加信息流程](#3.3.4 添加信息流程)
[3.3.5 删除信息流程](#3.3.5 删除信息流程)
[4 系统设计](#4 系统设计)
[4.1 系统架构结构](#4.1 系统架构结构)
[4.2 数据库设计](#4.2 数据库设计)
[4.2.1 数据库实体设计](#4.2.1 数据库实体设计)
[4.2.2 系统数据库表](#4.2.2 系统数据库表)
[5 系统实现](#5 系统实现)
[5.1 用户权限模块](#5.1 用户权限模块)
[5.1.1 登录实现](#5.1.1 登录实现)
[5.2 系统功能实现](#5.2 系统功能实现)
[5.2.1 顾客功能模块实现](#5.2.1 顾客功能模块实现)
[5.2.2 管理员模块实现](#5.2.2 管理员模块实现)
[5.2.3 收银员模块实现](#5.2.3 收银员模块实现)
[6 系统测试](#6 系统测试)
[6.1 系统测试的目的](#6.1 系统测试的目的)
[6.2 系统功能测试](#6.2 系统功能测试)
[6.2.1 登录注册功能测试](#6.2.1 登录注册功能测试)
[6.2.2 商品盘点管理功能测试](#6.2.2 商品盘点管理功能测试)
[6.2.3 商品信息管理功能测试](#6.2.3 商品信息管理功能测试)
[6.3 本章小结](#6.3 本章小结)
[7 结 论](#7 结 论)
研究背景
在零售行业快速发展的当下,超市作为重要的零售业态,其信息化管理水平直接影响到运营效率与顾客体验。目前,多数传统超市仍采用人工管理或半自动化管理模式,在会员管理、库存监控、销售数据分析等方面存在明显不足。例如,会员信息分散且更新不及时,难以开展精准营销;库存盘点依赖人工,易出现数据误差且效率低下;销售数据缺乏系统化分析,难以支撑决策优化。尽管部分超市已引入基础管理系统,但普遍存在功能单一、集成度低、用户体验差等问题,无法满足现代化超市的多元化管理需求。
系统功能需求分析
佳新超市管理系统开发涉及到三类角色:顾客、收银员、管理员。
(1)顾客
顾客角色主要功能用例图如图3-1所示:

收银员
收银员可以进行主页、个人中心及商品盘点管理。主要功能用例图如图3-2所示:

管理员
管理员可以进行主页、个人中心、收银员及顾客管理、留言板反馈、以及系统管理。主要功能用例图如图所示:

系统设计
系统设计是一个系统化过程,它巧妙地将复杂的设计对象拆解为若干独立而相互关联的模块。这些模块不仅是系统构建的基石,更是实现整体功能的关键要素,它们之间相互支持、相互制约,共同编织成一个既和谐又高效的系统网络。通过精细的模块划分与协同设计,系统设计旨在确保软件开发的每一步都紧密围绕预期目标展开,从而最大限度地满足用户需求,明确并强化软件开发的初衷与方向15。这一过程不仅是技术实现的基石,更是项目成功的关键所在。
4.1 系统架构结构
佳新超市管理系统开发选择了Spring Boot这一业界公认的领先框架作为技术基石。Spring Boot以其卓越的简洁性与高效性,在企业软件开发领域占据了举足轻重的地位。通过采用Spring Boot框架成功简化了繁琐的开发流程,不仅显著缩短了项目开发周期,还大幅度提升了软件的响应速度与性能表现。这一选择不仅彰显了对技术前沿的敏锐洞察,更体现了对项目质量与效率的不懈追求,确保最终设计的系统能够引领行业潮流,满足并超越客户的期待。系统总体结构图如图4-1所示。

系统数据库表
数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:
表4-1 newstype(公告资讯分类)
|----------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| typename | varchar | 200 | 分类名称 | | |
表4-2 storeup(收藏表)
|-----------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| userid | bigint | | 用户id | | |
| refid | bigint | | 商品id | | |
| tablename | varchar | 200 | 表名 | | |
| name | varchar | 200 | 名称 | | |
| picture | longtext | 4294967295 | 图片 | | |
(续表)
|-----------|---------|-----|------|---|---|
| type | varchar | 200 | 类型 | | 1 |
| inteltype | varchar | 200 | 推荐类型 | | |
| remark | varchar | 200 | 备注 | | |
表4-3 config(配置文件)
|-------|---------|-----|--------|----|-----|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| name | varchar | 100 | 配置参数名称 | | |
| value | varchar | 100 | 配置参数值 | | |
| url | varchar | 500 | url | | |
表4-4 Shouhouhuifang(售后回访)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| huifangbianhao | varchar | 200 | 回访编号 | | |
| biaoti | varchar | 200 | 标题 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| huifangneirong | longtext | 4294967295 | 回访内容 | | |
| huifangshijian | date | | 回访时间 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| shhf | longtext | 4294967295 | 回复内容 | | |
表4-5 baoyangwancheng(保养完成)
|---------|-----------|----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
(续表)
|-------------------|----------|------------|-------|---|---|
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| baoyangzhuangtai | longtext | 4294967295 | 保养状态 | | |
| wanchengshijian | date | | 完成时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| shhf | longtext | 4294967295 | 回复内容 | | |
表4-6 news(公告资讯)
|--------------|-----------|------------|--------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| title | varchar | 200 | 标题 | | |
| introduction | longtext | 4294967295 | 简介 | | |
| typename | varchar | 200 | 分类名称 | | |
| name | varchar | 200 | 发布人 | | |
| headportrait | longtext | 4294967295 | 头像 | | |
| clicknum | int | | 点击次数 | | 0 |
| clicktime | datetime | | 最近点击时间 | | |
| thumbsupnum | int | | 赞 | | 0 |
| crazilynum | int | | 踩 | | 0 |
| storeupnum | int | | 收藏数 | | 0 |
| picture | longtext | 4294967295 | 图片 | | |
| content | longtext | 4294967295 | 内容 | | |
表4--7 baoyangjilu(保养记录)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| zhuangtai | longtext | 4294967295 | 状态 | | |
| baoyangshijian | date | | 保养时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-8 kehutousu(客户投诉)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tousubianhao | varchar | 200 | 投诉编号 | | |
| biaoti | varchar | 200 | 标题 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| tousuneirong | longtext | 4294967295 | 投诉内容 | | |
| tousushijian | date | | 投诉时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
(续表)
|------------------|----------|------------|-------|---|-----|
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| sfsh | varchar | 200 | 是否审核 | | 待审核 |
| shhf | longtext | 4294967295 | 审核回复 | | |
表4-9 users(管理员表)
|----------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| username | varchar | 100 | 用户名 | | |
| password | varchar | 100 | 密码 | | |
| image | varchar | 200 | 头像 | | |
| role | varchar | 100 | 角色 | | 管理员 |
| addtime | timestamp | | 新增时间 | | CURRENT_TIMESTAMP |
表4-10 tousufankui(投诉反馈)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tousubianhao | varchar | 200 | 投诉编号 | | |
| biaoti | varchar | 200 | 标题 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| tousuneirong | longtext | 4294967295 | 投诉内容 | | |
| chulijieguo | longtext | 4294967295 | 处理结果 | | |
| fankuishijian | date | | 反馈时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-11 token(token表)
|------|----|----|------|----|-----|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
(续表)
|---------------|-----------|-----|------|----|-------------------|
| id | bigint | | 主键 | 主键 | |
| userid | bigint | | 用户id | | |
| username | varchar | 100 | 用户名 | | |
| tablename | varchar | 100 | 表名 | | |
| role | varchar | 100 | 角色 | | |
| token | varchar | 200 | 密码 | | |
| addtime | timestamp | | 新增时间 | | CURRENT_TIMESTAMP |
| expiratedtime | timestamp | | 过期时间 | | CURRENT_TIMESTAMP |
表4-12 weixiudan(维修单)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| goumairiqi | date | | 购买日期 | | |
| guzhangshuoming | longtext | 4294967295 | 故障说明 | | |
| shishishijian | date | | 实时时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-13 dianyuan(收银员)
|------------------|-----------|-----|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
(续表)
|------------------|----------|------------|-------|---|---|
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| mima | varchar | 200 | 密码 | | |
| xingbie | varchar | 200 | 性别 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| dianhuahaoma | varchar | 200 | 电话号码 | | |
表4-14 shouhouweixiu(售后维修)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| biaoti | varchar | 200 | 标题 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| weixiufanwei | longtext | 4294967295 | 维修范围 | | |
| xiangqing | longtext | 4294967295 | 详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-15 buhuotixing(补货提醒)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tixingbianhao | varchar | 200 | 提醒编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| muqianshuliang | varchar | 200 | 目前数量 | | |
| xiangqingbeizhu | longtext | 4294967295 | 详情备注 | | |
| tixingshijian | date | | 提醒时间 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
(续表)
|------------------|----------|------------|-------|---|---|
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| shhf | longtext | 4294967295 | 回复内容 | | |
表4-16 shidaijilu(试戴记录)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| shidaibianhao | varchar | 200 | 试戴编号 | | |
| fuwumingcheng | varchar | 200 | 服务名称 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| shidaishijian | date | | 试戴时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-17 shidaifuwu(试戴服务)
|-------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| fuwumingcheng | varchar | 200 | 服务名称 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
(续表)
|------------------|----------|------------|-------|---|---|
| fuwuxiangqing | longtext | 4294967295 | 服务详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-18 shidaidiaozheng(试戴调整)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| shidaibianhao | varchar | 200 | 试戴编号 | | |
| fuwumingcheng | varchar | 200 | 服务名称 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| diaozhengneirong | longtext | 4294967295 | 调整内容 | | |
| diaozhengshijian | date | | 调整时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4- 19 baoyangfuwu(保养服务)
|---------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| biaoti | varchar | 200 | 标题 | | |
| tupian | longtext | 4294967295 | 图片 | | |
(续表)
|------------------|----------|------------|-------|---|---|
| baoyangfanwei | longtext | 4294967295 | 保养范围 | | |
| xiangqing | longtext | 4294967295 | 详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-20 :yanguangshuju(验光数据)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| jilubianhao | varchar | 200 | 记录编号 | | |
| fuwumingcheng | varchar | 200 | 服务名称 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| yanguangshuju | longtext | 4294967295 | 验光数据 | | |
| jilushijian | date | | 记录时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-21 huiyuandingdan(顾客订单)
|-------------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
(续表)
|------------------|----------|------------|-------|---|-----|
| jifen | varchar | 200 | 积分 | | |
| jiage | double | | 价格 | | |
| shuliang | int | | 数量 | | |
| zhekou | double | | 折扣 | | |
| zongjine | double | | 总金额 | | |
| xiangguantupian | longtext | 4294967295 | 相关图片 | | |
| jiesuanshijian | date | | 结算时间 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| ispay | varchar | 200 | 是否支付 | | 未支付 |
表4-22 shangpinruku(商品入库)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| rukubianhao | varchar | 200 | 入库编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| shuliang | int | | 数量 | | |
| pinpai | varchar | 200 | 生产厂商 | | |
| xinghao | varchar | 200 | 生产时间 | | |
| guige | varchar | 200 | 规格 | | |
| yanse | varchar | 200 | 颜色 | | |
| caizhi | varchar | 200 | 体积 | | |
| rukushijian | date | | 入库时间 | | |
| xiangqing | longtext | 4294967295 | 详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-23 baoyangdan(保养单)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| goumairiqi | date | | 购买日期 | | |
| beizhu | longtext | 4294967295 | 备注 | | |
| shishishijian | date | | 实时时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-24 yanguangjilu(验光记录)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| jilubianhao | varchar | 200 | 记录编号 | | |
| fuwumingcheng | varchar | 200 | 服务名称 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| yanguangshijian | date | | 验光时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
(续表)
|------------------|---------|-----|-------|---|---|
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-25 huiyuan(顾客)
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| mima | varchar | 200 | 密码 | | |
| xingbie | varchar | 200 | 性别 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| dianhuahaoma | varchar | 200 | 电话号码 | | |
| dizhi | varchar | 200 | 地址 | | |
| huiyuandengji | varchar | 200 | 顾客等级 | | |
| zhekou | double | | 折扣 | | |
| jifen | int | | 积分 | | |
表4-26 shangpinpandian(商品盘点)
|-------------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| pandianbianhao | varchar | 200 | 盘点编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| shuliang | int | | 数量 | | |
| pandianshuliang | varchar | 200 | 盘点数量 | | |
| pinpai | varchar | 200 | 生产厂商 | | |
| xinghao | varchar | 200 | 生产时间 | | |
| guige | varchar | 200 | 规格 | | |
| yanse | varchar | 200 | 颜色 | | |
| caizhi | varchar | 200 | 体积 | | |
| pandianshijian | date | | 盘点时间 | | |
(续表)
|------------------|----------|------------|-------|---|---|
| xiangqing | longtext | 4294967295 | 详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-27 yanguangfuwu(验光服务)
|------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| fuwubianhao | varchar | 200 | 服务编号 | | |
| fuwumingcheng | varchar | 200 | 服务名称 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| fuwuneirong | longtext | 4294967295 | 服务内容 | | |
| fuwuxiangqing | longtext | 4294967295 | 服务详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-28 guangmingyanjingdian(商品信息管理)
|-------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| shangpinbianhao | varchar | 200 | 商品编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| jiage | double | | 价格 | | |
| shuliang | int | | 库存 | | |
| jifen | int | | 积分 | | |
(续表)
|------------------|----------|------------|--------|---|---|
| pinpai | varchar | 200 | 生产厂商 | | |
| xinghao | varchar | 200 | 生产时间 | | |
| guige | varchar | 200 | 规格 | | |
| yanse | varchar | 200 | 颜色 | | |
| caizhi | varchar | 200 | 体积 | | |
| yanjingxiangqing | longtext | 4294967295 | 商品详情 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| clicktime | datetime | | 最近点击时间 | | |
| clicknum | int | | 点击次数 | | 0 |
| storeupnum | int | | 收藏数 | | 0 |
表4-29 shangpinfenlei(商品分类)
|----------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
表4-30 weixiuwancheng(维修完成)
|-------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| weixiuzhuangtai | longtext | 4294967295 | 维修状态 | | |
| beizhu | longtext | 4294967295 | 备注 | | |
| wanchengshijian | date | | 完成时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
(续表)
|------------------|----------|------------|-------|---|---|
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
| shhf | longtext | 4294967295 | 回复内容 | | |
表4-31 gouwuche(购物车)
|-------------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| jifen | varchar | 200 | 积分 | | |
| jiage | double | | 价格 | | |
| goumaishuliang | int | | 购买数量 | | |
| zhekou | double | | 折扣 | | |
| zongjine | double | | 总金额 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| jiarushijian | date | | 加入时间 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| ispay | varchar | 200 | 是否支付 | | 未支付 |
表4-32 weixiujilu(维修记录)
|----------------|-----------|-----|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| dingdanbianhao | varchar | 200 | 订单编号 | | |
(续表)
|-------------------|----------|------------|-------|---|---|
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| zhuangtai | longtext | 4294967295 | 状态 | | |
| weixiushijian | date | | 维修时间 | | |
| huiyuanzhanghao | varchar | 200 | 顾客账号 | | |
| huiyuanxingming | varchar | 200 | 顾客姓名 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-33 shangpinchuku(商品出库)
|-------------------|-----------|------------|-------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| chukubianhao | varchar | 200 | 出库编号 | | |
| shangpinmingcheng | varchar | 200 | 商品名称 | | |
| shangpinfenlei | varchar | 200 | 商品分类 | | |
| shuliang | int | | 数量 | | |
| pinpai | varchar | 200 | 生产厂商 | | |
| xinghao | varchar | 200 | 生产时间 | | |
| guige | varchar | 200 | 规格 | | |
| yanse | varchar | 200 | 颜色 | | |
| caizhi | varchar | 200 | 体积 | | |
| chukushijian | date | | 出库时间 | | |
| xiangqing | longtext | 4294967295 | 详情 | | |
| dianyuanzhanghao | varchar | 200 | 收银员账号 | | |
| dianyuanxingming | varchar | 200 | 收银员姓名 | | |
表4-34 gongyingshang(供应商)
|------|--------|----|------|----|-----|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
(续表)
|------------------------|-----------|------------|-------|---|-------------------|
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| gongyingshangmingcheng | varchar | 200 | 供应商名称 | | |
| lianxifangshi | varchar | 200 | 联系方式 | | |
| dizhi | varchar | 200 | 地址 | | |
| gonghuoqingkuang | longtext | 4294967295 | 供货情况 | | |
| gongyingshangxiangqing | longtext | 4294967295 | 供应商详情 | | |
系统实现
系统实现章节是软件开发过程中的核心环节,它标志着从理论设计迈向实际编码的重要跨越。本章节聚焦于将详尽的系统分析与精心的设计方案转化为可运行的软件系统。通过细致划分系统角色,我们逐一介绍并实现了每个角色的专属功能,确保系统能够满足用户的多元化需求。在这一阶段,开发人员紧密协作,将前期的分析成果与设计方案转化为一行行代码,通过不断的测试与优化,最终打造出既符合业务逻辑又具备良好用户体验的软件系统。这一过程不仅考验着开发者的技术实力,更体现了对用户需求深刻洞察与精准把握的能力。
5.1 用户权限模块
该模块构成系统的访问控制基础,负责管理用户身份认证与权限分配。系统采用三级角色体系(顾客、收银员、管理员),用户通过手机号或邮箱完成注册流程。该模块主要分为以下部分进行实现:
5.1.1 登录实现
本系统基于Spring Security框架构建身份认证体系,需要首先添加相关依赖,创建 UserDetailsService 实现类,其主要用于从数据库中加载用户信息,创建 SecurityConfig 配置类,启用 Spring Security 并配置安全规则。最后创建一个过滤器类 JwtAuthenticationFilter,用于拦截请求并验证 Token。
用户提交登录请求后,Spring Security 将请求交给JwtAuthenticationFilter过滤器处理,用于拦截请求,JwtAuthenticationFilter获取请求中的用户名和密码,并生成一个 AuthenticationToken对象,将其交给AuthenticationManager进行认证。
AuthenticationManager通过UserDetailsService获取用户信息,然后使用 PasswordEncoder对用户密码进行校验。
如果密码正确,AuthenticationManager 会生成一个认证通过的Authentication对象,并返回给JwtAuthenticationFilter过滤器。
如果密码不正确,则 AuthenticationManager抛出一个AuthenticationException异常。JwtAuthenticationFilter 将 Authentication对象交给 SecurityContextHolder 进行管理,并调用 AuthenticationSuccessHandler 处理认证成功的情况。
针对每个受限资源或操作,可以配置相应的权限要求。Spring Security会根据配置的权限要求,检查当前用户所拥有的角色和权限,判断是否满足访问条件。
登录模块页面设计如图5-1所示:

注册实现
系统中注册主要为用户的注册,为了保护数据的安全,我们对收银员这个角色只能通过管理员进行后台添加,不能通过前台页面进行收银员角色的创建。因此在本模块主要讲解系统中用户注册功能的实现。系统中的注册功能主要是在UsersController.java和YonghuController.java中实现的,对应用户角色的注册逻辑。在注册接口(UsersController.java)中的关键方法:@PostMapping("/register")来接受前端注册请求。使用ValidatorUtils.isUsernam-eValid()来校验用户名合法性,ValidatorUtils.isPasswordValid()校验密码合法性,userService.selectOne()查询用户名是否已存在。最后使用userService.insert()来将用户的数据写入数据库,使用R.ok()返回统一格式响应给前端。
为了确保用户注册流程的顺利进行,系统采用了多种验证机制。首先,前端页面会收集用户的注册信息,包括用户名和密码。这些信息通过HTTP POST请求发送到后端的注册接口。在后端,@PostMapping("/register")方法负责接收和处理这些注册请求。为了保证用户名和密码的格式正确,系统使用了ValidatorUtils工具类中的isUsernam-eValid()和isPasswordValid()方法进行验证。如果用户名或密码格式不正确,系统会返回相应的错误信息。此外,为了防止用户名重复,系统使用userService.selectOne()方法查询数据库中是否已经存在该用户名。如果用户名已存在,系统会提示用户选择其他用户名。如果所有验证都通过,系统将使用userService.insert()方法将用户数据插入数据库,并使用R.ok()返回成功响应给前端。注册页面如图5-2所示。

系统功能实现
5.2.1 顾客功能模块实现
用户浏览该网站时首当其冲映入眼帘的是起始页面,这一界面下访客能方便地找到像佳新超市管理系统指引栏、滚动图等相关组件,如图5-3所示:


管理员模块实现
用户想进后台界面之前得先挑好身份角色才能开始登录流程并准确填入对应的用户标识和密码信息,审核通过后操作系统就给用户进入的许可从而能做相应操控和维护任务。如图5-5所示:

商品入库管理:在商品入库管理页面可以查看商品入库详细信息,可以增加、删除商品入库信息,且还有搜索引擎,可以搜索某一个特定的商品入库信息;如图5.11所示。

收银员模块实现
收银员借助主页平台能高效完成多样化操作,涵盖个人中心及商品盘点管理,顾客订单,补货提醒,客户投诉及反馈,售后回访。如图5-12所示:

结 论
本论文聚焦于基于Spring Boot框架的佳新超市管理系统的开发与实践,旨在通过信息化手段优化管理流程,提升效率。在项目实施过程中分析了超市顾客管理管理的实际需求,结合Spring Boot的轻量级、快速开发特性,构建了一个功能全面、操作便捷的管理系统。该系统实现了个人中心、收银员及顾客管理、留言板反馈、以及系统管理等功能。通过系统的测试与应用,证明了该系统在提升超市顾客管理管理方面的水平。
尽管当前佳新超市管理系统已取得了显著成效,但随着管理要求的日益提高,系统仍需持续优化与升级。未来将进一步探索智能化技术在超市顾客管理管理中的应用,如利用物联网技术,运用大数据分析优化系统。同时加强系统的安全性与稳定性建设,确保数据的安全传输与存储,防止信息泄露与系统故障。