## 快递代拿系统
> 该项目基于[[express-ssm]](https://github.com/jitwxs/express-ssm) 项目全面升级,使用当前最为流行的 SpringBoot 框架,相关技术栈全面更新!是您深入学习 SpringBoot 开发的最佳实践!
### 相关技术栈
1. **前端:** Thymeleaf、Bootstrap、Ajax、JQuery
2. **开发环境:** IDEA 、SpringBoot 2.1、Maven
3. **数据库与缓存**:MySQL 5.7、Redis、Guava Cache
4. **三方服务**:腾讯云短信服务、支付宝支付(沙箱)、百度人脸识别
5. **安全框架**:Spring Security
6. **其他技术**:API 接口限速、二级缓存
### 主要功能
1. **登陆与注册:** 用户名密码、短信验证码、人脸识别登录、QQ登录
2. **权限:** 普通用户、配送员、后台管理员
3. **普通用户**:下单支付、订单查询、意见反馈、订单评价
4. **配送员**:接单、订单管理、意见反馈、订单评价
5. **系统管理员**:用户管理、订单管理、反馈管理
### 默认用户
当您运行初始脚本后,默认存在以下用户,便于测试:
|登录名|密码|用户角色|
|:----:|:---:|:-----:|
|user1|123|普通用户|
|user2|123|普通用户|
|courier1|123|配送用户|
|admin1|123|管理员|
### 项目运行
#### 必读
为最大限度降低大家学习门槛,公开提供了**支付宝支付**和**QQ登录**的配置信息,也就说以下配置流程中你可以略去支付宝配置和QQ登录配置,使用默认配置即可。
百度人脸登录和短信登录由于涉及隐私和费用问题,不予公开,需要大家自己按照流程去申请。
#### 配置文件初始化
本项目支持多环境配置,由于牵扯隐私,dev 环境和 prod 环境的配置文件没有上传到仓库中,因此当你 clone 项目后,新建配置文件 `application-dev.yaml`,并将 `application-test.yaml`内容复制进去。
后续配置修改只需修改 `application-dev.yaml` 即可。
#### 数据库配置【必须】
1. 本地安装 MySQL 环境,所需版本为 `5.7+`
2. 创建数据库名为 `express`,数据库编码采用 `utf8mb4`,排序规则为 `utf8mb4_general_ci`
```
CREATE DATABASE IF NOT EXISTS express default charset utf8mb4 COLLATE utf8mb4_general_ci;
```
3. 导入项目中 `/src/main/resources/db/express.sql` 到 `express`库。
**注:不要使用 Navicat 等图形化导入工具(会导致导入失败),请使用 source 命令!!**
```powershell
use express; # 选择数据库
source /your/path/express.sql; # Source 导入
```
4. 编辑 `application-dev.yaml` 文件,修改数据库连接信息。
```yaml
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,无需修改
# 数据库连接URL,以下为连接本地的 express 库的 url 示例
url: jdbc:mysql://localhost:3306/express?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
username: root # 数据库连接名
password: root # 数据库连接密码
```
#### Redis配置【必须】
1. 本地安装 Redis 环境,如果你使用的是 Windows 平台,请[点击这里](<https://github.com/MicrosoftArchive/redis/releases>)下载 Windows 版本。如果是 Linunx or Mac 系统,请自行百度即可。
2. 编辑 `application-dev.yaml` 文件,修改 Redis 连接信息。
```yaml
redis:
host: 127.0.0.1 # Redis地址,本地为127.0.0.1
port: 6379 # Redis端口号,默认为6379
password: # Redis密码,没有请保持为空
...
```
#### 支付宝支付【默认已配置,可跳过】
支付宝支付为快递下单的支付方式,因此必须配置,这里采用支付宝的沙箱模式:
```yaml
alipay:
uid: # 商户UID
app-id: # APPID
sign-type: RSA2
gateway-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中接入支付宝支付](<https://blog.csdn.net/yuanlaijike/article/details/80575513>)
#### QQ 登录【默认已配置,可跳过】
如需配置QQ登录功能,请按以下步骤操作:
(1)登录[QQ互联管理中心](<https://connect.qq.com/manage.html#/>),创建 **网站应用**。
(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-dev.yaml` 文件,将 `app-id` 和 `app-key` 替换为创建应用时得到的即可:
```yaml
third-login:
qq:
app-id: # APP_ID
app-key: # APP_KEY
```
> 详细流程请参考文章:[Web三方登录实现(基于OAuth2.0,包含Github和QQ登录,附源码)](<https://blog.csdn.net/yuanlaijike/article/details/80413181>)
#### 短信登录【可选】
(1)登录[腾讯云短信服务](<https://console.cloud.tencent.com/sms>)
(2)根据[官方指南](<https://cloud.tencent.com/document/product/382/18061>),成功**创建应用**、**短信签名**和**短信正文**后,编辑 `application.yaml`文件:
```yaml
sms:
app-id: # 应用 SDK AppID
app-key: # 应用 App Key
template-id: # 短信正文ID
sign: # 短信签名
```
(3)`application-dev.yaml` 中,以下两项是控制短信的发送间隔和短信的有效时间,请合理配置。
```yaml
sms:
# 短信发送分钟间隔
interval-min: 1
# 短信有效分钟
valid-min: 5
```
**注意事项**
1. `sms.sign` 必须为经过审核的短信签名,否则可能会导致发送失败
2. 短信正文设置建议参考以下,这是因为**程序中限定了发送短信时参数一为短信验证码,参数二为过期时间**。如果你想改变参数的个数或顺序,请修改`com.example.express.service.impl.SmsServiceImpl#send`方法。
```
{1}为您的登录验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。
```
#### 人脸登录【可选】
1. 登录[百度人脸识别](<https://cloud.baidu.com/product/face>)
2. 创建应用后,修改`application-dev.yaml`文件,复制应用的 `AppID`、`API Key`、`Secret Key`到相对应项。
3. `conn-timeout` 和 `socket-timeout` 为连接超时时间,如无特殊需求,保持默认值即可。
4. `accept-score` 为最低被接受的置信分数,该分数用于人脸登录,只有置信分到达阈值时才能登录成功。如无特殊需求,保持在90以上即可。
```yaml
baidu:
aip:
app-id: # 应用 APPID
app-key: # 应用API KEY
secret-key: # 应用 Secret Key
conn-timeout: 2000 # 连接超时ms,默认 2000
socket-timeout: 60000 # socket超时ms,默认60000
# 最低被接受的人脸置信分数[1,100],分数越高,要求越严格,也越准确。
accept-score: 90
```
### 疑问解答
1. 请您仔细阅读 **项目运行** 章节,**确认已经仔细阅读情况下**,仍存在疑问的。
2. 请提 issue,如需要添加附件、程序等其他 issue 无法较好解决的疑�
没有合适的资源?快使用搜索试试~ 我知道了~
express:快递代拿系统,SpringBoot的最佳实践
共217个文件
java:126个
html:33个
js:13个
5星 · 超过95%的资源 需积分: 45 8 下载量 155 浏览量
2021-03-11
19:17:17
上传
评论 1
收藏 2.57MB ZIP 举报
温馨提示
快递代拿系统 该项目基于项目全面升级,使用最新最流行的SpringBoot框架,相关技术栈全面更新!是您深入学习SpringBoot开发的最佳实践! 相关技术栈 前端: Thymeleaf,Bootstrap,Ajax,JQuery 开发环境: IDEA,SpringBoot 2.1,Maven 数据库与缓存:MySQL 5.7,Redis,Guava Cache 三方服务:腾讯云短信服务,支付宝支付(沙箱),百度人脸识别 安全框架:Spring Security 其他技术:API接口限速,二级缓存 主要功能 登陆与注册:用户名密码,短信验证码,人脸识别登录,QQ登录 权限:普通用户,配送员,后台管理员 普通用户:下单支付,订单查询,意见反馈,订单评价 配送员:接单,订单管理,意见反馈,订单评价 系统管理员:用户管理,订单管理,反馈管理 默认用户 当您运行初始脚本后,默认存在以下用户,适当
资源详情
资源评论
资源推荐
收起资源包目录
express:快递代拿系统,SpringBoot的最佳实践 (217个子文件)
bootstrap.min.css 118KB
layer.css 14KB
bootstrap-table.css 7KB
layer.css 5KB
star-rating.min.css 2KB
login.css 2KB
register.css 942B
completeInfo.css 734B
express.css 481B
404.css 339B
glyphicons-halflings-regular.eot 20KB
loading-0.gif 6KB
loading-2.gif 2KB
loading-1.gif 701B
.gitattributes 30B
.gitignore 350B
info.html 40KB
info.html 37KB
order.html 30KB
feedback.html 28KB
info.html 28KB
history.html 27KB
history.html 24KB
feedback.html 19KB
user.html 14KB
register.html 14KB
recycle.html 13KB
recycle.html 13KB
completeInfo.html 12KB
login.html 12KB
feedback.html 12KB
order.html 10KB
order.html 9KB
payment.html 9KB
evaluate.html 5KB
evaluate.html 5KB
dashboard.html 3KB
dashboard.html 3KB
dashboard.html 3KB
error.html 3KB
500.html 2KB
404.html 2KB
paymentResult.html 2KB
sidebar.html 2KB
sidebar.html 1KB
sidebar.html 1KB
nav.html 1KB
nav.html 1KB
nav.html 1KB
SysUserServiceImpl.java 22KB
OrderInfoServiceImpl.java 18KB
HttpClientUtils.java 16KB
AuthController.java 15KB
OrderApiController.java 13KB
IDValidateUtils.java 11KB
OrderController.java 11KB
AipServiceImpl.java 10KB
OrderEvaluateServiceImpl.java 9KB
OrderPaymentServiceImpl.java 8KB
FeedbackApiController.java 8KB
DoubleUtils.java 7KB
UserFeedbackServiceImpl.java 6KB
UserApiController.java 6KB
ResponseErrorCodeEnum.java 6KB
VerifyServlet.java 6KB
UserPageController.java 5KB
RequestRateLimitAspect.java 5KB
SettingApiController.java 5KB
EvaluateApiController.java 5KB
SmsServiceImpl.java 5KB
WebSecurityConfig.java 4KB
AdminPageController.java 4KB
CollectionUtils.java 4KB
CourierPageController.java 4KB
RandomUtils.java 4KB
SysUserService.java 4KB
SmsCodeAuthenticationProvider.java 4KB
TraditionAuthenticationFilter.java 3KB
UserEvaluateServiceImpl.java 3KB
OrderInfoService.java 3KB
StringUtils.java 3KB
TraditionSecurityConfig.java 3KB
TraditionAuthenticationProvider.java 3KB
PageController.java 3KB
SysUser.java 3KB
SmsCodeAuthenticationFilter.java 3KB
JsonUtils.java 3KB
CommonDataCache.java 3KB
PublicApiController.java 3KB
SecurityConstant.java 3KB
DataCompanyServiceImpl.java 2KB
DataSchoolServiceImpl.java 2KB
TraditionAuthenticationToken.java 2KB
SmsCodeAuthenticationToken.java 2KB
ThirdLoginAuthenticationToken.java 2KB
ThirdLoginAuthenticationProvider.java 2KB
PaymentApiController.java 2KB
OrderInfo.java 2KB
PaymentStatusEnum.java 2KB
ThirdLoginUserDetailsService.java 2KB
共 217 条
- 1
- 2
- 3
邱笑晨
- 粉丝: 49
- 资源: 4553
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 灰色关联分析与预测-MATLAB实现
- 三相PWM整流器,采用双闭环控制,用C语言实现PI控制,SVPWM等模块
- 电力系统潮流计算前推回代法MATLAB程序IEEE33节点系统 (1)该程序为电力系统潮流计算程序,硕士学位lunwen原程序,配有该lunwen (2)潮流求解方法为前推回代法,IEEE33节
- halcon 对线段上点的按线段方向顺序依一定距离依次取样排列
- 基于maxwell的6极36槽永磁同步电机(永磁直流无刷)模型,水冷,24.5kw, 绕组类型:分布式绕组,直流电压270Vdc,对6极 额定转速9000rpm,扭矩额定扭矩:输出扭矩不低于26Nm
- 毕设-c语言图书借阅系统源码3.zip
- 毕设-c语言通讯录管理系统源码1.zip
- 毕设-c语言学生成绩管理系统源码9.zip
- 毕设-c语言图书管理系统源码2.zip
- 毕设-c语言涂格子游戏源码4.zip
- 毕设-c语言五子棋源码7.zip
- 毕设-c语言万年历源码5.zip
- 毕设-c语言学生成绩管理系统8.zip
- 毕设-c语言学生信息系统10.zip
- 毕设-c语言文本编辑器系统源码6.zip
- 搭建属于自己的AI大语言模型网站(需要chatgpt的api即可搭建运行)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1