源码获取:我的博客资源页面可以下载!!!!
项目名称
springBoot redis开发的Java快递代拿系统(含人脸识别,验证码登录)
系统介绍
快递代拿系统
该项目使用当前最为流行的 SpringBoot 框架,相关技术栈全面更新!是您深入学习 SpringBoot 开发的最佳实践! 相关技术栈
前端: Thymeleaf、Bootstrap、Ajax、JQuery
开发环境: IDEA 、SpringBoot 2.1、Maven
数据库与缓存:MySQL 5.7、Redis、Guava Cache
三方服务:腾讯云短信服务、支付宝支付(沙箱)、百度人脸识别
安全框架:Spring Security
其他技术:API 接口限速、二级缓存 主要功能
登陆与注册: 用户名密码、短信验证码、人脸识别登录、QQ登录
权限: 普通用户、配送员、后台管理员
普通用户:下单支付、订单查询、意见反馈、订单评价
配送员:接单、订单管理、意见反馈、订单评价
系统管理员:用户管理、订单管理、反馈管理
管理员账号:admin1 密码:123 普通用户: user1 密码:123 配送员: courier1 密码:123 项目运行
必读
为最大限度降低大家学习门槛,公开提供了支付宝支付和QQ登录的配置信息,也就说以下配置流程中你可以略去支付宝配置和QQ登录配置,使用默认配置即可。
百度人脸登录和短信登录由于涉及隐私和费用问题,不予公开,需要大家自己按照流程去申请。 数据库配置【必须】
本地安装 MySQL 环境,所需版本为 5.7+
创建数据库名为 express
,数据库编码采用 utf8mb4
,排序规则为 utf8mb4_general_ci
CREATE DATABASE IF NOT EXISTS express default charset utf8mb4 COLLATE utf8mb4_general_ci;
导入项目中 /src/main/resources/db/express.sql
到 express
库
编辑项目中 application.yml
文件,修改数据库连接信息
datasource:driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改# 数据库连接URL,以下为连接本地的express库的urlurl: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8username: # 数据库连接名password: # 数据库连接密码
Redis配置【必须】
本地安装 Redis 环境,如果你使用的是 Windows 平台,请[点击这里]()下载 Windows 版本。
修改 application.yml
文件,修改Redis连接信息
redis:host: 127.0.0.1 # Redis地址,本地为127.0.0.1port: 6379 # Redis端口号,默认为6379password: # Redis密码,没有请保持为空...
修改logback-spring.xml文件中日志的路径【必须】
支付宝支付【默认已配置,可跳过】
支付宝支付为快递下单的支付方式,因此必须配置,这里采用支付宝的沙箱模式,配置完毕后,修改 application.yml
文件:
alipay:uid: # 商户UIDapp-id: # APPIDsign-type: RSA2gateway-url: https://openapi.alipaydev.com/gateway.do # 支付宝网关merchant-private-key: # 商户私钥,使用密钥生成工具得到alipay-public-key: # 支付宝公钥notify-url: ${server.addr}/order/alipay/notify # 支付异步通知URL,需公网能够访问return-url: ${server.addr}/order/alipay/return # 同步通知URL,无需公网访问
其中 notify-url
和 return-url
为支付宝的支付同步回调和异步回调,请根据自己需求修改 Url 前缀即可,即 ${server.addr}
部分。
例如,当你处于本地启动,端口号为 8080 时,notify-url
和 return-url
保持不变,可以接受到同步回调,但是无法接收异步回调。
详细流程请参考文章:[Java Web中接入支付宝支付]()
QQ 登录【默认已配置,可跳过】
如需配置QQ登录功能,请按以下步骤操作:
(1)登录[QQ互联管理中心](),创建 网站应用。
(2)网站地址为程序配置文件中配置的 server.add
属性,例如本地启动,且端口号为 8080 时,则填写为:
http://127.0.0.1:8080
(3)网站回调域为${server.addr}/auth/third-login/qqCallback
,当本地启动,且端口号为8080时,填写为:
http://127.0.0.1:8080/auth/third-login/qqCallback
(4)点击创建应用按钮即可。即使提示正在审核,或者审核失败也可以正常使用,仅限申请者的QQ号登录。
(5)修改 application.yml
文件,将 app-id
和 app-key
替换为创建应用时得到的即可:
third-login:qq:app-id: # APP_IDapp-key: # APP_KEY
详细流程请参考文章:[Web三方登录实现(基于OAuth2.0,包含Github和QQ登录,附源码)]()
短信登录【可选】
(1)登录[腾讯云短信服务]()
(2)根据[官方指南](),成功创建应用、短信签名和短信正文后,编辑 application.yml
文件:
sms:app-id: # 应用 SDK AppIDapp-key: # 应用 App Keytemplate-id: # 短信正文IDsign: # 短信签名
(3)application.yml
中,还有两项是控制短信的发送间隔,以及短信的有效时间,请合理配置
sms:# 短信发送分钟间隔interval-min: 1# 短信有效分钟valid-min: 5
注意事项
sms.sign
必须为经过审核的短信签名,否则可能会导致发送失败
短信正文设置建议参考以下,这是因为程序中限定了发送短信时参数一为短信验证码,参数二为过期时间。如果你想改变参数的个数或顺序,请修改com.example.express.service.impl.SmsServiceImpl#send
方法。
{1}为您的登录验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。
人脸登录【可选】
登录[百度人脸识别]()
创建应用后,修改application.yml
文件,复制应用的 AppID
、API Key
、Secret Key
到相对应项。
conn-timeout
和 socket-timeout
为连接超时时间,如无特殊需求,保持默认值即可。
accept-score
为最低被接受的置信分数,该分数用于人脸登录,只有置信分到达阈值时才能登录成功。如无特殊需求,保持在90以上即可。
datasource:driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改# 数据库连接URL,以下为连接本地的express库的urlurl: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8username: # 数据库连接名password: # 数据库连接密码0
疑问解答
请您仔细阅读 项目运行 章节,确认已经仔细阅读情况下,仍存在疑问的请联系售后客服。
高清视频:
https://www.bilibili.com/video/BV1ba411j7uY/
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。\ 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;\ 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可\ 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; \ 5.数据库:MySql 5.7版本;\ 6.是否Maven项目:否;
技术栈
后端:Spring+SpringMVC+Mybatis\
前端:JSP+CSS+JavaScript+jQuery
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;\
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;\ 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;\
将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;\
运行项目,在浏览器中输入http://localhost:8080/ 登录
运行截图
用户管理控制层:
datasource:driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改# 数据库连接URL,以下为连接本地的express库的urlurl: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8username: # 数据库连接名password: # 数据库连接密码1
管理员管理控制层:
datasource:driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改# 数据库连接URL,以下为连接本地的express库的urlurl: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8username: # 数据库连接名password: # 数据库连接密码2
修改密码业务逻辑:
datasource:driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改# 数据库连接URL,以下为连接本地的express库的urlurl: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8username: # 数据库连接名password: # 数据库连接密码3
通用管理模块:
datasource:driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改# 数据库连接URL,以下为连接本地的express库的urlurl: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8username: # 数据库连接名password: # 数据库连接密码4
源码获取:我的博客资源页面可以下载!!!!
原文:https://juejin.cn/post/7103381086985682957