基于java+springboot+vue的大学生一体化服务平台

项目介绍

如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统大学生综合服务信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个大学生一体化服务平台,可以解决许多问题。

大学生一体化服务平台可以实现的功能包括用户管理,司机管理,商家管理,服务信息管理,服务接单管理,组队拼车管理,拼车信息管理,服务类型管理,闲置交易管理,兼职信息管理,兼职应聘管理等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。

大学生一体化服务平台可以提高大学生综合服务信息管理问题的解决效率,优化大学生综合服务信息处理流程,保证大学生综合服务信息数据的安全,它是一个非常可靠,非常安全的应用程序。

在这里插入图片描述

4.1 功能结构设计
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括用户管理,司机管理,商家管理,服务信息管理,服务接单管理,组队拼车管理,拼车信息管理,服务类型管理,闲置交易管理,兼职信息管理,兼职应聘管理等。
在这里插入图片描述
图4.2即为设计的司机功能结构,司机权限操作的功能包括增删改查组队拼车信息,管理拼车信息。
在这里插入图片描述
图4.3即为设计的商家功能结构,商家权限操作的功能包括增删改查兼职信息,下载应聘简历,管理兼职应聘信息等。
在这里插入图片描述
图4.4即为设计的用户功能结构,用户权限操作的功能包括对服务接单,可以参与拼车,可以应聘兼职,可以管理服务信息,管理闲置交易信息,查看服务接单信息以及兼职应聘信息等。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SpringBoot
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1 管理员功能实现
5.1.1 司机管理
图5.1 即为编码实现的司机管理界面,司机信息包括司机姓名,联系电话,车牌号,司机账号等信息,管理员修改司机,删除司机信息等。
在这里插入图片描述

图5.1 司机管理界面

5.1.2 商家管理
图5.2 即为编码实现的商家管理界面,商家信息有联系电话,商家地址,商家名称等信息,管理员修改商家,新增商家等。
在这里插入图片描述

图5.2 商家管理界面

5.1.3 用户管理
图5.3 即为编码实现的用户管理界面,用户信息有性别,手机号码,头像,用户姓名,用户账号等信息,管理员修改用户,删除需要删除的用户等。
在这里插入图片描述

图5.3 用户管理界面

5.2 司机功能实现
5.2.1 组队拼车管理
图5.4 即为编码实现的组队拼车管理界面,司机录入组队拼车信息,组队拼车信息包括出发地点,单人费用,座位数,到达地点,联系电话等信息,登记有错误的组队拼车信息也能让司机进行修改,同时也能删除需要删除的组队拼车信息。
在这里插入图片描述

图5.4 组队拼车管理界面

5.2.2 拼车信息管理
图5.5 即为编码实现的拼车信息管理界面,司机在拼车信息管理界面中查看拼车信息详细信息,查看用户姓名和手机号以及是否支付拼车订单。
在这里插入图片描述

图5.5 拼车信息管理界面

5.3 商家功能实现
5.3.1 兼职信息管理
图5.6 即为编码实现的兼职信息管理界面,商家登记兼职信息,兼职信息包括工作地点,工作时间,薪资待遇,岗位名称等信息,商家对兼职信息可以查询,更改等。
在这里插入图片描述

图5.6 兼职信息管理界面

5.3.2 兼职应聘管理
图5.7 即为编码实现的兼职应聘管理界面,商家下载用户的应聘简历,审核用户的应聘信息,查看兼职应聘详细信息等。
在这里插入图片描述

图5.7 兼职应聘管理界面

5.4 用户功能实现
5.4.1 服务信息
图5.8 即为编码实现的服务信息界面,用户可以对未接单的服务进行接单,可以查看服务详细内容等。
在这里插入图片描述

图5.8 服务信息界面

5.4.2 组队拼车
图5.9 即为编码实现的组队拼车界面,用户查看组队拼车信息,用户点击拼车按钮就能提交拼车信息。
在这里插入图片描述

图5.9 组队拼车界面

5.4.3 兼职信息
图5.10 即为编码实现的兼职信息界面,用户查看兼职岗位信息,招聘人数信息以及薪资待遇信息等,用户可以通过应聘来投递个人简历。
在这里插入图片描述

图5.10 兼职信息界面

5.4.4 闲置交易管理
图5.11 即为编码实现的闲置交易管理界面,用户在后台的闲置交易管理界面对闲置物品进行发布,更改,删除等。
在这里插入图片描述

图5.11 闲置交易管理界面

5.4.5 拼车信息管理
图5.12 即为编码实现的拼车信息管理界面,用户在后台的拼车信息管理界面对提交的拼车订单进行支付,同时对拼车信息明细进行查看。
在这里插入图片描述

图5.12 拼车信息管理界面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.JianzhixinxiEntity;
import com.entity.view.JianzhixinxiView;

import com.service.JianzhixinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 兼职信息
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/jianzhixinxi")
public class JianzhixinxiController {
    @Autowired
    private JianzhixinxiService jianzhixinxiService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JianzhixinxiEntity jianzhixinxi,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("shangjia")) {
			jianzhixinxi.setShangjiazhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<JianzhixinxiEntity> ew = new EntityWrapper<JianzhixinxiEntity>();
		PageUtils page = jianzhixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jianzhixinxi), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JianzhixinxiEntity jianzhixinxi, 
		HttpServletRequest request){
        EntityWrapper<JianzhixinxiEntity> ew = new EntityWrapper<JianzhixinxiEntity>();
		PageUtils page = jianzhixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jianzhixinxi), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JianzhixinxiEntity jianzhixinxi){
       	EntityWrapper<JianzhixinxiEntity> ew = new EntityWrapper<JianzhixinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( jianzhixinxi, "jianzhixinxi")); 
        return R.ok().put("data", jianzhixinxiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JianzhixinxiEntity jianzhixinxi){
        EntityWrapper< JianzhixinxiEntity> ew = new EntityWrapper< JianzhixinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jianzhixinxi, "jianzhixinxi")); 
		JianzhixinxiView jianzhixinxiView =  jianzhixinxiService.selectView(ew);
		return R.ok("查询兼职信息成功").put("data", jianzhixinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JianzhixinxiEntity jianzhixinxi = jianzhixinxiService.selectById(id);
        return R.ok().put("data", jianzhixinxi);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JianzhixinxiEntity jianzhixinxi = jianzhixinxiService.selectById(id);
        return R.ok().put("data", jianzhixinxi);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JianzhixinxiEntity jianzhixinxi, HttpServletRequest request){
    	jianzhixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jianzhixinxi);
        jianzhixinxiService.insert(jianzhixinxi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody JianzhixinxiEntity jianzhixinxi, HttpServletRequest request){
    	jianzhixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jianzhixinxi);
        jianzhixinxiService.insert(jianzhixinxi);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody JianzhixinxiEntity jianzhixinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jianzhixinxi);
        jianzhixinxiService.updateById(jianzhixinxi);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jianzhixinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<JianzhixinxiEntity> wrapper = new EntityWrapper<JianzhixinxiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("shangjia")) {
			wrapper.eq("shangjiazhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = jianzhixinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}

论文参考

在这里插入图片描述

目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 课题背景 1
1.2 课题意义 1
1.3 研究内容 1
第2章 开发环境与技术 3
2.1 Java语言 3
2.2 MYSQL数据库 3
2.3 IDEA开发工具 4
2.4 Spring Boot框架 4
第3章 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2 经济可行性 5
3.1.3 操作可行性 5
3.2 系统流程 5
3.2.1 操作流程 6
3.2.2 登录流程 6
3.2.3 删除信息流程 7
3.2.4 添加信息流程 7
3.3 性能需求 8
3.4 功能需求 9
第4章 系统设计 13
4.1 功能结构设计 13
4.2 数据库设计 16
4.2.1 数据库概念设计 16
4.2.2 数据库物理设计 19
第5章 系统实现 26
5.1 管理员功能实现 26
5.1.1 司机管理 26
5.1.2 商家管理 26
5.1.3 用户管理 27
5.2 司机功能实现 27
5.2.1 组队拼车管理 27
5.2.2 拼车信息管理 28
5.3 商家功能实现 28
5.3.1 兼职信息管理 28
5.3.2 兼职应聘管理 29
5.4 用户功能实现 29
5.4.1 服务信息 29
5.4.2 组队拼车 30
5.4.3 兼职信息 30
5.4.4 闲置交易管理 31
5.4.5 拼车信息管理 31
第6章 系统测试 33
6.1 功能测试 33
6.1.1 登录功能测试 33
6.1.2 修改密码功能测试 34
6.2 系统测试结果 35
结 论 36
参考文献 37
致 谢 38

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值