• 毕业设计-springboot+vue公租房租赁管理系统


    作者主页:编程指南针

    作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

    主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

    文末获取源码 

    项目编号:BS-XX-119

    一,项目简介

         本项目主要基于Springboot+Vue实现前后端分离的公租房管理系统,主要使用用户包括系统管理员和租户。申请入驻公租房的客户在线下走申请流程,申请成功后管理员将租房信息添加到系统中,用户登陆系统查看可租的公租房信息后,由管理员添加房租出租信息,并设置租金交纳记录。租户可以在系统中添加维修申请,并可以查看系统发布的新闻公告。

    二,环境介绍

    语言环境:Java:  jdk1.8

    数据库:Mysql: mysql5.7

    应用服务器:Tomcat:  tomcat8.5.31

    开发工具:IDEA或eclipse

    后台开发技术:Springboot+Mybatis

    前端开发技术:Vue+Element

    三,系统展示

    管理员用户功能展示

    用户登陆

    后台管理界面

    房屋出租信息管理

    房屋租金信息管理

    房屋故障维修管理

    新闻公告管理

    用户管理

    租户相关功能模块

    查看公租房信息

    查看租金缴纳情况

    故障申报

    新闻信息公告

    个人信息查看

    修改密码

    四,核心代码展示

    1. package com.house.controller;
    2. import com.house.common.Result;
    3. import com.house.common.StatusCode;
    4. import com.house.dto.HouseExecution;
    5. import com.house.pojo.HouseList;
    6. import com.house.service.HouseListService;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.web.bind.annotation.*;
    9. import java.util.List;
    10. @RestController
    11. @CrossOrigin
    12. @RequestMapping(value="/house")
    13. public class HouseController {
    14. @Autowired
    15. private HouseListService houseListService;
    16. @RequestMapping(value = "/getallhouselist",method = RequestMethod.GET)
    17. public Result getAllHouseList(){
    18. List houseList = houseListService.findHouseListByCondition(null,null,null);
    19. return new Result(true, StatusCode.SUCCESS,"查找房屋信息列表成功",houseList);
    20. }
    21. @RequestMapping(value = "/gethouselistbycondition",method = RequestMethod.POST)
    22. public Result getHouseListByCondition(@RequestBody HouseList houseList){
    23. return new Result(true, StatusCode.SUCCESS,"按条件查找房屋信息列表成功",houseListService.findHouseListByCondition(houseList.getStatus(),houseList.getAddress(),houseList.getUserlist_Id()));
    24. }
    25. @RequestMapping(value="/addhouse",method = RequestMethod.POST)
    26. public Result addHouse(@RequestBody HouseList houseList){
    27. HouseExecution he;
    28. try{
    29. he = houseListService.addHouse(houseList);
    30. if(he.isFlag()){
    31. return new Result(true,StatusCode.SUCCESS,"添加房屋信息成功");
    32. }else {
    33. return new Result(false,StatusCode.ERROR,"添加房屋信息失败:" + he.getReason());
    34. }
    35. }catch (Exception e){
    36. return new Result(false,StatusCode.ERROR,"添加房屋信息失败:" + e.toString());
    37. }
    38. }
    39. @RequestMapping(value="/updatehouse",method = RequestMethod.POST)
    40. public Result updateHouse(@RequestBody HouseList houseList){
    41. HouseExecution he;
    42. try{
    43. he = houseListService.updateHouse(houseList);
    44. if(he.isFlag()){
    45. return new Result(true,StatusCode.SUCCESS,"修改房屋信息成功");
    46. }else {
    47. return new Result(false,StatusCode.ERROR,"修改房屋信息失败:" + he.getReason());
    48. }
    49. }catch (Exception e){
    50. return new Result(false,StatusCode.ERROR,"修改房屋信息失败:" + e.toString());
    51. }
    52. }
    53. @RequestMapping(value="/deletehouse",method = RequestMethod.DELETE)
    54. public Result deleteHouse(@RequestParam("houseId")Integer houseId){
    55. HouseExecution he;
    56. try{
    57. he = houseListService.deleteHouse(houseId);
    58. if(he.isFlag()){
    59. return new Result(true,StatusCode.SUCCESS,"删除房屋信息成功");
    60. }else {
    61. return new Result(false,StatusCode.ERROR,"删除房屋信息失败:" + he.getReason());
    62. }
    63. }catch (Exception e){
    64. return new Result(false,StatusCode.ERROR,"删除房屋信息失败:" + e.toString());
    65. }
    66. }
    67. }

    1. package com.house.controller;
    2. import com.house.common.Result;
    3. import com.house.common.StatusCode;
    4. import com.house.dto.PaidExecution;
    5. import com.house.pojo.Paid;
    6. import com.house.service.PaidService;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.web.bind.annotation.*;
    9. @RestController
    10. @CrossOrigin
    11. @RequestMapping(value="/paid")
    12. public class PaidController {
    13. @Autowired
    14. private PaidService paidService;
    15. @RequestMapping(value = "/getallpaidlist",method = RequestMethod.GET)
    16. public Result getAllPaidList(){
    17. return new Result(true, StatusCode.SUCCESS,"查找租金信息列表成功",paidService.findPaidListByCondition(null,null,null,null));
    18. }
    19. @RequestMapping(value = "/getpaidlistbycondition",method = RequestMethod.POST)
    20. public Result getPaidListByCondition(@RequestBody Paid paid){
    21. return new Result(true, StatusCode.SUCCESS,"按条件查找租金信息列表成功",paidService.findPaidListByCondition(paid.getStatus(),paid.getName(),paid.getAddress(),paid.getUserlist_id()));
    22. }
    23. @RequestMapping(value="/addpaid",method = RequestMethod.POST)
    24. public Result addPaid(@RequestBody Paid paid){
    25. PaidExecution pe;
    26. try{
    27. pe = paidService.addPaid(paid);
    28. if(pe.isFlag()){
    29. return new Result(true,StatusCode.SUCCESS,"添加租金信息成功");
    30. }else {
    31. return new Result(false,StatusCode.ERROR,"添加租金信息失败:" + pe.getReason());
    32. }
    33. }catch (Exception e){
    34. return new Result(false,StatusCode.ERROR,"添加租金信息失败:" + e.toString());
    35. }
    36. }
    37. @RequestMapping(value="/updatepaid",method = RequestMethod.POST)
    38. public Result updatePaid(@RequestBody Paid paid){
    39. PaidExecution pe;
    40. try{
    41. pe = paidService.updatePaid(paid);
    42. if(pe.isFlag()){
    43. return new Result(true,StatusCode.SUCCESS,"修改租金信息成功");
    44. }else {
    45. return new Result(false,StatusCode.ERROR,"修改租金信息失败:" + pe.getReason());
    46. }
    47. }catch (Exception e){
    48. return new Result(false,StatusCode.ERROR,"修改租金信息失败:" + e.toString());
    49. }
    50. }
    51. @RequestMapping(value="/deletepaid",method = RequestMethod.DELETE)
    52. public Result deletePaid(@RequestParam("paidId")Integer paidId){
    53. PaidExecution pe;
    54. try{
    55. pe = paidService.deletePaid(paidId);
    56. if(pe.isFlag()){
    57. return new Result(true,StatusCode.SUCCESS,"删除租金信息成功");
    58. }else {
    59. return new Result(false,StatusCode.ERROR,"删除租金信息失败:" + pe.getReason());
    60. }
    61. }catch (Exception e){
    62. return new Result(false,StatusCode.ERROR,"删除租金信息失败:" + e.toString());
    63. }
    64. }
    65. }

    1. package com.house.controller;
    2. import com.house.common.Result;
    3. import com.house.common.StatusCode;
    4. import com.house.dto.ScheduleExecution;
    5. import com.house.pojo.Schedule;
    6. import com.house.service.ScheduleService;
    7. import com.house.utils.DateUtil;
    8. import org.springframework.beans.factory.annotation.Autowired;
    9. import org.springframework.web.bind.annotation.*;
    10. import java.util.Date;
    11. @RestController
    12. @CrossOrigin
    13. @RequestMapping(value="/schedule")
    14. public class ScheduleController {
    15. @Autowired
    16. private ScheduleService scheduleService;
    17. @RequestMapping(value = "/getallschedulelist",method = RequestMethod.GET)
    18. public Result getAllScheduleList(){
    19. return new Result(true, StatusCode.SUCCESS,"查找公告信息列表成功",scheduleService.findByCondition());
    20. }
    21. @RequestMapping(value = "/getscheduleinsevendays",method = RequestMethod.GET)
    22. public Result getScheduleInsevenDays(){
    23. return new Result(true, StatusCode.SUCCESS,"查找公告信息列表成功",scheduleService.findScheduleInSevenDays(DateUtil.dateFormat1(new Date())));
    24. }
    25. @RequestMapping(value = "/getschedulelistbycondition",method = RequestMethod.POST)
    26. public Result getScheduleListByCondition(@RequestBody Schedule schedule){
    27. return new Result(true, StatusCode.SUCCESS,"按条件查找公告信息列表成功",scheduleService.findByCondition());
    28. }
    29. @RequestMapping(value="/addschedule",method = RequestMethod.POST)
    30. public Result addSchedule(@RequestBody Schedule schedule){
    31. ScheduleExecution se;
    32. try{
    33. se = scheduleService.addSchedule(schedule);
    34. if(se.isFlag()){
    35. return new Result(true,StatusCode.SUCCESS,"添加公告信息成功");
    36. }else {
    37. return new Result(false,StatusCode.ERROR,"添加公告信息失败:" + se.getReason());
    38. }
    39. }catch (Exception e){
    40. return new Result(false,StatusCode.ERROR,"添加公告信息失败:" + e.toString());
    41. }
    42. }
    43. @RequestMapping(value="/updateschedule",method = RequestMethod.POST)
    44. public Result updateSchedule(@RequestBody Schedule schedule){
    45. ScheduleExecution se;
    46. try{
    47. se = scheduleService.updateSchedule(schedule);
    48. if(se.isFlag()){
    49. return new Result(true,StatusCode.SUCCESS,"修改公告信息成功");
    50. }else {
    51. return new Result(false,StatusCode.ERROR,"修改公告信息失败:" + se.getReason());
    52. }
    53. }catch (Exception e){
    54. return new Result(false,StatusCode.ERROR,"修改公告信息失败:" + e.toString());
    55. }
    56. }
    57. @RequestMapping(value="/deleteschedule",method = RequestMethod.DELETE)
    58. public Result deleteSchedule(@RequestParam("scheduleId")Integer scheduleId){
    59. ScheduleExecution se;
    60. try{
    61. se = scheduleService.deleteSchedule(scheduleId);
    62. if(se.isFlag()){
    63. return new Result(true,StatusCode.SUCCESS,"删除公告信息成功");
    64. }else {
    65. return new Result(false,StatusCode.ERROR,"删除公告信息失败:" + se.getReason());
    66. }
    67. }catch (Exception e){
    68. return new Result(false,StatusCode.ERROR,"删除公告信息失败:" + e.toString());
    69. }
    70. }
    71. }

    1. package com.house.controller;
    2. import com.house.common.Result;
    3. import com.house.common.StatusCode;
    4. import com.house.dto.SolveExecution;
    5. import com.house.pojo.Solve;
    6. import com.house.service.SolveService;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.web.bind.annotation.*;
    9. @RestController
    10. @CrossOrigin
    11. @RequestMapping(value="/solve")
    12. public class SolveController {
    13. @Autowired
    14. private SolveService solveService;
    15. @RequestMapping(value = "/getallsolvelist",method = RequestMethod.GET)
    16. public Result getAllSolveList(){
    17. return new Result(true, StatusCode.SUCCESS,"查找故障信息列表成功",solveService.findSolveListByCondition(null,null,null,null));
    18. }
    19. @RequestMapping(value = "/getsolvelistbycondition",method = RequestMethod.POST)
    20. public Result getSolveListByCondition(@RequestBody Solve solve){
    21. return new Result(true, StatusCode.SUCCESS,"按条件查找故障信息列表成功",solveService.findSolveListByCondition(solve.getStatus(),solve.getName(),solve.getAddress(),solve.getUserlist_id()));
    22. }
    23. @RequestMapping(value="/addsolve",method = RequestMethod.POST)
    24. public Result addSolve(@RequestBody Solve solve){
    25. SolveExecution se;
    26. try{
    27. se = solveService.addSolve(solve);
    28. if(se.isFlag()){
    29. return new Result(true,StatusCode.SUCCESS,"添加故障信息成功");
    30. }else {
    31. return new Result(false,StatusCode.ERROR,"添加故障信息失败:" + se.getReason());
    32. }
    33. }catch (Exception e){
    34. return new Result(false,StatusCode.ERROR,"添加故障信息失败:" + e.toString());
    35. }
    36. }
    37. @RequestMapping(value="/updatesolve",method = RequestMethod.POST)
    38. public Result updateSolve(@RequestBody Solve solve){
    39. SolveExecution se;
    40. try{
    41. se = solveService.updateSolve(solve);
    42. if(se.isFlag()){
    43. return new Result(true,StatusCode.SUCCESS,"修改故障信息成功");
    44. }else {
    45. return new Result(false,StatusCode.ERROR,"修改故障信息失败:" + se.getReason());
    46. }
    47. }catch (Exception e){
    48. return new Result(false,StatusCode.ERROR,"修改故障信息失败:" + e.toString());
    49. }
    50. }
    51. @RequestMapping(value="/deletesolve",method = RequestMethod.DELETE)
    52. public Result deleteSolve(@RequestParam("solveId")Integer solveId){
    53. SolveExecution se;
    54. try{
    55. se = solveService.deleteSolve(solveId);
    56. if(se.isFlag()){
    57. return new Result(true,StatusCode.SUCCESS,"删除故障信息成功");
    58. }else {
    59. return new Result(false,StatusCode.ERROR,"删除故障信息失败:" + se.getReason());
    60. }
    61. }catch (Exception e){
    62. return new Result(false,StatusCode.ERROR,"删除故障信息失败:" + e.toString());
    63. }
    64. }
    65. }

    1. package com.house.controller;
    2. import java.util.HashMap;
    3. import java.util.Map;
    4. import com.house.dto.LoginUser;
    5. import com.house.common.Result;
    6. import com.house.common.StatusCode;
    7. import com.house.dto.UserExecution;
    8. import com.house.pojo.User;
    9. import com.house.pojo.UserList;
    10. import com.house.service.UserService;
    11. import com.house.utils.JwtUtil;
    12. import com.house.vo.PasswordVO;
    13. import org.springframework.beans.factory.annotation.Autowired;
    14. import org.springframework.web.bind.annotation.*;
    15. @RestController
    16. @CrossOrigin
    17. @RequestMapping(value="/user")
    18. public class UserController {
    19. @Autowired
    20. private UserService userService;
    21. @RequestMapping(value = "/login",method = RequestMethod.POST)
    22. public Map login(@RequestBody LoginUser loginUser) {
    23. Map map = new HashMap<>();
    24. User user = userService.login(loginUser.getAccount(),loginUser.getPassword());
    25. if(user == null){
    26. map.put("flag",false);
    27. return map;
    28. }
    29. UserList userList = userService.findUserInfoByCondition(null,user.getId(),null);
    30. //生成令牌
    31. JwtUtil jwtUtil = new JwtUtil();
    32. String token = null;
    33. if(userList.getType() == 1){
    34. map.put("systemRole","admin");
    35. token = jwtUtil.createJWT(String.valueOf(userList.getId()),user.getUsername(),"admin");
    36. }else {
    37. map.put("systemRole","user");
    38. token = jwtUtil.createJWT(String.valueOf(userList.getId()),user.getUsername(),"user");
    39. }
    40. map.put("userInfo",userList);
    41. map.put("token",token);
    42. map.put("flag",true);
    43. return map;
    44. }
    45. @RequestMapping(value = "/getalluserlist",method = RequestMethod.GET)
    46. public Result getAllUserList(){
    47. return new Result(true, StatusCode.SUCCESS,"查找用户列表成功",userService.findUserListByCondition(null,null));
    48. }
    49. @RequestMapping(value = "/getuserlistbycondition",method = RequestMethod.POST)
    50. public Result getuUerListByCondition(@RequestBody UserList userList){
    51. return new Result(true, StatusCode.SUCCESS,"按条件查找用户列表成功",userService.findUserListByCondition(userList.getName(),userList.getId()));
    52. }
    53. @RequestMapping(value = "/getuserinfobycondition",method = RequestMethod.POST)
    54. public Result getUserInfoByCondition(@RequestBody UserList userList){
    55. return new Result(true, StatusCode.SUCCESS,"按条件查找用户列表成功",userService.findUserInfoByCondition(userList.getName(),userList.getUserId(),userList.getId()));
    56. }
    57. @RequestMapping(value="/adduser",method = RequestMethod.POST)
    58. public Result addUser(@RequestBody UserList userList){
    59. UserExecution ue;
    60. try{
    61. ue = userService.addUserListAndUserAccount(userList);
    62. if(ue.isFlag()){
    63. return new Result(true,StatusCode.SUCCESS,"添加用户成功");
    64. }else {
    65. return new Result(false,StatusCode.ERROR,"添加用户失败:" + ue.getReason());
    66. }
    67. }catch (Exception e){
    68. return new Result(false,StatusCode.ERROR,"添加用户失败:" + e.toString());
    69. }
    70. }
    71. @RequestMapping(value="/updateuser",method = RequestMethod.POST)
    72. public Result updateUser(@RequestBody UserList userList){
    73. UserExecution ue;
    74. try{
    75. ue = userService.updateUserList(userList);
    76. if(ue.isFlag()){
    77. return new Result(true,StatusCode.SUCCESS,"更新用户成功");
    78. }else {
    79. return new Result(false,StatusCode.ERROR,"更新用户失败:" + ue.getReason());
    80. }
    81. }catch (Exception e){
    82. return new Result(false,StatusCode.ERROR,"更新用户失败:" + e.toString());
    83. }
    84. }
    85. @RequestMapping(value="/deleteuser",method = RequestMethod.DELETE)
    86. public Result deleteUser(@RequestParam("userListid")Integer userListid){
    87. UserExecution ue;
    88. try{
    89. ue = userService.deleteUser(userListid);
    90. if(ue.isFlag()){
    91. return new Result(true,StatusCode.SUCCESS,"删除用户成功");
    92. }else {
    93. return new Result(false,StatusCode.ERROR,"删除用户失败:" + ue.getReason());
    94. }
    95. }catch (Exception e){
    96. return new Result(false,StatusCode.ERROR,"删除用户失败:" + e.toString());
    97. }
    98. }
    99. @RequestMapping(value="/editpassword",method = RequestMethod.POST)
    100. public Result updateUser(@RequestBody PasswordVO passwordVO){
    101. UserExecution ue;
    102. try{
    103. ue = userService.updatePassword(passwordVO);
    104. if(ue.isFlag()){
    105. return new Result(true,StatusCode.SUCCESS,"修改密码成功");
    106. }else {
    107. return new Result(false,StatusCode.ERROR,ue.getReason());
    108. }
    109. }catch (Exception e){
    110. return new Result(false,StatusCode.ERROR,"修改密码失败:" + e.toString());
    111. }
    112. }
    113. }

    五,项目总结

         本项目基于前后端分离的开发方式来进行开发实现,符合现在开发的主流趋势,项目结构清晰明了,层次分明,采用MVC设计模式和三层架构来进行整体设计。界面布局简洁大方,操作符合用户使用习惯,人机交互处理的比较人性化,适合做毕业设计使用,也可以做课程设计或期未作业使用。

    后台项目结构

    前台项目结构

  • 相关阅读:
    推荐 NestJs 官方教程
    flutter Could not get unknown property ‘ndkVersion’
    安装GCC教程
    基于BP神经网络识别手写字体MINST字符集
    使用vue实现简易的音乐播放器
    PyCharm 2022.2 发布了,支持最新 Python 3.11 和 PyScript 框架
    js动态获取当前时间并显示星期数
    docker 复习
    java编程基础总结——18.ArrayList源码解析
    在电脑上实现微信多开的技巧教程
  • 原文地址:https://blog.csdn.net/whirlwind526/article/details/125933552