计算机毕业设计-基于Java+SSM架构的校园驿站管理系统项目开发实战(附源码+文档)

大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 Python毕业设计
🌎微信小程序毕业设计

开发运行环境

  • 框架:ssm
  • JDK版本:JDK1.8
  • 服务器:tomcat7
  • 数据库:mysql 5.7
  • 数据库工具:Navicat12
  • 开发软件:eclipse/myeclipse/idea
  • Maven包:Maven3.3.9
  • 浏览器:谷歌浏览器

源码下载地址:

https://download.csdn.net/download/m0_46388260/89082750

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

一、项目简介

系统可以提供信息显示和相应服务,其管理员管理快递仓库信息,管理待发货信息,管理已收快递,管理物流以及留言信息,管理员工和用户资料。员工更改物流信息,管理快递仓库信息,管理待发货信息,管理已收快递,发布留言信息。用户签收快递,查看系统公告,发布留言,查看已收快递信息,查看快递物流信息。

二、系统设计

2.1软件功能模块设计

在前面分析的系统各个角色的功能的基础上,进行接下来的设计工作,最终展示设计的系统结构图(见下图)。管理员管理快递仓库信息,管理待发货信息,管理已收快递,管理物流以及留言信息,管理员工和用户资料。员工更改物流信息,管理快递仓库信息,管理待发货信息,管理已收快递,发布留言信息。用户签收快递,查看系统公告,发布留言,查看已收快递信息,查看快递物流信息。
在这里插入图片描述

2.2数据库设计

(1)下图是物流信息实体和其具备的属性。
在这里插入图片描述
(4)下图是管理员实体和其具备的属性。
在这里插入图片描述
(5)下图为上述各实体间相互之间的关系。
在这里插入图片描述

三、系统项目部分截图

3.1管理员功能实现

快递仓库管理
管理员进入指定功能操作区之后可以管理快递仓库信息。其页面见下图。管理员在页面内增删改查快递仓库信息,查看各个快递的状态信息。
在这里插入图片描述
待发货管理
管理员进入指定功能操作区之后可以管理待发货信息。其页面见下图。管理员在页面内增删改查待发货快递信息。
在这里插入图片描述
已收快递管理
管理员进入指定功能操作区之后可以管理已收快递信息。其页面见下图。管理员在页面内查询已收快递,修改,删除已收快递信息。
在这里插入图片描述

3.2员工功能实现

修改物流信息
员工进入指定功能操作区之后可以更改物流信息。其页面见下图。员工对各个快递的物流信息随时进行更新。
在这里插入图片描述
已收快递管理
员工进入指定功能操作区之后可以查询已收快递。其页面见下图。员工根据快递类型,还有快递名称可以查询已收快递信息,查询出来的信息包括了快递的收件人以及收件时间等信息。
在这里插入图片描述
待发货管理
员工进入指定功能操作区之后可以管理待发货快递信息。其页面见下图。员工在页面内只能新增,修改,查询待发货快递信息。
在这里插入图片描述

3.3用户功能实现

签收快递
用户进入指定功能操作区之后可以签收快递。其页面见下图。用户点击签收按钮即可快速签收快递。
在这里插入图片描述
查看公告
用户进入指定功能操作区之后可以查看公告。其页面见下图。公告信息太多时,可以使用公告查询功能快速获取指定的公告。
在这里插入图片描述
发布留言
用户进入指定功能操作区之后可以发布留言。其页面见下图。用户查看之前的留言和回复,也能点击留言按钮发布新的留言。
在这里插入图片描述

四、部分核心代码

package com.controller;

import java.util.*;
import javax.servlet.http.HttpServletRequest;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;

import com.entity.LiuyanxinxiEntity;

import com.service.LiuyanxinxiService;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 
 * 后端接口
 * @author
 * @email
 * @date 2021-01-30
*/
@RestController
@Controller
@RequestMapping("/liuyanxinxi")
public class LiuyanxinxiController {
    private static final Logger logger = LoggerFactory.getLogger(LiuyanxinxiController.class);

    @Autowired
    private LiuyanxinxiService liuyanxinxiService;

    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params){
        logger.debug("Controller:"+this.getClass().getName()+",page方法");
        PageUtils page = liuyanxinxiService.queryPage(params);
        return R.ok().put("data", page);
    }
    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("Controller:"+this.getClass().getName()+",info方法");
        LiuyanxinxiEntity liuyanxinxi = liuyanxinxiService.selectById(id);
        if(liuyanxinxi!=null){
            return R.ok().put("data", liuyanxinxi);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody LiuyanxinxiEntity liuyanxinxi, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",save");
        String username = (String) request.getSession().getAttribute("username");
            liuyanxinxi.setYhnote(username);
            liuyanxinxi.setNoteTime(new Date());
            liuyanxinxiService.insert(liuyanxinxi);
            return R.ok();
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody LiuyanxinxiEntity liuyanxinxi, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",update");
        //根据字段查询是否有相同数据
        String username = (String) request.getSession().getAttribute("username");
            liuyanxinxi.setGlreply(username);
            liuyanxinxi.setReplyTime(new Date());
        liuyanxinxiService.updateById(liuyanxinxi);//根据id更新
        return R.ok();
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        logger.debug("Controller:"+this.getClass().getName()+",delete");
        liuyanxinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}


获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微信联系我。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值