Java毕业设计基于springboot的冷链物流配送系统

一、项目介绍

  冷链物流配送系统利用Java语言,springboot框架开发的一款web系统,数据存储到MySQL中,会员端前台使用Html技术对界面进行设计和实现。本文先充分调查冷链物流配送系统的需求分析,深入剖析系统应该具有的功能,并设计完善的数据库。利用成熟的开发技术完成编码工作,最后进行投入前的测试工作。最终,完成前台和后台的冷链物流配送系统的功能,主要包括客户管理、业务员管理、配送员管理、货物订单管理、货物收货管理、订单安排管理、货物配送管理、订单送达管理、车辆信息管理等,通过前后台实现数据的传递。
关键词:冷链物流公司;Java语言;冷链订单;springboot

二、开发环境

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

三、功能介绍

对于冷链物流信息调度系统所牵扯的管理及数据保存都是非常多的,例如管理员;首页、用户管理(管理员、客户、业务员、配送员)客户管理(货物信息、客户运输单、车辆信息、调度安排)这给管理者的工作带来了巨大的挑战,面对大量的信息,为此开发了冷链物流信息调度系统;为用户提供了方便管理平台,方便管理员查看及维护,并且可以通过需求进行内容的编辑及维护等;对于用户而言,可以随时进行查询所需信息,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发冷链物流信息调度系统给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。
从用户角度,划分了管理员、客户、业务员、配送员四种用户角色。功能设计了客户管理、业务员管理、配送员管理、货物订单管理、货物收货管理、订单安排管理、货物配送管理、订单送达管理、车辆信息管理。
其中系统用例图如3.1所示:
在这里插入图片描述

图3.1系统用例图
其中用户登录中,通过HTML访问该冷链物流配送系统,选择登录界面,进行登录。登录成功进入到系统,登录失败,提示用户不存在,需要重新输入正确的用户名和密码。
用户管理中,先运行冷链物流配送系统,然后录入冷链订单,验证信息后,保存信息到数据库,如果保存失败,提示错误信息,并返回到主界面。
货物订单管理中,启动冷链物流配送系统,进入到货物订单创建的页面,填写创建货物订单的基本信息,创建成功后更新货物订单数据库表的记录。在货物订单修改或者删除的页面,完成操作后,更新货物订单数据库表的记录。在货物订单列表界面,查询所有的货物订单数据库表的记录,然后绑定数据到货物订单列表中。
货物配送管理中,启动冷链物流配送系统,进入到货物配送创建的页面,填写创建货物配送的基本信息,创建成功后更新货物配送数据库表的记录。在货物配送修改或者删除的页面,完成操作后,更新货物配送数据库表的记录。在货物配送列表界面,查询所有的货物配送数据库表的记录,然后绑定数据到货物配送列表中。

4.2 功能设计

从第三章的需求分析可以看出,本冷链物流配送系统包括四个用户,分别是管理员、客户、业务员、配送员用户,下面从这四个用户角度出发进行功能设计。
4.2.1 管理员功能设计
管理员管理包括用户登录、客户管理、业务员管理、配送员管理、货物订单统计、货物收货查看、订单安排查看、货物配送查看、订单送达查看、车辆信息管理。
管理员功能结构图如下图4-2所示。
在这里插入图片描述

图 4.2 管理员功能结构图
管理员需要先进行登录,获得操作的权限后才能进行信息管理。在本系统中,管理员可以登录服务器端对用户进行管理,管理员添加冷链订单,对客户会员的基本信息进行管理,最终添加的通知信息保存到数据库中。
4.2.2 客户功能设计
客户用户功能包括用户登录、查看个人信息、货物订单管理、货物收货管理、订单安排查看、货物配送查看、订单送达管理。
客户用户功能设计图如下图4.3所示。
在这里插入图片描述

图 4.3 客户用户功能结构图
会员用户登录后,在HTML的首页,查看操作菜单,可以修改个人信息和修改个人密码,修改个人信息和密码的功能流程一致,都是通过先获取到个人信息后,然后进行修改,通过数据库修改语句更新信息。
4.2.3 业务员功能设计
业务员用户功能包括用户登录、查看个人信息、货物订单查看、货物收货查看、订单安排管理、货物配送查看、订单送达查看。
业务员用户功能设计图如下图4.4所示。
在这里插入图片描述

图 4.4 业务员用户功能结构图
会员用户登录后,在HTML的首页,查看操作菜单,可以修改个人信息和修改个人密码,修改个人信息和密码的功能流程一致,都是通过先获取到个人信息后,然后进行修改,通过数据库修改语句更新信息。
4.2.4 配送员功能设计
配送员用户功能包括用户登录、查看个人信息、货物配送管理、订单送达管理、车辆信息管理。
配送员用户功能设计图如下图4.4所示。
在这里插入图片描述

图 4.4 配送员用户功能结构图
会员用户登录后,在HTML的首页,查看操作菜单,可以修改个人信息和修改个人密码,修改个人信息和密码的功能流程一致,都是通过先获取到个人信息后,然后进行修改,通过数据库修改语句更新信息。

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
摘 要 2
Abstract 3
目 录 5
1系统概述 8
1.1 研究的背景和意义 8
1.2 国内外研究现状 9
1.3 研究内容 9
2系统技术 11
2.1 Java技术 11
2.2 MYSQL数据库 11
2.3 JSON数据 12
3系统需求分析 13
3.1 可行性分析 13
3.1.1 经济可行性 13
3.1.2 技术可行性 13
3.1.3 法律可行性 13
3.2 需求分析 13
3.2.1 非功能性需求 13
3.2.2 功能性需求 14
4系统设计 17
4.1 架构设计 17
4.2 功能设计 18
4.2.1 管理员功能设计 18
4.2.2 客户功能设计 18
4.2.3 业务员功能设计 19
4.2.4 配送员功能设计 20
4.3 数据库设计 21
4.3.1 数据库设计原则 21
4.3.2 数据库ER图设计 22
4.3.3 数据库表设计 22
5 系统实现 26
5.1 管理员登录功能实现 26
5.2 客户管理功能实现 26
5.3 冷链订单管理功能实现 28
5.4 订单安排功能实现 28
5.5 货物配送管理功能实现 29
5.6 车辆信息管理实现 30
5.7 个人中心功能实现 31
5.8 订单送达查看功能实现 31
第6章 系统测试 33
6.1 程序测试 33
6.2 测试用例 34
6.3 系统测试结果 35
结论 37
参考文献 38
致谢 40

  • 27
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值