当前位置: 首页 > news >正文

停车场管理系统带万字文档基于Springboot+Vue的前后端分离停车场管理系统Springboot项目java项目java课程设计java毕业设计

文章目录

  • 停车场管理系统
    • 一、项目演示
    • 二、项目介绍
    • 三、万字项目文档
    • 四、部分功能截图
    • 五、部分代码展示
    • 六、底部获取项目源码带万字文档(9.9¥带走)

停车场管理系统

一、项目演示

停车场管理系统

二、项目介绍

基于SpringBoot+Vue的前后端分离停车场管理系统

数据库:mysql
开发语言:java
前端技术:vue、element-ui
后端技术:springboot、mybatisplus

一、 管理员用户
用户信息管理
车位信息管理
车位费用设置
停泊车辆管理
车辆进出管理
登录日志查询

二、车主用户
个人中心
预定停车位
缴费信息(停车缴费记录、待缴费、账户余额充值)

三、万字项目文档

在这里插入图片描述
在这里插入图片描述

四、部分功能截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、部分代码展示

package com.rabbiter.pm.controller;


import cn.dev33.satoken.util.SaFoxUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.rabbiter.pm.domain.*;
import com.rabbiter.pm.service.*;
import com.rabbiter.pm.utils.ResultJson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author rabbiter
 * @since 2023-03-27
 */
@RestController
@RequestMapping("/fee")
public class FeeController {

    @Autowired
    private FeeService feeService;

    @Autowired
    private StallTypeService stallTypeService;

    @Autowired
    private StallService stallService;

    @Autowired
    private UserService userService;

    @Autowired
    private RechargeService rechargeService;

    @GetMapping("/list")
    public ResultJson<List<Fee>> getListFee(String carType){
        return ResultJson.success(feeService.list(new QueryWrapper<Fee>().like("car_type",carType)));
    }

    @PostMapping("update")
    public ResultJson<Object> updateFee(@RequestBody Fee fee){
        Map<String,Object> res = new HashMap<>();
        res.put("flag",false);
        res.put("msg","更新失败,请重新操作!");
        if(!SaFoxUtil.isEmpty(fee.getCarType())&&!SaFoxUtil.isEmpty(fee.getMoney())){
            if(feeService.update(fee,new QueryWrapper<Fee>().eq("car_type",fee.getCarType()))){
                res.put("flag",true);
                res.put("msg","更新成功!");
                Stall stall = new Stall();
                stall.setStallType(fee.getCarType());
                stall.setStallMoney(fee.getMoney());
                stallService.update(stall,new QueryWrapper<Stall>().eq("stall_type",fee.getCarType()));

                StallType stallType = new StallType();
                stallType.setOmoney(fee.getMoney());
                stallType.setOtype(fee.getCarType());
                stallTypeService.update(stallType,new QueryWrapper<StallType>().eq("otype",fee.getCarType()));
            }
        }else{
            res.put("msg","更新失败,填写不完善");
        }
        return ResultJson.success(res);
    }


    @PostMapping("/userFee")
    public ResultJson<Object> feeUser(@RequestBody User user){
        Map<String,Object> res = new HashMap<>();
        res.put("flag",false);
        res.put("msg","充值失败,请重新尝试");
        if(!SaFoxUtil.isEmpty(user.getUsername())&&!SaFoxUtil.isEmpty(user.getMoney())){
            User user1 = userService.getOne(new QueryWrapper<User>().eq("username",user.getUsername()));
            if(!SaFoxUtil.isEmpty(user1)){
                double mon = user.getMoney();
                double non = user1.getMoney()==null ? 0 : user1.getMoney();
                user.setMoney(non+user.getMoney());
                if(userService.update(user,new QueryWrapper<User>().eq("username",user.getUsername()))){
                    res.put("flag",true);
                    res.put("msg","充值成功");

                    Recharge recharge = new Recharge();
                    recharge.setCtime(LocalDateTime.now());
                    recharge.setPerson(user.getUsername());
                    recharge.setMoney(mon);
                    rechargeService.save(recharge);
                }
            }else{
                res.put("msg","充值失败,用户不存在");
            }
        }else{
            res.put("msg","充值失败,填写不完善");
        }
        return ResultJson.success(res);
    }

}


package com.rabbiter.pm.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.rabbiter.pm.domain.User;
import com.rabbiter.pm.domain.vo.UserVo;
import com.rabbiter.pm.service.UserService;
import com.rabbiter.pm.utils.ResultJson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  用户前端控制器
 * </p>
 * @author rabbiter
 * @since 2023-03-21
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 登录
     */
  @PostMapping("/login")
  public ResultJson<Object> login(@RequestBody User user){
      return ResultJson.success(userService.login(user));
  }

    /**
     * 注册
     */
  @PostMapping("/register")
  public ResultJson<Boolean> register(@RequestBody User user){
      return ResultJson.success(userService.register(user));
  }

  @GetMapping("/checkUsername")
  public ResultJson<Boolean> checkUsername(String username){
      return ResultJson.success(userService.getOne(new QueryWrapper<User>().eq("username",username))==null);
  }

    /**
     * 新增
     */
  @PostMapping("/add")
  public ResultJson<Boolean> addUser(@RequestBody User user){
      return ResultJson.success(userService.add(user));
  }

    /**
     * 根据用户ID删除用户信息
     */
  @GetMapping("/del")
  public ResultJson<Boolean> delUser(Integer uid){
      return ResultJson.success(userService.delUser(uid));
  }

    /**
     * 模糊查询用户
     */
  @GetMapping("/detail")
  public ResultJson<Object> getUser(User user){
      return ResultJson.success(userService.getUsers(user));
  }

  @PostMapping("/getUsers")
  public ResultJson<Object> getUsersPage(@RequestBody UserVo userVo){
      return ResultJson.success(userService.getUsersPage(userVo));
  }

    /**
     * 更改用户信息
     */
  @PostMapping("/update")
  public ResultJson<Boolean> update(@RequestBody User user){
      return ResultJson.success(userService.updateUser(user));
  }

    /**
     * 用户更改个人信息
     */
  @PostMapping("/updateByUser")
  public ResultJson<Boolean> updateByUser(@RequestBody User user){
      return ResultJson.success(userService.updateByUser(user));
  }

    /**
     * 重置密码
     */
  @GetMapping("/release")
  public ResultJson<Boolean> updatePassword(Integer uid){
      return ResultJson.success(userService.release(uid));
  }


  @GetMapping("/getUserByUid")
  public ResultJson<User> gerUserByUid(Integer uid){
      ResultJson<User> success = ResultJson.success(userService.getById(uid));
      return success;
  }


  @PostMapping("/userPay")
  public ResultJson<Boolean> userPay(@RequestBody User user){
      return ResultJson.success(userService.userPay(user));
  }


  @GetMapping("/dataType")
  public ResultJson<Object> getUserResCo(String person){
      return ResultJson.success(userService.getUserDataType(person));
  }

    @GetMapping("/dataMoney")
    public ResultJson<Object> getUserMoney(String person){
        return ResultJson.success(userService.getUserDataMoney(person));
    }

}


package com.rabbiter.pm.controller;


import com.rabbiter.pm.domain.Stall;
import com.rabbiter.pm.domain.StallRes;
import com.rabbiter.pm.domain.vo.StallResVo;
import com.rabbiter.pm.domain.vo.StallVo;
import com.rabbiter.pm.service.StallService;
import com.rabbiter.pm.utils.ResultJson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author rabbiter
 * @since 2023-03-22
 */
@RestController
@RequestMapping("/stall")
public class StallController {

    @Autowired
    private StallService stallService;

    @PostMapping("/getStallList")
    public ResultJson<Object> getStallList(@RequestBody StallVo stallVo){
        return ResultJson.success(stallService.getStallList(stallVo));
    }

    @GetMapping("/orderStall")
    public ResultJson<Object> orderStall(Integer uid, Integer sid){
        return ResultJson.success(stallService.orderStall(uid,sid));
    }

    @PostMapping("/add")
    public ResultJson<Object> addStall(@RequestBody Stall stall){
        return ResultJson.success(stallService.addStall(stall));
    }

    @PostMapping("/update")
    public ResultJson<Object> updateStall(@RequestBody Stall stall){
        return ResultJson.success(stallService.updateStall(stall));
    }

    @GetMapping("/del")
    public ResultJson<Object> deleteStall(Integer sid){
        Stall stall = new Stall();
        stall.setSid(sid);
        stall.setStallLive("0");
        return ResultJson.success(stallService.updateById(stall));
    }

    @GetMapping("/allRes")
    public ResultJson<Object> allStallRes(String person){
        return ResultJson.success(stallService.getAllStallRes(person));
    }

    @GetMapping("/allNoPay")
    public ResultJson<Object> allNoPay(String person){
        return ResultJson.success(stallService.getAllNoPay(person).stream().filter(r -> r.getOverTime()==null));
    }

    @PostMapping("/allList")
    public ResultJson<Object> allStallResList(@RequestBody StallResVo stallResVo){
        return ResultJson.success(stallService.getAllListStallRes(stallResVo));
    }

    @PostMapping("/payMoney")
    public ResultJson<Object> payMoney(@RequestBody StallRes stallRes){
        return ResultJson.success(stallService.payMoneyManager(stallRes));
    }

    @PostMapping("/payMoneyPerson")
    public ResultJson<Object> payMoneyPerson(@RequestBody StallRes stallRes){
        return ResultJson.success(stallService.payMoneyPerson(stallRes));
    }



}


六、底部获取项目源码带万字文档(9.9¥带走)

有问题,或者需要协助调试运行项目的也可以

http://www.dtcms.com/a/122489.html

相关文章:

  • Open Scene Graph 3D到2D坐标转换
  • 【数据库原理及安全实验】实验二 数据库的语句操作
  • 【软件测试】自动化测试框架Pytest + Selenium的使用
  • Ubuntu 24.04启用root账户
  • Hi168云平台部署Ansible学习环境
  • Mysql(继续更新)
  • linux入门三:Linux 编辑器
  • 查看手机在线状态,保障设备安全运行
  • js chrome 插件,下载微博视频
  • 树和图论【详细整理,简单易懂!】(C++实现 蓝桥杯速查)
  • Python | 第十三章 | 多态 | 魔术方法 | 静态方法 | 抽象类
  • c++day7
  • 基于 SpringBoot 的民宿管理平台系统
  • 用PHPExcel 封装的导出方法,支持导出无限列
  • DNS常见问题:什么是主机记录和记录值?(国科云)
  • 【Android】Android 获取当前前台应用包名与自动化控制全流程实践笔记(适配 Android 10+)
  • 网络安全防护技术
  • Python与DeepSeek应用:解锁AI开发新姿势
  • C# 设置Excel中文本的对齐方式、换行、和旋转
  • 【深度学习】Downstream Model:预训练模型的下游应用与微调技术
  • 网络空间安全(54)CSRF
  • 边缘计算盒子是什么?
  • Dify教程01-Dify是什么、应用场景、如何安装
  • 解决python manage.py shell ModuleNotFoundError: No module named xxx
  • OCR之行驶证识别
  • 【MySQL】——详解事务
  • 多账户使用Github的场景,设置 SSH 多账号使用特定 key
  • MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
  • Pytorch查看神经网络结构和参数量
  • MongoDB 新手笔记