作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

快递取件管理系统源码,分为两个角色,一个管理员,一个普通用户
主要功能说明: 
管理员角色包含以下功能:管理员登录,个人资料修改,用户管理,公告管理,快递状态管理,快递品牌管理,快递管理等功能。
用户角色包含以下功能:
用户注册后登录,个人资料管理,公告查看,查看本人的快递等功能。

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7/8.0等版本均可;

技术栈

1. 后端:Spring springmvc mybatis

2. 前端:JSP+css+javascript+h-ui

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中config/spring-mvc.xml配置文件中的数据库配置改为自己的配置,然后运行;
4. 运行成功后,在浏览器中输入:http://localhost:8080/ssm_kuaididaiqusys/
用户账号/密码: user/123456
管理员账号/密码:admin/admin

运行截图

管理员角色

客户端界面

代码相关

密码控制器

@RestController
@RequestMapping("/password")
public class PasswordController {@Autowiredprivate SysUserService userService;@Autowiredprivate GlobalFunction globalFunction;/*** 重置密码* @author jitwxs*/@PostMapping("/reset")public Msg resetPassword(String oldPassword, String newPassword) {SysUser user = globalFunction.getUser();if(!PasswordUtils.validatePassword(oldPassword, user.getPassword())) {return Msg.error("原始密码错误");} else {user.setPassword(PasswordUtils.entryptPassword(newPassword));userService.updateById(user);return Msg.ok();}}
}

员工管理控制器

@RestController
@RequestMapping("/admin/staff")
public class StaffController {@Autowiredprivate SysUserService userService;@Autowiredprivate GlobalFunction globalFunction;private void changeUserStatus(String[] ids, Integer status) {for(String id : ids) {SysUser user = userService.selectById(id);user.setStatus(status);userService.updateById(user);}}/*** 获取用户的状态列表* @author jitwxs*/@GetMapping("/status")public Msg listStaffStatus() {List<Map<String,Object>> result = new ArrayList<>();for(SysUserStatusEnum enums :SysUserStatusEnum.values()) {Map<String,Object> map = new HashMap<>();map.put("id",enums.getIndex());map.put("name",enums.getName());result.add(map);}return Msg.ok(null,result);}/*** 获取所有的职员名,用于分配订单* @author jitwxs*/@GetMapping("/listName")public Msg listStaff() {// 获取所有在职的职员List<SysUser> staffs = userService.selectList(new EntityWrapper<SysUser>().eq("status", SysUserStatusEnum.ACTIVE.getIndex()).eq("role_id", RoleEnum.STAFF.getIndex()));return Msg.ok(null,staffs);}/*** 获取所有职员* @author jitwxs*/@GetMapping("/list")public Map listStaff(Integer rows, Integer page, SysUserSelectWrapper usw) {// Get请求中文编码try {usw.setName(globalFunction.iso8859ToUtf8(usw.getName()));usw.setAddress(globalFunction.iso8859ToUtf8(usw.getAddress()));} catch (UnsupportedEncodingException e) {e.printStackTrace();}// 得到筛选条件EntityWrapper<SysUser> userWrapper = globalFunction.getSysUserWrapper(usw);// 不显示admin角色userWrapper.ne("role_id", RoleEnum.ADMIN.getIndex());Page<SysUser> selectPage = userService.selectPage(new Page<>(page, rows), userWrapper);List<SysUserDto> list = globalFunction.sysUser2dto(selectPage.getRecords());Map<String,Object> map = new HashMap<>();map.put("total", selectPage.getTotal());map.put("rows", list);return map;}/*** 更新用户信息*/@PostMapping("")public Msg update(SysUser user) {userService.updateById(user);return Msg.ok();}/*** 新增用户信息*/@PostMapping("/insert")public Msg insert(SysUser user) {UUID uuid = UUID.randomUUID();user.setId(uuid.toString());user.setRoleId(1);user.setStatus(0);user.setPassword(PasswordUtils.entryptPassword("123"));//SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式user.setCreateDate(new Date());// new Date()为获取当前系统时间user.setUpdateDate(new Date());userService.insert(user);return Msg.ok();}/*** 获取用户信息* @author jitwxs*/@GetMapping("/{id}")public Msg getById(@PathVariable String id) {SysUser user = userService.selectById(id);return Msg.ok(null,user);}/*** 修改员工为在职* @author jitwxs*/@PostMapping("/active")public Msg changeActive(String[] ids) {changeUserStatus(ids, SysUserStatusEnum.ACTIVE.getIndex());return Msg.ok();}/*** 修改员工为冻结* @author jitwxs*/@PostMapping("/freeze")public Msg changeFreeze(String[] ids) {changeUserStatus(ids, SysUserStatusEnum.FREEZE.getIndex());return Msg.ok();}/*** 修改员工为离职* @author jitwxs*/@PostMapping("/leave")public Msg changeLeave(String[] ids) {changeUserStatus(ids, SysUserStatusEnum.LEAVE.getIndex());return Msg.ok();}}

快递订单管理控制器

@RestController
@RequestMapping("/admin/express")
public class ExpressController {@Autowiredprivate ExpressService expressService;@Autowiredprivate GlobalFunction globalFunction;@Autowiredprivate ExpressPaymentService expressPaymentService;/*** 获取订单的状态列表* @author jitwxs*/@GetMapping("/status")public Msg listExpressStatus() {List<Map<String,Object>> result = new ArrayList<>();for(ExpressStatusEnum enums :ExpressStatusEnum.values()) {Map<String,Object> map = new HashMap<>();map.put("id",enums.getIndex());map.put("name",enums.getName());result.add(map);}return Msg.ok(null,result);}/*** 订单列表* @param esw 筛选条件* @author jitwxs*/@GetMapping("/list")public Map listExpress(Integer rows, Integer page, ExpressSelectWrapper esw, @RequestParam(defaultValue = "createDate") String order) {// Get请求中文编码try {esw.setName(globalFunction.iso8859ToUtf8(esw.getName()));esw.setStaffName(globalFunction.iso8859ToUtf8(esw.getStaffName()));esw.setAddress(globalFunction.iso8859ToUtf8(esw.getAddress()));} catch (UnsupportedEncodingException e) {e.printStackTrace();}// 得到筛选条件EntityWrapper<Express> expressWrapper = globalFunction.getExpressWrapper(esw);Page<Express> selectPage = expressService.selectPage(new Page<>(page, rows, order, false), expressWrapper);List<ExpressDto> list = globalFunction.express2dto(selectPage.getRecords());Map<String,Object> map = new HashMap<>(16);map.put("total", selectPage.getTotal());map.put("rows", list);return map;}/*** 获取单个订单详情* @author jitwxs*/@GetMapping("/{id}")public Msg getById(@PathVariable String id) {Express express = expressService.selectById(id);ExpressDto expressDto = globalFunction.express2dto(express);return Msg.ok(null,expressDto);}/*** 分配订单* @param ids 订单数组* @param staffId 派送员id* @author jitwxs*/@PostMapping("/assign")public Msg assignExpress(String[] ids,String staffId) {for(String id : ids) {Express express = expressService.selectById(id);// 只有订单状态为WAIT_DIST时才要分配订单if(ExpressStatusEnum.WAIT_DIST.getName().equals(ExpressStatusEnum.getName(express.getStatus()))) {express.setStaff(staffId);express.setStatus(ExpressStatusEnum.TRANSPORT.getIndex());expressService.updateById(express);}}return Msg.ok();}/*** 确认订单* @author jitwxs*/@PostMapping("/confirm")public Msg confirmExpress(ExpressPayment payment) {String id = payment.getExpressId();Express express = expressService.selectById(id);express.setStatus(ExpressStatusEnum.COMPLTE.getIndex());expressService.updateById(express);expressPaymentService.updateById(payment);return Msg.ok();}/*** 异常订单* @author jitwxs*/@PostMapping("/error")public Msg errorExpress(String[] ids, String text) {for(String id : ids) {Express express = expressService.selectById(id);// 只有订单状态为TRANSPORT时才要确认if(ExpressStatusEnum.TRANSPORT.getName().equals(ExpressStatusEnum.getName(express.getStatus()))) {express.setStatus(ExpressStatusEnum.ERROR.getIndex());express.setStaffRemark(text);expressService.updateById(express);}}return Msg.ok();}/*** 删除订单* @author jitwxs*/@PostMapping("/delete")public Msg deleteById(String[] ids) {for(String id : ids) {Express express = expressService.selectById(id);if(express != null) {// 设置删除标记为trueexpress.setHasDelete(true);expressService.updateById(express);}}return Msg.ok();}/*** 恢复订单* @author jitwxs*/@PostMapping("/recycle")public Msg recycleById(String[] ids) {for(String id : ids) {Express express = expressService.selectById(id);if(express != null) {// 设置删除标记为falseexpress.setHasDelete(false);expressService.updateById(express);}}return Msg.ok();}/*** 彻底删除订单* @author jitwxs*/@PostMapping("/clean")public Msg cleanById(String[] ids) {for(String id : ids) {expressService.deleteById(id);}return Msg.ok();}
}

如果也想学习本系统,下面领取。回复:233ssm

Java项目:SSM快递取件管理系统相关推荐

  1. 基于SSM快递取件管理系统

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 to ...

  2. 基于ssm快递取件及上门服务微信小程序

    开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea ...

  3. Java项目:快递取件管理系统(java+SSM+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 车险理赔管理系统源码,分为两个角色,一个管理员,一个普通用户 主要功能说明: 管理员角色包含以下功能:管理员登录,个人资料修改 ...

  4. 小程序项目:基于微信小程序的快递取件及上门服务——计算机毕业设计

    项目介绍 社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作 ...

  5. 计算机毕业设计之微信小程序的快递取件及上门服务系统的论文

    本科毕业设计 快递取件及上门服务 院 系: 姓 名:xxx 学 号:xxxxxxxxxx 专 业: 年 级: 指导教师: 职 称:讲师 完成日期:2021年 月 摘 要 社会的发展和科学技术的进步,互 ...

  6. 基于微信小程序的快递取件及上门服务-计算机毕业设计

    项目介绍 社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作 ...

  7. 基于微信小程序的快递取件及上门服务

    社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作系统是非常 ...

  8. 基于微信小程序的快递取件及上门服务——计算机毕业设计

    社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作系统是非常 ...

  9. 微信小程序快递取件及上门服务

    开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea ...

最新文章

  1. 自动登录126邮箱的脚本
  2. python --version没输出_python之旅【1】--格式化输出
  3. 转载:掩膜矩阵操作数学解释(权重表,锐化)
  4. linux向上翻页_linux学习基础篇——文件管理(一)
  5. 智能家居 (8) ——智能家居项目整合(网络控制线程、语音控制线程,火灾报警线程)
  6. 梯度、梯度法、python实现神经网络的梯度计算
  7. 计算营业额python_ARIMA时间序列分析-----Python实例(一周销售营业额预测)
  8. 【LINQ】LINQ 简介
  9. HTML button标签
  10. PKM全民推广系列一:PKM定义
  11. 水滴互助 :网络互助「创新者窘境」如何打破?
  12. ndroid分辨率 dpi 屏幕尺寸 对比图
  13. 数据库基础知识(思维导图)
  14. charles 批量重复请求/重复发包工具
  15. eechart echarts-wordcloud 生成人物词云图 词云 词少、形状问题、 解决办法
  16. WDK安装调试以及注意事项
  17. 全国高校计算机能力挑战赛真题(一)
  18. Microsoft Teams安排 Teams 实时事件
  19. 房租租赁租房系统都包含哪些功能?
  20. 计算机维护维修是干啥的,IT维护主要做些什么工作?

热门文章

  1. Xilinx PCIE DMA--Sparten6/Kintex-7 BMD 搭建
  2. 美术0基础想转行做游戏美术3D,如何快速入行?
  3. MATLAB 数据及基本运算 --持续更新
  4. 【Edge浏览器】edge浏览器下载插件时报Download interrupted错误解决方法
  5. 拼题---求链式线性表的倒数第K项(两种算法的比较)
  6. python中排序从小到大_面试官:如何用Python实现三个整数从小到大排序?
  7. 仙气满满的霍尊竟然这么皮?自爆体重已经突破……
  8. 图像分割技术与MATLAB仿真剖析
  9. 学习如何做好网站关键词的诊断工作
  10. 云小课|MRS基础原理之Hudi介绍