基于SSM的汽车客运站管理系统

这篇具有很好参考价值的文章主要介绍了基于SSM的汽车客运站管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用JSP技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是


目录

一、项目简介

二、课题背景

三、系统项目截图

3.1管理员功能实现

3.2售票员功能实现

四、核心代码

4.1登录相关

4.2文件上传

4.3封装


一、项目简介

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对汽车客运站售票信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用汽车客运站管理系统可以有效管理,使信息管理能够更加科学和规范。

汽车客运站管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员负责售票管理员和检票管理员的信息管理,对车辆,售票和车辆调度信息执行管理,并统计车辆的售票数据。售票管理员查看公告,登记车辆售票信息。检票管理员查看公告,查看售票信息,在线检票。

总之,汽车客运站管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。


二、课题背景

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对汽车客运站售票信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款汽车客运站管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短汽车客运站售票信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约汽车客运站售票信息管理需要的人力和资金。所以汽车客运站管理系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。


三、系统项目截图

3.1管理员功能实现

管理员进入指定功能操作区之后可以管理管理员信息。其页面见下图。这里的管理员包括了售票管理员和检票管理员的信息,管理员主要是增删改查有关管理员的数据信息。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot

管理员进入指定功能操作区之后可以管理车辆信息。其页面见下图。管理员查询车辆有很多种方式,比如根据司机,根据车辆名字,根据车牌号或者是根据始发站以及终点站等都能查询车辆的信息,另外,管理员也能新增车辆,修改页面内的车辆数据。 

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 

管理员进入指定功能操作区之后可以管理车辆调度。其页面见下图。管理员修改车辆的排班信息,新增车辆调度信息,根据排班信息查询车辆调度信息。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 

管理员进入指定功能操作区之后可以管理系统公告。其页面见下图。只有管理员才可以管理系统公告,发布公告信息,其他角色用户只能查看。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 

管理员进入指定功能操作区之后可以管理售票。其页面见下图。管理员本人也能增删改查售票信息,还可以统计各种车辆的售票信息。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 

3.2售票员功能实现

售票管理员进入指定功能操作区之后可以查看系统公告。其页面见下图。售票管理员查看各个公告信息,根据页面提示对公告信息进行检索。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot

售票管理员进入指定功能操作区之后可以管理售票信息。其页面见下图。售票管理员查看已售车票的售票状态,登记新的售票信息。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 

检票管理员进入指定功能操作区之后可以对车票进行查看并检票。其页面见下图。检票管理员查询车票,对已售状态的车票进行检票。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 

检票管理员进入指定功能操作区之后可以检票。其页面见下图。检票管理员检票时主要是核对车辆的始发站以及终点站等相关信息,信息正确即可检票。

基于SSM的汽车客运站管理系统,汽车,学习,mybatis,oracle,java,spring boot 文章来源地址https://www.toymoban.com/news/detail-702173.html


四、核心代码

4.1登录相关


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);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

4.2文件上传

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
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 org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

4.3封装

package com.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 返回数据
 */
public class R extends HashMap<String, Object> {
	private static final long serialVersionUID = 1L;
	
	public R() {
		put("code", 0);
	}
	
	public static R error() {
		return error(500, "未知异常,请联系管理员");
	}
	
	public static R error(String msg) {
		return error(500, msg);
	}
	
	public static R error(int code, String msg) {
		R r = new R();
		r.put("code", code);
		r.put("msg", msg);
		return r;
	}

	public static R ok(String msg) {
		R r = new R();
		r.put("msg", msg);
		return r;
	}
	
	public static R ok(Map<String, Object> map) {
		R r = new R();
		r.putAll(map);
		return r;
	}
	
	public static R ok() {
		return new R();
	}

	public R put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}

到了这里,关于基于SSM的汽车客运站管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于SSM实现的电动汽车充电网点管理系统

    一、系统架构     前端:jsp | jquery | bootstrap | css     后端:spring | springmvc | jdbc     环境:jdk1.8+ | mysql 二、代码及数据库 三、功能介绍     01. web端-首页     02. web端-登录     03. web端-注册     04. web端-我要充电     05. web端-个人中心-消息提醒     06. web端-个人中心

    2024年02月03日
    浏览(39)
  • 基于SSM的汽车维修管理系统——LW模板

    摘要 随着人们生活水平的不断提高,私家车的数量正在逐年攀升。这带动了汽车维修行业的发展。越来越多的汽车维修厂如雨后春笋般涌现。同时,维修厂的业务操作产生了庞大的数据,这给汽车维修厂工作人员的数据管理提出了新的要求,他们需要去考虑如何高效无差错的

    2024年02月10日
    浏览(47)
  • 基于SSM的网上汽车租赁管理系统——LW模板

    摘 要 目前,我国的人均收入越来越高,在经济条件满足日常生活的前提下,越来越多的人喜欢在陌生的城市自己开车而不是乘坐公交和地铁。但仅仅是在陌生的城市游玩或出差就买一辆小轿车还是很不现实的。此网上汽车租赁系统的开发就是为了解决这一问题,可以让人们

    2024年02月11日
    浏览(42)
  • 基于ssm的新能源汽车在线租赁管理系统论文

    随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,新能源汽车在线租赁当然也不能排除在外。新能源汽车在线租赁是以实际运用为开发背景,运用软件工程开发方法,采用SSM技术构建的一个管理系统。整

    2024年03月25日
    浏览(50)
  • 基于ssm+vue的新能源汽车在线租赁管理系统源码和论文PPT

    基于ssm+vue的新能源汽车在线租赁管理系统源码和论文PPT010 开发环境: 开发工具:idea   数据库mysql5.7+(mysql5.7最佳)  数据库链接工具:navcat,小海豚等 开发技术:java  ssm tomcat8.5 随着科学技术的飞速发展, 社会的方方面面、 各行各业都在努力与现代的先进技术接轨,通过科

    2024年02月12日
    浏览(46)
  • SSM汽车维修管理系统

    工具使用情况: eclipse+tomcat+mysql+jdk 有需要的可以联系我。 技术架构: 后台:spring+spring mvc+mybatis 前台:easyui 功能介绍: 汽车维修管理、车辆接待、维修项目登记、维修领料、质检完工、消费结算 配件管理、财务管理、基础数据管理、系统维护 车辆接待:新建用户、选择用

    2024年01月20日
    浏览(38)
  • ssm汽车养护管理系统源码和论文

    ssm汽车养护管理系统038  开发工具:idea   数据库mysql5.7+  数据库链接工具:navcat,小海豚等   技术:ssm 开题报告内容:(研究现状、目的意义;基本内容、研究方法、参考文献等。)  研究现状 国外的MIS系统大都经历了十几年甚至几十年的发展,在使用性和稳定性方面已经

    2024年02月11日
    浏览(39)
  • 基于SSM的物流管理系统

    末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录 一、项目简介 二、论文结构 三、系统项目截图 3.1客户信息管理 3.2物流信息管理 3.3快递

    2024年02月09日
    浏览(39)
  • 基于SSM的工资管理系统

    基于SSM的工资管理系统 开发语言:Java 数据库:MySQL 技术:Spring+SpringMVC+MyBatis+Vue 工具:IDEA/Ecilpse、Navicat、Maven 登录界面 管理员界面 通知公告 考勤管理 工资管理 请假管理   基于SSM(Spring、Spring MVC、MyBatis)的工资管理系统是一个集成了多个现代技术和框架的企业级应用

    2024年02月07日
    浏览(40)
  • 基于SSM的宠物领养管理系统

    🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 基于SSM的宠物领养管理系统,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea jdk1.8 maven mysql 前端技术:jsp,Ajax,Json 后端技

    2024年02月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包