随着互联网技术的飞速发展,各行各业都在逐步实现信息化和网络化,烟草行业也不例外。传统的烟草订购流程涉及多个环节,从生产商到批发商再到零售商,每一环节都需要大量的人工操作和纸质文件,这不仅增加了交易的时间成本,也提高了出错的概率。此外,由于缺乏有效的信息共享机制,供应链各方难以实时掌握市场需求和库存状况,导致资源配置不够高效。为了提高烟草行业的流通效率,降低运营成本,并满足市场监管的需求,开发一个烟草订购系统显得尤为重要。
本文档详细阐述了一个基于 B/S 架构的烟草订购系统的设计与实现过程。系统采用 Java 语言开发,后端使用 SpringBoot 框架,前端采用 Vue.js 技术,数据库选用 MySQL。系统分为管理员、用户和商家三大角色,涵盖了完整的电商业务流程与后台管理功能。
系统功能清单
用户管理相关功能
- 用户注册与登录
- 个人中心信息维护
- 密码修改
- 用户资料管理
商品管理相关功能
- 商品信息浏览与查询
- 商品详情查看(含商品编号、名称、烟料、图片、分类、品牌、生产日期、生产厂家、价格等信息)
- 商品点赞与踩功能
- 商品收藏功能
- 商品评论与回复
- 商品分类管理
- 品牌管理
- 商品入库管理
购物车与订单相关功能
- 添加商品到购物车
- 购物车商品数量调整
- 立即购买功能
- 订单提交与生成
- 订单支付处理
- 订单状态跟踪
- 订单审核管理
- 物流信息查看
- 收货地址管理(添加、修改、删除、设置默认地址)
- 我的订单查询
商家管理相关功能
- 商家注册与登录
- 商家信息维护(店铺名称、联系人、联系方式、经营范围、店铺地址、烟草许可证等)
- 商家审核状态管理
- 商家余额管理
系统管理相关功能
- 管理员登录
- 用户管理(查询、修改、删除)
- 商家管理(审核、查询、修改、删除)
- 商品信息管理(查询、修改、删除)
- 商品分类管理(查询、添加、修改、删除)
- 品牌管理(查询、添加、修改、删除)
- 商品入库管理(查询、添加)
- 订单管理(查询、审核、物流管理)
- 在线留言管理(查看、回复、修改、删除)
- 烟草资讯管理(分类管理、资讯发布、编辑、删除)
- 系统简介设置
- 关于我们设置
- 配置文件管理
- 轮播图管理
互动功能
- 在线留言(发布留言、上传图片、查看回复)
- 烟草资讯浏览(查看资讯分类、阅读资讯、点赞、收藏、评论)
- 资讯分类查询
其他功能
- 系统首页导航
- 商品搜索(按商品名称、价格筛选)
- 商品推荐展示
- 个人收藏管理
- 余额充值与消费
系统设计
4.1 系统体系结构
烟草订购系统的结构如图所示:

登录系统结构如图:

4.2 系统总功能结构设计
系统按照用户的实际需求开发而来,贴近生活。从管理员通过正确的账号的密码进入系统,可以使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员用户、和商家三大角色,系统管理员有最大的权限,整体功能展示如图:

4.3 开发流程设计
系统开发流程的分析是一个至关重要的过程,它是指通过系统的设计开发目的初衷、面向使用用户的范围、系统运行和操作的安全性、各种问题的处理以及后台数据的分析能力等各个角度,来对烟草订购系统进行设计、开发、搭建和调节,以保证该系统能够顺利的完成,达到预期的工作状态。上述每个环节、每个步骤一开始就要下足功夫,从各个方面、各个角度进行调查研究,进行大量的测试和评估,来保证烟草订购系统的正常和该系统的后台数据库的完整性以及安全性,从而把控系统所包含信息的安全性、确保信息进入、出口顺利过渡。然后,对系统和数据进行操作和分析,根据每一步的执行步骤,完成信息的流程图制作过程。
系统的开发对管理模型和系统应用中的数据库进行了分类,创建代码,以及系统测试,如图:

4.4 数据库设计原则
学习程序设计,如果要了解数据库管理系统或者是根据需求而制定的系统接口,就必须创建一种数据库管理系统的模式,用来保存数据资料,这样当在应用编程过程中时候,就不需要再向操作系统页面上加载信息,进而增加了整个系统的工作效率。信息库管理系统中保存着许多数据,应该说是一个管理信息系统建设的中心和基础,而信息库管理系统也为管理信息系统建设提出了新增、删除、更改和搜索的操作功能,使管理信息系统建设能够迅速地查询所需要的数据,而不会直接从程序代码中查找。信息库管理系统通过将信息表的各个组成部分按照特定的方法准确地合并,排序和组成信息库管理系统。
通过对烟草订购系统的主要功能信息进行规划并分为若干功能实体信息,实体信息将使用 E-R 图加以表示,将'用户、商家、商品入库、烟草资讯、订单、购物车'等作为实体,它们的局部 E-R 图,如图:

系统详细设计
5.1 前台功能实现
5.1.1 首页页面功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过点击导航条上的个人中心等功能进入各详细页面进行操作。系统首页界面如图:

在注册流程中,用户在 Vue 前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过 HTTP 请求发送到 Java 后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入 MySQL 数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图:

商品信息:在商品信息页面输入商品名称、价格进行查询商品详细信息,并进行赞、踩、添加到购物车、立即购买、评论或收藏操作;如图:

在线留言:在线留言模块在 Vue 前端允许用户选择并添加留言信息到在线留言。这些信息通过 HTTP 请求发送到 Java 后端,后端处理这些请求并在 MySQL 数据库中更新用户的在线留言内容。用户可以回复留言内容和上传图片。如图:

5.1.2 个人中心页面实现
个人中心:在个人中心页面可以对个人中心、修改密码、我的订单、我的地址、我的收藏进行详细操作;如图:

5.2 后台模块实现
在登录流程中,用户首先在 Vue 前端界面输入用户名和密码。这些信息通过 HTTP 请求发送到 Java 后端。后端接收请求,通过与 MySQL 数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图:

5.2.1 管理员功能实现
管理员进入主页面,主要功能包括用户、商品信息、商品分类、品牌、商品入库、商家、在线留言、系统管理、订单管理、用户资料等进行操作。管理员主页面如图:

商品分类:在商品分类页面输入商品分类进行查询、添加或删除商品分类列表,并对商品分类详细信息进行查看、修改或删除操作;如图:

品牌:在品牌页面输入品牌进行搜索、新增或删除品牌列表,并对品牌详细信息进行查看、修改或删除操作;如图:

在线留言功能在视图层(view 层)进行交互,比如点击'搜索或删除'按钮或填写在线留言信息表单。这些在线留言表单动作被视图层捕获并作为请求发送给相应的控制器层(controller 层)。控制器接收到这些请求后,调用服务层(service 层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO 层)交互,后者负责具体的数据操作如查看、回复、修改或删除在线留言信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便在线留言功能可以看到最新的信息或相应的操作反馈。如图:

5.2.2 商家功能实现
商家进入主页面,主要功能包括商品信息、商品分类、品牌、商品入库、订单管理、用户资料等进行操作。商家主页面如图:



