首页 > 编程语言 >JAVA实战开源项目:农村物流配送系统(Vue+SpringBoot)

JAVA实战开源项目:农村物流配送系统(Vue+SpringBoot)

时间:2024-03-19 09:03:26浏览次数:25  
标签:Vue JAVA SpringBoot qw ResultUtil value return 信息 2.2

在这里插入图片描述


目录


一、摘要

1.1 项目介绍

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

1.2 项目录屏

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="5XgLQ2n3-1696296609111" src="https://player.bilibili.com/player.html?aid=960587128"></iframe>


二、功能模块

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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

标签:Vue,JAVA,SpringBoot,qw,ResultUtil,value,return,信息,2.2
From: https://blog.csdn.net/2301_77899321/article/details/136828793

相关文章

  • JAVA实战开源项目:城市桥梁道路管理系统(Vue+SpringBoot)
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块三、系统展示四、核心代码4.1查询城市桥梁4.2新增城市桥梁4.3编辑城市桥梁4.4删除城市桥梁4.5查询单个城市桥梁五、免责说明一、摘要1.1项目介绍基于Vue+SpringBoot+MySQL的城市桥梁道路管理系统,支持管......
  • 学习java第十六天
    IOC入门案例1门案例思路分析管理什么?(Service与Dao)如何将被管理的对象告知IOC容器?(配置文件)被管理的对象交给IOC容器,如何获取到IoC容器?(接口)IOC容器得到后,如何从容器中获取bean?(接口方法)使用Spring导入哪些坐标?(pom.xml)2实现步骤【第一步】导入Spring坐标【第二......
  • java常用应用程序编程接口(API)——Stream概述
    前言:stream是jdk8以后新增的API,熟练操作后会非常实用。打好基础,daydayup!!StreamStream也称为Stream流,用于操作集合或者数组的数据。Stream流大量的结合了Lambda的语法风格,使代码更简洁,可读性更好 Stream的使用Stream的使用有三个步骤:1,获取Stream流,与数据源建立连接......
  • Java_EE企业级开发学习笔记——spring学习笔记第一章
    记录笔记。一.Spring介绍Spring是以IOC(控制反转)和AOP(面向切面编程)为内核的一个轻量级开源框架。二.Spring框架的优点1.非侵入设计使得应用程序对框架的依赖最小化。2.方便解耦对象的创建和依赖关系的维护都由Spring容器管理。......
  • vue面试题(vue2响应式源码剖析)
    一、前言这篇文章结合Vue2.7.16的源码和一个Vue2的项目,来详细讲解Vue2实现响应式数据的核心代码1.1准备安装@vue/clinpminstall-g@vue/cli创建vue项目vuecreatevue2-test修改Vue实例的配置对象二、响应式处理的入口通过newVue()调用Vue构造函数,......
  • vue面试题(前置知识)
    一、渐进式框架Vue是一个框架,也是一个生态,其功能覆盖了大部分前端开发常见的需求。包含了声明式渲染、组件化系统、客户端路由、大规模状态管理、构建工具等,但vue的核心库只关注视图层。在实际开发中,可以根据业务需求的变化,来不断增加这些功能,实现vue的渐进式增强。二、声明式框......
  • vue面试题(vue2响应式数据基础)
    一、什么是响应式数据响应式数据是指当数据发生变化时,相关的视图或组件会自动更新,保持与数据的同步。这样的设计使得开发者能够更方便地管理和更新数据,无需手动操作DOM或显式地更新视图。当数据发生变化时,所有使用该数据的地方都会自动更新。二、观察者模式观察者模式定义对......
  • 前端学习-vue视频学习009-defineProps(子组件接收父组件的数据)
    尚硅谷视频链接defineProps-只接收父:要有数据letpersonList=reactive<personArr>([{id:'qqq1',name:'aaa',age:10,gender:'F'},{id:'qqq2',name:'vvv',age:30,gender:'F'},{id:'qq......
  • 前端框架Vue--Part 01
    1.为什么要学习Vue前端必备技能:Vue.js作为现代前端开发领域中的主流框架之一,已成为前端开发者必备的技术栈。随着前端技术的不断发展和企业需求的变化,掌握Vue.js能够确保开发者跟上行业发展步伐,适应各类Web项目的开发需求。广泛应用与岗位需求:目前,在国内外绝大多数互联网公......
  • java八股——java并发(1)
    上一篇传送门:点我java面试中,并发相关的一些面试题整理,很多部分仅为个人理解,如有问题欢迎讨论指正(待补充)。并行与并发有什么区别?并行和并发都是指多个任务同时执行的概念,但是它们之间有着明显的区别。并行是指多个任务在同一时刻同时运行,通常会需要使用多个处理器或者多......