基于javaweb和mysql的springboot交通管理在线服务系统(java+springboot+vue+elementui+mysql)

基于javaweb和mysql的springboot交通管理在线服务系统(java+springboot+vue+elementui+mysql)

基于javaweb和mysql的springboot交通管理在线服务系统(java+springboot+vue+elementui+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot交通管理在线服务系统(java+springboot+vue+elementui+mysql)

项目介绍

基于Springboot + vue实现的交通管理在线服务系统

系统包含用户和管理员两个角色

管理员:

管理员管理:负责添加、删除、修改管理员账号,并设置相应的权限,确保管理员团队的专业性和高效性。

基础数据管理:对交通管理的基础数据进行统一的管理,包括道路信息、交通设施、车辆类型等,确保数据的准确性和完整性。

新闻信息管理:发布、编辑和删除交通新闻、政策更新、路况信息等,保持信息的实时性和有效性。

用户管理:管理用户账号,包括用户注册、登录、权限设置等,确保系统的安全性。

用户:

个人中心管理:查看和编辑个人信息,包括联系方式、地址等;查看个人的交通记录,如驾驶证信息、车辆信息以及违法记录等。

驾驶证业务管理:在线提交驾驶证申请、查询、更新、补办等业务,并实时查看办理进度。

机动车业务管理:在线提交车辆注册、年检、转移、报废等业务申请,并获取办理结果。

违法处理业务管理:在线查询违法记录,包括违章详情、罚款金额等;在线缴纳罚款、申请行政复议等。

新闻信息查看:浏览系统发布的交通新闻、政策更新、路况信息等,了解最新的交通动态。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

4.数据库:MySql 5.7/8.0版本均可;

5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+elementui

使用说明

项目运行:

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;

  3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4.运行项目,在浏览器中输入地址:

后台登录页面

http://localhost:8080/waimaifuwu/admin/dist/index.html#/login

管理员账户:admin 密码:admin

用户账户:a1 密码:123456

文档结构展示:

系统登录展示:

驾驶证业务管理展示:

机动车业务管理展示:

新闻信息管理展示:

违法处理业务管理展示:

用户管理展示:

用户管理控制层:


return Result.su***ess(true);

/**

* 人脸识别登录

* @param username

* @param face

* @return

*/

@RequestMapping(value="/face_login",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> faceLogin(@RequestParam(name="username",required=true)String username,@RequestParam(name="face",required=true)String face){

User user = userService.findByUsername(username);

//判断是否为空

//更新session里的值

SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);

return "redirect:update_userinfo";

/**

* 修改密码页面

* @return

*/

@RequestMapping(value="/update_pwd",method=RequestMethod.GET)

public String updatePwd(){

return "admin/system/update_pwd";

/**

* 修改密码表单提交

* @param oldPwd

* @param newPwd

*/

@RequestMapping(value="/update_pwd",method=RequestMethod.GET)

public String updatePwd(){

return "admin/system/update_pwd";

/**

* 修改密码表单提交

* @param oldPwd

* @param newPwd

* @return

*/

@RequestMapping(value="/update_pwd",method=RequestMethod.POST)

@ResponseBody

public Result<Boolean> updatePwd(@RequestParam(name="oldPwd",required=true)String oldPwd,

if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){

return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);

//检查用户所属角色的权限是否存在

if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){

return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);

//检查一切符合,可以登录,将用户信息存放至session

request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);

//销毁session中的验证码

request.getSession().setAttribute("admin_login", null);

//将登陆记录写入日志库


return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);

//检查用户所属角色的权限是否存在

if(user.getRole().getAuthorities() == null || user.getRole().getAuthorities().size() == 0){

return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);

//此处调用百度api接口对比两张人脸相似度

String faceMatch = BaiduApi.faceMatch(user.getFace(), face);

log.info(faceMatch);

JSONObject parseObject = JSONObject.parseObject(faceMatch);

if(parseObject.getIntValue("error_code") != 0){

CodeMsg codeMsg = CodeMsg.DATA_ERROR;

codeMsg.setMsg(parseObject.getString("error_msg"));

return Result.error(codeMsg);

//此处判断人脸可信度


@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

@Autowired

private OperaterLogService operaterLogService;

/**

* 用户列表页面

* @param model

* @param user

*/

@RequestMapping(value="/list")

public String list(Model model,User user,PageBean<User> pageBean){

model.addAttribute("title", "用户列表");

model.addAttribute("username", user.getUsername());

model.addAttribute("pageBean", userService.findList(user, pageBean));

return "admin/user/list";

/**

* 新增用户页面

* @param model

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.GET)


log.info("添加角色【"+role+"】");

operaterLogService.add("添加角色【"+role.getName()+"】");

return Result.su***ess(true);

/**

* 角色编辑页面

* @param id

* @param model

* @return

*/

@RequestMapping(value="/edit",method=RequestMethod.GET)

loginedUser.setMobile(user.getMobile());

loginedUser.setHeadPic(user.getHeadPic());

//首先保存到数据库

userService.save(loginedUser);

//更新session里的值

SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);

return "redirect:update_userinfo";

/**

* 修改密码页面

* @return

*/

@RequestMapping(value="/update_pwd",method=RequestMethod.GET)

public String updatePwd(){

@ResponseBody

public Result<Boolean> login(HttpServletRequest request,User user,String cpacha){

if(user == null){

return Result.error(CodeMsg.DATA_ERROR);

//用统一验证实体方法验证是否合法

CodeMsg validate = ValidateEntityUtil.validate(user);

if(validate.getCode() != CodeMsg.SU***ESS.getCode()){

return Result.error(validate);

//表示实体信息合法,开始验证验证码是否为空

if(StringUtils.isEmpty(cpacha)){

return Result.error(CodeMsg.CPACHA_EMPTY);

//说明验证码不为空,从session里获取验证码


//表示密码正确,接下来判断用户状态是否可用

if(findByUsername.getStatus() == User.ADMIN_USER_STATUS_UNABLE){

return Result.error(CodeMsg.ADMIN_USER_UNABLE);

//检查用户所属角色状态是否可用

if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){

return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);

//检查用户所属角色的权限是否存在

if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){

return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);

//检查一切符合,可以登录,将用户信息存放至session

request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);

public class RoleController {

private Logger log = LoggerFactory.getLogger(RoleController.class);

@Autowired

private MenuService menuService;

@Autowired

private OperaterLogService operaterLogService;

@Autowired

private RoleService roleService;

/**

* 分页搜索角色列表

* @param model


){

User loginedUser = SessionUtil.getLoginedUser();

if(!loginedUser.getPassword().equals(oldPwd)){

return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);

if(StringUtils.isEmpty(newPwd)){

return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY);

loginedUser.setPassword(newPwd);

//保存数据库

userService.save(loginedUser);

//更新session

SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);

return Result.su***ess(true);

/**


public String list(Model model,Role role,PageBean<Role> pageBean){

model.addAttribute("title", "角色列表");

model.addAttribute("name", role.getName());

model.addAttribute("pageBean", roleService.findByName(role, pageBean));

return "admin/role/list";

/**

* 角色添加页面

* @param model

* @return

*/

@RequestMapping(value="/add",method=RequestMethod.GET)

try {

roleService.delete(id);

} catch (Exception e) {

// TODO: handle exception

return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);

log.info("编辑角色ID【"+id+"】");

operaterLogService.add("删除角色ID【"+id+"】");

return Result.su***ess(true);

系统管理控制层:

/**

* 系统控制器

*/

@RequestMapping("/system")


private OperaterLogService operaterLogService;

@Autowired

private RoleService roleService;

/**

* 分页搜索角色列表

* @param model

* @param role

* @param pageBean

* @return

*/

@RequestMapping(value="/list")


operaterLogService.add("添加用户,用户ID:" + id);

return Result.su***ess(true);

角色管理控制层:

/**

* 后台角色管理控制器

*/

@RequestMapping("/role")

@Controller

public class RoleController {

private Logger log = LoggerFactory.getLogger(RoleController.class);







转载请说明出处内容投诉
CSS教程网 » 基于javaweb和mysql的springboot交通管理在线服务系统(java+springboot+vue+elementui+mysql)

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买