当前位置:   article > 正文

springboot+vue前后端分离实现宿舍管理系统,2024年最新华为大神花费5个月打造的这份714页学习笔记系列_基于springboot+vue的前后端分离的宿舍管理系统

基于springboot+vue的前后端分离的宿舍管理系统

学生管理、宿舍管理、班级管理、宿舍报修管理、请假管理、晚归管理

系统管理主要包括:

用户管理、权限管理、菜单管理、日志管理等

下面展示一下系统的主要功能:

用户登陆

宿舍管理

班级管理

学生管理

班级管理

查看班级学生

维修管理

晚归记录

请假管理

用户管理

角色管理

菜单管理

日志管理

个人中心

部分核心代码如下:

package com.hzvtc.myproject.controller;

import com.github.pagehelper.PageInfo;

import com.hzvtc.myproject.annotation.Log;

import com.hzvtc.myproject.annotation.RequirePermission;

import com.hzvtc.myproject.config.Constant;

import com.hzvtc.myproject.dto.ListQuery;

import com.hzvtc.myproject.entity.BackLate;

import com.hzvtc.myproject.entity.SystemUser;

import com.hzvtc.myproject.service.BackLateService;

import com.hzvtc.myproject.utils.RedisUtil;

import com.hzvtc.myproject.vo.Result;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.validation.annotation.Validated;

import org.springframework.web.bind.annotation.*;

/**

  • @author znz

  • @date 2021-12-17

*/

@RestController

@RequestMapping(“/backlate”)

public class BackLateController {

@Autowired

private BackLateService backLateService;

@Autowired

private RedisUtil redisUtil;

@PostMapping(“/saveOrUpdate”)

@RequirePermission(permissions = {“back:save”,“back:update”})

@Log

public Result<?> saveOrUpdate(@RequestBody @Validated BackLate backLate) {

backLateService.saveOrUpdate(backLate);

return Result.ok(“操作成功”);

}

@GetMapping(“delete/{id}”)

@RequirePermission(permissions = {“back:delete”})

@Log

public Result<?> delete(@PathVariable Long id) {

backLateService.delete(id);

return Result.ok(“删除成功”);

}

@PostMapping(“/list”)

@RequirePermission(permissions = {“back:list”})

public Result<PageInfo> list(@RequestBody ListQuery listQuery,

@RequestHeader(Constant.HEADER_TOKEN) String token) {

SystemUser systemUser = redisUtil.exchange(token).get();

PageInfo pageInfo = backLateService.list(listQuery, systemUser.getBuildingId());

return Result.<PageInfo>ok().add(pageInfo);

}

@GetMapping(“/query/{id}”)

@RequirePermission(permissions = {“back:query”})

public Result query(@PathVariable Long id) {

BackLate backLate = backLateService.query(id);

return Result.ok().add(backLate);

}

}

package com.hzvtc.myproject.controller;

import com.github.pagehelper.PageHelper;

import com.github.pagehelper.PageInfo;

import com.hzvtc.myproject.annotation.Log;

import com.hzvtc.myproject.annotation.RequirePermission;

import com.hzvtc.myproject.dto.ListQuery;

import com.hzvtc.myproject.entity.Building;

import com.hzvtc.myproject.entity.Room;

import com.hzvtc.myproject.exception.HttpException;

import com.hzvtc.myproject.service.BuildingService;

import com.hzvtc.myproject.service.RoomService;

import com.hzvtc.myproject.utils.HttpCode;

import com.hzvtc.myproject.vo.Result;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.validation.annotation.Validated;

import org.springframework.web.bind.annotation.*;

import java.util.List;

/**

  • @author znz

  • @date 2021-12-19

*/

@RestController

@RequestMapping(“/building”)

public class BuildingController {

@Autowired

private BuildingService buildingService;

@Autowired

private RoomService roomService;

@GetMapping(“/listAll”)

@RequirePermission(permissions = {“manage:building:list”})

public Result<List> listAll() {

List list = buildingService.listAll();

return Result.<List>ok().add(list);

}

@GetMapping(“/list”)

@RequirePermission(permissions = {“manage:building:list”})

public Result<List> list() {

List list = buildingService.list();

return Result.<List>ok().add(list);

}

@GetMapping(“delete”)

@RequirePermission(permissions = {“manage:building:delete”})

@Log(“删除building”)

public Result<?> delete(@RequestParam(“id”) Long id) {

List list = roomService.listByBuildingId(id);

if (list.size() > 0) {

throw new HttpException(HttpCode.FAILED, “该节点下或子节点还有寝室,无法删除”);

}

buildingService.delete(id);

return Result.ok(“删除成功”);

}

@GetMapping(“/query”)

@RequirePermission(permissions = {“manage:building:query”})

public Result query(@RequestParam(“id”) Long id) {

Building building = buildingService.query(id).orElseThrow(() -> new HttpException(HttpCode.FAILED, “该数据不存在”));

return Result.ok().add(building);

}

@PostMapping(“/saveOrUpdate”)

@RequirePermission(permissions = {“manage:building:save”,“manage:building:update”})

@Log

public Result<?> saveOrUpdate(@RequestBody @Validated Building building) {

if (building.getId() == null) {

buildingService.save(building);

} else {

if (building.getId().equals(building.getParentId())) {

throw new HttpException(HttpCode.FAILED, “父节点不能为自己”);

}

buildingService.update(building);

}

return Result.ok(“操作成功”);

}

}

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后:

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

加V获取:vip1024c (备注前端)**
[外链图片转存中…(img-tYFhhg1m-1712764328611)]

最后:

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

[外链图片转存中…(img-xMJ57zOL-1712764328611)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-kUPbWfmx-1712764328611)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/858120
推荐阅读
相关标签
  

闽ICP备14008679号