停车场管理系统带万字文档基于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¥带走)
有问题,或者需要协助调试运行项目的也可以