# Delivery-Web
**Repository Path**: super_Happy/Delivery-Web
## Basic Information
- **Project Name**: Delivery-Web
- **Description**: 福州大学-工程训练项目:快递管理系统
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 1
- **Created**: 2022-09-08
- **Last Updated**: 2025-01-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 福州大学-工程训练-24组
#### 介绍
福州大学-工程训练项目:快递管理系统

#### 软件架构
后端:SpringMVC,Spring,MyBatis
前端:
数据库:mysql
#### 使用说明
此项目仅作为福州大学-工程训练的课堂作业
#### 相关人员
方鑫,张煜朋,何倬利,张一凡,陈杰斌,朱世涛,周咏杰,曾少文
#### 系统基本功能
1.用户:查看个人信息、寄件、收件、地址新增
2.系统后台:角色管理、人员管理、网点管理、快递管理 —— 张一凡
3.网点后台:快递人员管理、快件管理 —— 张煜朋
4.快递员:快递单填写、进行妥投、揽件确认、快递派送 —— 陈杰斌
#### 系统亮点
1.采用分布式session解决集群部署可能造成用户频繁登录问题
并且使用分布式session
对redis进行了封装,即使对不会使用redis的开发人员来说,只需往session内设值,即可保存至redis
2.对网点之间路径进行图的构造,利用Floyd算法求解各网点之间的最短路径及最少天数问题
3.系统采用定时刷新本地缓存的策略来加速查询过程,并使用系统常量池优化系统占有的内存,且本地缓存采用不可变集合,防止系统数据被攻击篡改
4.系统快递派送逻辑清晰,并且邮箱及时通知顾客快递状态,且采用邮箱发送二维码方式进行签收,保证了用户签收的可靠性
二维码使用一次即失效,且系统可防止二维码接口被恶意利用
5.系统接入钉钉机器人,提醒快递员进行派件处理
6.系统按照DDD领域模型搭建,层级分明,系统利用nginx做负载均衡及静态资源的跳转
7.快递的分配快递员采用链模式,且采用随机算法平均分配快递员,逻辑清晰,易扩展
8.系统前后端分离,并且采用swagger描述接口,接口文档清晰,分工明确
9.系统利用拦截器采用token校验的方式保证请求的可靠性,以及进行域名判断,有效防止csrf及其他攻击