系统说明
系统名称
基于Spring Boot的卡密销售系统
系统开发环境
- Spring Boot 2.3.7
- Mybatis Plus 3.4.2
- Mysql 5.6.42
- Alipay-sdk 3.1.0
- Google-zxing 3.3.0
- Jquery 2.1.4
- Layui 2.2.2
系统功能设计
分类管理模块
- 新增分类:
管理员可以通过输入分类名称、分类简称、分类图片、分类排序信息来新增分类。 - 删除分类:
管理员可以删除指定的分类信息,但是删除之前必须先删除该分类对应的商品信息和卡密信息。 - 编辑分类:
管理员可以编辑分类名称、分类简称、分类图片,分类排序信息。 - 查询分类:
管理员可以通过输入关键字来查询相关的分类信息。
商品管理模块
- 新增商品:
管理员可以通过输入商品名称、商品价格、商品图片、商品介绍等信息来新增商品。 - 删除商品:
管理员可以删除指定的商品信息,但是删除之前必须先删除该商品对应的卡密信息。 - 编辑商品:
管理员可以编辑商品名称、商品所属分类、商品价格,商品介绍等信息。 - 查询商品:
管理员可以通过输入关键字来查询相关的商品信息。
管理员管理模块
- 新增管理员:
管理员可以通过输入管理员和密码,就可以实现管理员添加。 - 删除管理员:
管理员可以删除指定的卡密信息,但是只能删除为销售出去的卡密信息。 - 编辑管理员:
管理员可以其他管理员的信息进行编辑,可以修改密码 - 查询管理员:
管理员可以输入普通管理员账号查询其他管理员的信息。 - 权限授予:
管理员可以修改普通管理员的权限信息。
卡密管理模块
- 新增卡密:
管理员可以通过选择所属商品、然后按行写入卡密的账号和密码,实现卡密新增。 - 删除卡密:
管理员可以删除指定的卡密信息,但是只能删除为销售出去的卡密信息。 - 查看卡密:
管理员可以点击详情,查看到每一个卡密的具体信息,包括状态,所属商品等。 - 查询卡密:
管理员可以通过下拉框选择查看某类商品的卡密信息,也可以查看所有卡密的信息。
代理管理模块
- 新增代理:
管理员可以通过输入用户和邮箱,就可以实现代理添加。 - 删除代理:
管理员可以删除指定的代理信息。 - 编辑代理:
管理员可以编辑指定的代理信息,修改代理的密码或邮箱等。 - 代理加款:
管理员可以点击加款按钮,为代理进行充值。 - 查询代理:
管理员可以通过输入代理的用户名或者编号搜索指定的代理。 - 充值记录:
管理员可以在充值记录页面,查看到所有代理的充值记录,显示出充值金额,充值方式,充值时间等。 - 自助提卡:
代理通过代理账号登录系统之后,代理可以选择想要提取的商品卡密,进行自助提卡。 - 自助充值:
代理通过代理账号登录系统之后,代理可以自助输入想要充值的金额,进行自助充值。
订单管理模块
- 查询订单:
管理员可以通过输入订单号或者联系方式查询订单,显示所有订单的详情。 - 订单详情:
管理员可以在订单详情页面查看到当前订单的具体详情,包括联系方式,支付方式,支付状态等。
系统管理模块
常用设置
- 基本设置
管理员可以对网站名称、网站域名、网站logo、首页显示模式进行编辑。 - SEO设置
管理员可以对网站关键词、网站描述进行编辑。 - 代理设置
管理员可以对代理开通的价格进行设置。 - 支付方式
管理员可以对购买商品的支付方式进行设置,包括微信支付、支付宝支付、QQ支付。 - 邮箱设置
管理员可以设置邮箱信息,包括邮箱服务器,是否启用邮箱发卡,邮箱账号,邮箱密码等。 - 其他设置
管理员可以设置网页的统计代码,首页公告,商品页公告。
支付接口
管理员可以在支付接口页面设置支付接口的方式,可以是支付宝官方接口,也可以是易支付接口。对支付宝接口进行配置,包括商户ID,商户私钥,商户公钥等;对易支付配置商户ID,通信秘钥和token。
修改密码:
管理员可以在修改密码页面输入原密码,新密码进行账号密码修改。
友情链接模块:
- 链接添加
管理员可以输入站点名称,站点地址,排列顺序实现友情链接添加。 - 链接删除
管理员可以删除指定的友情链接。 - 链接修改
管理员可以对指定的友情链接信息进行编辑。 - 链接查询
管理员可以输入站点名称查询到某个站点的信息。
系统后台功能结构图
总结篇
这个学期学习了WEB应用案例开发这一门课,以上学期所学的Java Servlet为基础开始,将一个由Servlet开发的网站一步步转换成当前主流的Spring Boot技术。
Mybatis框架
在这个过程中,我们先从数据库持久层开始,学习了MyBatis框架。Mybatis框架主要是帮助我们实现了代码与Sql语句的分离。省去我们重复编写访问数据库jdbc的过程,直接传入SQL语句,直接获取SQL语句执行结果,还使用了连接池、缓存池等技术,帮助我们逐步优化了访问数据库的步骤。
Spring框架
接下来开始学习Spring框架,Spring框架中有两个重要的点,一个是控制反转,又称为依赖注入,可以通过这一个技术,将我们编写好的JAVA bean注入到Spring容器当中,Spring容器帮助我们实现java对象的创建。我们可以直接使用我们写好的对象。Spring框架中的另外一点就是面向切面编程,简称AOP,AOP中也有几个重要的概念,切面,连接点,切点,目标对象,织入,增强(前置增强,后置增强)。
SSM框架
在掌握Spring框架之后,我们就开始学习SSM框架,SSM框架中包括三个框架,分别是Spring框架,Spring MVC 框架,MyBatis框架。就是把之前所学习过的两个框架结合起来,再加入Spring MVC框架。其中有一个概念,就是三层分层架构。第一层是控制层(Controller),主要作用是用来接收用户请求的参数,返回对应结果给用户。第二层是服务层(Service),主要作用是连接数据层与控制层,对业务进行处理。第三层就是数据层(Data Access Object),实现方式就是MyBatis框架,其作用就是用于和数据库连接,获取数据库的数据。
Maven
然后我们又发现,我们经常需要从网上去寻找各种各样的jar包,非常的不方便,所以我们又学习了maven技术,通过在电脑上安装maven,实现了对各种jar包的统一管理,其中有两个重要概念,就是中央仓库与本地仓库。Maven原始的中央仓库是处于国外的,所以有时候可能有由于网络原因等无法下载到我们想要的jar包,所以我们将中央仓库改成了阿里云的仓库,这样下载速度就变快了很多。由于maven本地仓库默认的jar包是存在C盘的用户目录中的,所以我还把默认的存在位置改到了其他盘符。Maven的jar包中有个坐标的概念,通过groupid和artifactid就可以定位到某一个jar包。
SpringBoot
通过SSM框架,我们就可以实现把我们Servlet技术转换成SSM框架格式的网站,但是我们还发现,使用SSM框架还是存在一些不足,就是需要编写大量的配置文件,太多的话经常会记不住。所以接下来我们学习了Spring Boot技术。Spring Boot简化了配置文件的编写,只有一个配置文件,其他的全是自动装配,就非常的方便,而且Spring Boot中还有个特有技术,一个是异步任务技术,异步任务技术主要是用于处理一些耗时的任务,比如使用邮件发现验证码这些功能。还有一个是定时任务技术,定时任务中有一个表达式,叫做cron表达式,通过这个表达式,可以设置我们定时任务的时间间隔。
总结
在学习了以上这些当前主流的技术之后,我们还需要学习一些前端方面的知识,我也没有落下,主要去阅读了Layui的官方文档,学习了前后端分离的Jwt,Vue这些技术。真就是越学越觉得自己学得太少了,这学期的项目,以一个在线卡密销售系统而结尾,融合了这个学期所学习的各种框架,各种技术,真的是收获满满。
界面效果