一、前言
如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统大学生综合服务信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个大学生一体化服务平台,可以解决许多问题。
大学生一体化服务平台可以实现的功能包括用户管理,司机管理,商家管理,服务信息管理,服务接单管理,组队拼车管理,拼车信息管理,服务类型管理,闲置交易管理,兼职信息管理,兼职应聘管理等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
大学生一体化服务平台可以提高大学生综合服务信息管理问题的解决效率,优化大学生综合服务信息处理流程,保证大学生综合服务信息数据的安全,它是一个非常可靠,非常安全的应用程序。
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能丢失,信息的传递水平决定了人们生活的水平。如今大家都在使用互联网软件产品,从内部管理设置计算机管理,提高内部信息化的管理水准,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发大学生一体化服务平台,让安装在计算机上的该系统变成管理人员的小帮手,提高大学生综合服务信息处理速度,规范大学生综合服务信息处理流程,让管理人员的产出效益更高。
传统处理数据,必须是一张张纸,然后处理完毕又是统计在一张张纸上面,不断的重复处理,最终有个结果给最高层作为参考,这个模式在互联网没有出现之前,是一种常见的事情,信息管理的效率提不上去,人多不一定力量大,因为人多肯定更加消耗资源,并且因为人类需要休息,需要管理,思想会不统一,会偷懒,所以人们研究出专门帮助人们计算的机器,就是计算机的前身,到了互联网时代,人们发现完全可以让程序供应商提供解决方案,自己挑选自己合适的方案来提高自己的产出比。所以在日常工作和生活中会发现各种各样方便人们的工具。
本课题研发的大学生一体化服务平台,就是提供大学生综合服务信息处理的解决方案,它可以短时间处理完信息,并且这些信息都有专门的存储设备,而且数据的备份和迁移都可以设定为无人值守,从人力角度和信息处理角度以及信息安全角度,大学生一体化服务平台是完胜传统纸质操作的。
二、说明文档
推荐使用:谷歌浏览器
后台地址
http://localhost:8080/springbootsb00r/admin/dist/index.html
管理员 abo 密码 abo
前台地址:http://localhost:8080/springbootsb00r/front/index.html
在src\main\resources\application.yml中编辑
url: jdbc:mysql://127.0.0.1:3306/springbootsb00r?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root
password: 123456 (数据库密码)
三、系统功能设计
大学生一体化服务平台根据使用权限的角度进行功能分析,并运用用例图来展示各个权限需要操作的功能。
图即为管理员用例图,管理员权限操作的功能包括用户管理,司机管理,商家管理,服务信息管理,服务接单管理,组队拼车管理,拼车信息管理,服务类型管理,闲置交易管理,兼职信息管理,兼职应聘管理等。
图即为司机用例图,司机权限操作的功能包括增删改查组队拼车信息,管理拼车信息。
图即为商家用例图,商家权限操作的功能包括增删改查兼职信息,下载应聘简历,管理兼职应聘信息等。
图即为用户用例图,用户权限操作的功能包括对服务接单,可以参与拼车,可以应聘兼职,可以管理服务信息,管理闲置交易信息,查看服务接单信息以及兼职应聘信息等。
五、系统效果
六、核心代码
package com;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
@MapperScan(basePackages = {"com.dao"})
public class SpringbootSchemaApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(SpringbootSchemaApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) {
return applicationBuilder.sources(SpringbootSchemaApplication.class);
}
}
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 2022-03-31 17:19:17
*/
@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);
}
}