基于Springboot+vue的快递物流管理系统【论文、源码、开题报告】

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎千套JAVA项目实战持续更新中~

🔎百套小程序APP项目实战持续更新中~

🔎百套Python实战项目持续更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

❤️文末获取源码联系❤️        ⚠️一定要先收藏⚠️

4系统概要设计

4.1概述

本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图

4.2系统结构

本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:

图4-2功能结构图

4.3.数据库设计

4.3.1数据库实体

概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。

概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:

(1)员工信息的实体属性图如下:

图4.12  员工信息实体属性图

(2)店主信息实体属性图如图4.13所示:

图4.13  店主信息实体属性图

(3)部门分类信息实体属性图如图4.14所示:

图4.14 部门分类信息实体属性图

4.3.2数据库设计表

智能物流管理系统需要后台数据库,下面介绍数据库中的各个表的详细信息:

表4.1 部门分类

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

leixing

varchar(200)

NULL

类型

表4.2 店主

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

dianzhuzhanghao

varchar(200)

店主账号

mima

varchar(200)

密码

dianzhuxingming

varchar(200)

店主姓名

xingbie

varchar(200)

NULL

性别

lianxidianhua

varchar(200)

NULL

联系电话

youxiang

varchar(200)

NULL

邮箱

shenfenzheng

varchar(200)

NULL

身份证

tupian

varchar(200)

NULL

图片

表4.3 订单信息

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

dingdanbianhao

varchar(200)

NULL

订单编号

mendianmingcheng

varchar(200)

NULL

门店名称

dingdanzhonglei

varchar(200)

NULL

订单种类

pinming

varchar(200)

NULL

品名

jingzhong

varchar(200)

NULL

净重

shifadi

varchar(200)

NULL

始发地

mudedi

varchar(200)

NULL

目的地

kehubeizhu

longtext

NULL

客户备注

zhanghao

varchar(200)

NULL

账号

gukexingming

varchar(200)

NULL

顾客姓名

sfsh

varchar(200)

是否审核

shhf

longtext

NULL

审核回复

表4.4 工作日志

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

gonghao

varchar(200)

NULL

工号

yuangongxingming

varchar(200)

NULL

员工姓名

bumen

varchar(200)

NULL

部门

dianzhuzhanghao

varchar(200)

NULL

店主账号

mendianmingcheng

varchar(200)

NULL

门店名称

gongzuoxiangmu

varchar(200)

NULL

工作项目

gongzuoneirong

longtext

NULL

工作内容

wanchengzhuangkuang

varchar(200)

NULL

完成状况

daijiejuewenti

longtext

NULL

待解决问题

gongzuozongjie

longtext

NULL

工作总结

beizhu

longtext

NULL

备注

riqi

date

NULL

日期

sfsh

varchar(200)

是否审核

shhf

longtext

NULL

审核回复

表4.5 顾客

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

zhanghao

varchar(200)

账号

mima

varchar(200)

密码

gukexingming

varchar(200)

顾客姓名

xingbie

varchar(200)

NULL

性别

shouji

varchar(200)

NULL

手机

youxiang

varchar(200)

NULL

邮箱

shenfenzheng

varchar(200)

NULL

身份证

dizhi

varchar(200)

NULL

地址

tupian

varchar(200)

NULL

图片

表4.6 门店信息

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

mendianmingcheng

varchar(200)

NULL

门店名称

mendianweizhi

varchar(200)

NULL

门店位置

mendianjieshao

longtext

NULL

门店介绍

mendiantupian

varchar(200)

NULL

门店图片

chuangjianriqi

date

NULL

创建日期

dianzhuzhanghao

varchar(200)

NULL

店主账号

lianxidianhua

varchar(200)

NULL

联系电话

sfsh

varchar(200)

是否审核

shhf

longtext

NULL

审核回复

表4.7 门店员工

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

gonghao

varchar(200)

NULL

工号

yuangongxingming

varchar(200)

NULL

员工姓名

xingbie

varchar(200)

NULL

性别

bumen

varchar(200)

NULL

部门

shouji

varchar(200)

NULL

手机

shenfenzheng

varchar(200)

NULL

身份证

gerenjianli

varchar(200)

NULL

个人简历

zhaopian

varchar(200)

NULL

照片

dianzhuzhanghao

varchar(200)

NULL

店主账号

dianzhuxingming

varchar(200)

NULL

店主姓名

表4.8 管理员表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

username

varchar(100)

用户名

password

varchar(100)

密码

role

varchar(100)

管理员

角色

addtime

timestamp

CURRENT_TIMESTAMP

新增时间

表4.9 员工

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

gonghao

varchar(200)

工号

mima

varchar(200)

密码

yuangongxingming

varchar(200)

员工姓名

xingbie

varchar(200)

NULL

性别

mendianmingcheng

varchar(200)

NULL

门店名称

bumen

varchar(200)

NULL

部门

shouji

varchar(200)

NULL

手机

shenfenzheng

varchar(200)

NULL

身份证

tupian

varchar(200)

NULL

图片

5系统详细实现

5.1 管理员模块的实现

5.1.1 顾客信息管理

智能物流管理系统的系统管理员可以管理顾客信息,可以对顾客信息信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。

图5.1 顾客信息信息管理界面

5.1.2 员工信息管理

系统管理员可以查看对员工信息信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。

图5.2 员工信息信息管理界面

5.2 店主模块的实现

5.2.1 员工信息管理

店主可以对员工信息信息进行修改,删除以及查询操作。界面如下图所示:

图5.3 员工信息信息管理界面

5.2.1 门店信息管理

店主可以对门店信息信息进行修改操作,还可以对门店信息信息进行查询。界面如下图所示:

图5.4 门店信息管理界面

5.2 员工模块的实现

5.2.2 门店信息管理

员工登录可以查看门店信息。界面如下图所示:

图5.5 门店信息界面

5.2.3 订单信息管理

员工登录后可以对订单信息进行审核操作。界面如下图所示:

图5.6 订单信息管理界面

JAVA后端代码实现

package com.controller;
 
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
 
/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

不同开发语言专栏推荐订阅

 🔎千套JAVA项目实战持续更新中~

🔎百套小程序APP项目实战持续更新中~

🔎百套Python实战项目持续更新中~

👇下方有我的微信名片👇

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值