基于Vue+SpringBoot的农村物流配送系统 开源项目

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 系统登录、注册界面
    • 2.2 系统功能
      • 2.2.1 快递信息管理:
      • 2.2.2 位置信息管理:
      • 2.2.3 配送人员分配:
      • 2.2.4 路线规划:
      • 2.2.5 个人中心:
      • 2.2.6 退换快递处理:
      • 2.2.7 客户评价:
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询商家
    • 4.2 退换快递
    • 4.3 新增路线规划
    • 4.4 查询乡镇村社
    • 4.5 查询配送位置
  • 五、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的农村物流配送系统,包含快递客户管理模块、配送位置管理模块、配送人员模块、路线规划模块、商家管理模块、商品退换模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,农村物流配送系统基于角色的访问控制,给物流管理员、配送人员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

2.1 系统登录、注册界面

1、快递员注册、登录此系统。
2、建立员工数据库,管理员工信息。

2.2 系统功能

2.2.1 快递信息管理:

(1)添加客户信息:输入收货人,取件码,快递单号。
(2)查询客户信息:输入收货人,ID。
(3)删除客户信息:
(4)修改客户信息;

2.2.2 位置信息管理:

(1)添加位置信息:输入起始地点,输入终点
(2)删除位置信息:
(3)修改位置信息:
(4)定位信息:请输入地点信息

2.2.3 配送人员分配:

(1)添加配送人员:输入性别,输入姓名,输入年龄
(2)删除配送人员信息:
(3)修改配送人员信息:

2.2.4 路线规划:

(1)划分路线图:输入乡镇名,村名,
(2)为每个配送人员添加自己的路线:
(3)删除路线:
(4)修改路线:

2.2.5 个人中心:

(1)员工个人信息管理:添加员工信息,输入姓名,性别,年龄;删除员工信息;查询员工信息;修改员工信息
(2)关于系统:系统版本
(3)退出系统:

2.2.6 退换快递处理:

(1)输入退换产品理由;
(2)输入商家信息:输入商家姓名,位置信息,联系方式
(3)输入客户信息:输入客户姓名,联系方式:
(4)删除商家信息:
(5)删除客户信息:
(6)修改商家信息:
(7)修改客户信息:

2.2.7 客户评价:

(1)非常满意,满意,一般,差评。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询商家

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询商家")
public Result<IPage<Business>> getByPage(@ModelAttribute Business business ,@ModelAttribute PageVo page){QueryWrapper<Business> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(business.getUserName())) {qw.like("user_name",business.getUserName());}if(!ZwzNullUtils.isNull(business.getAddress())) {qw.like("address",business.getAddress());}IPage<Business> data = iBusinessService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Business>>().setData(data);
}

4.2 退换快递

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增退换快递")
public Result<Exchange> insert(Exchange exchange){Business b = iBusinessService.getById(exchange.getBusinessId());if(b == null) {return ResultUtil.error("商家不存在");}exchange.setBusinessName(b.getUserName() + "-" + b.getAddress());Express e = iExpressService.getById(exchange.getExpressId());if(e == null) {return ResultUtil.error("快递客户不存在");}exchange.setExpressName(e.getUserName() + "-" + e.getAddress());iExchangeService.saveOrUpdate(exchange);return new ResultUtil<Exchange>().setData(exchange);
}

4.3 新增路线规划

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增路线规划")
public Result<Route> insert(Route route){Department d1 = iDepartmentService.getById(route.getTownshipId());if(d1 == null) {return ResultUtil.error("乡镇不存在");}route.setTownshipName(d1.getTitle());Department d2 = iDepartmentService.getById(route.getVillageId());if(d2 == null) {return ResultUtil.error("村社不存在");}route.setVillageName(d2.getTitle());User user = iUserService.getById(route.getDispatcherId());if(user == null) {return ResultUtil.error("配送员不存在");}route.setDispatcherName(user.getNickname());iRouteService.saveOrUpdate(route);return new ResultUtil<Route>().setData(route);
}

4.4 查询乡镇村社

@RequestMapping(value = "/getTopDepartment", method = RequestMethod.GET)
@ApiOperation(value = "查询乡镇")
public Result<List<Department>> getTopDepartment(){QueryWrapper<Department> qw = new QueryWrapper<>();qw.eq("parent_id",0);return new ResultUtil<List<Department>>().setData(iDepartmentService.list(qw));
}@RequestMapping(value = "/getSonDepartment", method = RequestMethod.GET)
@ApiOperation(value = "查询村社")
public Result<List<Department>> getSonDepartment(@RequestParam String parentId){QueryWrapper<Department> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(parentId)) {qw.eq("parent_id",parentId);} else {qw.ne("parent_id",0);}return new ResultUtil<List<Department>>().setData(iDepartmentService.list(qw));
}

4.5 查询配送位置

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询位置")
public Result<IPage<Position>> getByPage(@ModelAttribute Position position ,@ModelAttribute PageVo page){QueryWrapper<Position> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(position.getTitle())) {qw.like("title",position.getTitle());}if(!ZwzNullUtils.isNull(position.getStartAddress())) {qw.like("start_address",position.getStartAddress());}if(!ZwzNullUtils.isNull(position.getEndAddress())) {qw.like("end_address",position.getEndAddress());}IPage<Position> data = iPositionService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Position>>().setData(data);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/179066.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用代理IP访问YouTube?

相信大家对YouTube都很熟悉&#xff0c;但是由于网络安全管制&#xff0c;我们在看YouTube视频时经常遇到由于地理封锁或网络限制而受到限制的人吗&#xff1f;如果是这样&#xff0c;您一定听说过代理IP&#xff08;代理服务器&#xff09;以及它们如何帮助您绕过此类限制&…

基于Vue+SpringBoot的海南旅游景点推荐系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

React父组件怎么调用子组件的方法

调用方法&#xff1a;1、类组件中的调用可以利用React.createRef()、ref的函数式声明或props自定义onRef属性来实现&#xff1b;2、函数组件、Hook组件中的调用可以利用useImperativeHandle或forwardRef抛出子组件ref来实现。 【程序员必备开发工具推荐】Apifox一款免费API管理…

怎么选好用的电脑监控软件

在选择好用的电脑监控软件时&#xff0c;需要考虑多个因素&#xff0c;包括功能和特性、安全性和隐私保护、用户界面、实时监控和报警功能、日志记录和报告功能、兼容性以及用户评价和口碑等。 首先&#xff0c;需要明确你需要监控的内容&#xff0c;例如屏幕活动、应用程序使用…

500报错解决了

问题&#xff1a; 如图所示&#xff0c;控制台报错找不到com.itheima.service.EmpService.page这个函数 刚开始一直以为是SQL语句写错了或者是哪里代码写漏了&#xff0c;检查了很多遍&#xff0c;还把源代码拷过来&#xff0c;执行也不对&#xff0c;于是就直接打开源项目执行…

【性能】如何计算 Web 页面的 FP 指标

什么是 FP 指标 FP (First Paint) 为首次渲染的时间点&#xff0c;在性能统计指标中&#xff0c;从用户开始访问 Web 页面的时间点到 FP 的时间点这段时间可以被视为 白屏时间&#xff0c;也就是说在用户访问 Web 网页的过程中&#xff0c;FP 时间点之前&#xff0c;用户看到的…

使用OKhttp3 与青云客AI聊天机器人交互 -Java

1.青云客 官网&#xff1a;http://api.qingyunke.com/ 2.添加依赖 <!--okhttp3 依赖--><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.9.3</version></dependency&g…

一篇文章让你真正搞懂epoll机制

目录 1.epoll简介 2.epoll实现原理 3.创建epoll文件 4.增加&#xff0c;删除&#xff0c;修改epoll事件 5.epoll事件就绪 6.epoll编程流程 7.epoll常见问题&#xff1f; 1.epoll简介 epoll是Linux内核为处理大批量文件描述符而作了改进的poll&#xff0c;它能显著提高程…

asp.net core mvc 之 依赖注入

一、视图中使用依赖注入 1、core目录下添加 LogHelperService.cs 类 public class LogHelperService{public void Add(){}public string Read(){return "日志读取";}} 2、Startup.cs 文件中 注入依赖注入 3、Views目录中 _ViewImports.cshtml 添加引用 4、视图使用…

Node.js 安装配置

文章目录 安装检测Node是否可用 安装 首先我们需要从官网下载Node安装包:Node.Js中文网,下载后双击安装没有什么特殊的地方&#xff0c;安装路径默认是C盘&#xff0c;不想安装C盘的话可以选择一下其他的盘符。安装完成以后可以不用配置环境变量&#xff0c;Node安装已经自动给…

Linux指令(二)

&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0;&#x1f3a0; &#x1f396;️&#x1f396;️&#x1f396;️&a…