【FL0084】基于SSM和微信小程序的客运自助售票小程序

🧑‍💻博主介绍🧑‍💻

        全网粉丝10W+,优快云全栈领域优质创作者,博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战,以及程序定制化开发、文档编写、答疑辅导等。
👇🏻 精彩专栏 推荐订阅👇🏻

计算机毕业设计精品项目案例(持续更新)
📃文末获取源码+数据库+文档📃
        感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多的人

一. 前言

社会不断发展,竞争压力也越来越大。不断的进步才能保证自己的竞争力。客运做为出行的必须品需求量非常大。客运站的车票销售显得更为重要。我国自改革后,社会发展迅速,外出成为常态。目前我国大部分的客运站在销售车票时采用窗口销售,这种方式需要大量的工作人员和用户排队,效率低。为了实现用户足不出户购买车票合理的安排时间,一个方便使用、功能丰富、操作简单的客运自助售票小程序非常重要。

本客运自助售票小程序采用java语言和mysql数据库进行设计,运行平台为微信开发者工具,采用的框架为springboot,属于一种微信小程序。本系统包括的内容有车票信息、失物招领信息、通知信息、留言信息、资讯信息。乘客可以注册和购买车票、管理订单,管理员可以审核乘客、司机信息,可以管理车票信息、订单信息、退票信息、失物招领信息、客车登记、通知信息和管理员信息。司机可以看到销售出去的订单和通知信息。本系统可以实现车票的销售和管理,为客运站的车票销售提供帮助。


二.技术环境

开发语言:Java
框架:后端springboot、前端vue、微信小程序
JDK版本:JDK1.8
服务器:tomcat9.0.36
数据库:mysql 5.7(一定要5.7版本)
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.6.3
浏览器:谷歌浏览器
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
后端IDE:Idea


三. 功能设计

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的结构图(见下图)。


四. 数据库设计

这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。


五. 项目效果展示

用户想要使用本系统必须通过登录界面,登录界面属于身份权限的验证。用户按照要求输入账号和密码,如果两项信息验证正确就可以进入操作界面。如果两项信息验证错误就会提示登录失败的信息。

乘客在登录界面通过验证后可以进入到此界面。本界面里可以看到失物招领信息和车票信息以及所有的功能按钮。首页的操作界面如下图

在首页里可以看到所有的车票信息,可以通过班次、地点等进行车票的搜索。车票信息的实现界面如下图

乘客可以查看到所有的失物招领信息,还可以根据失物招领的分类查询失物招领信息。也可以在失物招领信息后进行留言。失物招领信息功能的实现界面如下

乘客在选择好车票后可以填写购票信息实现车票的购买。购票功能的实现界面如下图


六. 功能源码


package com.controller;


import java.util.Arrays;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
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.RestController;

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

/**
 * 登录相关
 */
@RequestMapping("config")
@RestController
public class ConfigController{
	
	@Autowired
	private ConfigService configService;

	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ConfigEntity config){
        EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
    	PageUtils page = configService.queryPage(params);
        return R.ok().put("data", page);
    }
    
	/**
     * 列表
     */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ConfigEntity config){
        EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
    	PageUtils page = configService.queryPage(params);
        return R.ok().put("data", page);
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        ConfigEntity config = configService.selectById(id);
        return R.ok().put("data", config);
    }
    
    /**
     * 详情
     */
    @IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        ConfigEntity config = configService.selectById(id);
        return R.ok().put("data", config);
    }
    
    /**
     * 根据name获取信息
     */
    @RequestMapping("/info")
    public R infoByName(@RequestParam String name){
        ConfigEntity config = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
        return R.ok().put("data", config);
    }
    
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody ConfigEntity config){
//    	ValidatorUtils.validateEntity(config);
    	configService.insert(config);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ConfigEntity config){
//        ValidatorUtils.validateEntity(config);
        configService.updateById(config);//全部更新
        return R.ok();
    }

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

源码及文档获取

文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值