• 基于springboot的地质灾害应急管理系统


    博主主页猫头鹰源码

    博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

    主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

    文末联系获取

    项目介绍: 

    该系统基于springboot技术,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:灾情、灾情、洪水、地震等。

    项目功能:

    该信息系统应用软件一共实现了前台和幕后二大操作模板的操作,其中前台模板主要完成了使用者的申请登记、查询受灾消息一览表、查询受灾者详细信息、发布评论、个人管理等大部分操作;而幕后模板则主要完成了灾情信息管理,内容包含灾情发布、查询灾情一览表、受灾评价;分类信息管理涵盖分类增加、查询分类一览表;用户管理涵盖用户增加、查询客户一览表;授予权限的为信息管理、表格表单的信息管理;以及评论控制等主要内容。

    1. 注册登记:个人用户可以通过填写登记信息成为会员,注册后就可以完成相关的操作。
    2. 查看灾情资讯清单表:使用者在登录后,可以看到系统公布的灾害资讯清单。
    3. 灾情详细内容,包含看评论和一些重点的标注:使用人进入到该系统后,首先看到的就是首页的灾害类的新闻和资讯,此时使用者可以点开任一灾情的详细信息以此来查看灾情详细内容。
    4. 发表评论:用户注册进入信息系统后,即可对灾情信息提出自己的意见和评价。
    5. 使用人的个人信息:使用人即用户进入到本系统后,类似所有可登录网页上的个人信息一栏,点进个人信息的管理,可以修改自己的备注,昵称,查看查阅新闻记录等。
    6. 灾情管理:当管理员进入系统的后台管理后,即可查看灾情列表,可以进行发布灾情的操作,同时还可以进行灾情评级。
    7. 管理员对用户的管理:管理员进入到系统后,所有使用人信息都是有权限查看的,可以授权用户为使用者或者帮助管理的人员,也可以授权他们为管理员,能够查看所有的使用者对灾情,资讯做出的评价,也可以去修改他们的评价,删除一些不好的评论,对于需要帮助的使用者,可以做出第一时间的分辨。
    8. 管理员对资源的管理:当管理员进入到系统之后,即可查看灾情列表,即可查看使用人列表,可以对发布的灾情做出删除,释放出一部分后台的空间,可以对人机类用户做出注销的操作,帮助更多人进入系统,有效利用好系统的资源。

    系统包含技术:

    后端:springboot,mybatis
    前端:layui、js、css等
    开发工具:idea
    数据库:mysql 5.7
    JDK版本:jdk1.8

    部分截图说明:

    下面是用户首页

    查看新闻详情

    用户可以进行评论

    我的个人信息查看

    查看个人的评论

     登录

    管理员后台首页

     管理员进行灾情发布

     管理员查看灾情列表

    管理员类型添加

     管理员查看类型列表

     管理员对菜单管理

     管理员对角色管理

     管理员对评论管理

     部分代码:

    1. /**
    2. *
    3. * @param id 角色id
    4. * @return
    5. */
    6. public Object getMenuByRole(Integer id){
    7. RoleMenuExample rme = new RoleMenuExample();
    8. rme.createCriteria().andRoleIdEqualTo(id);
    9. List<RoleMenu> roleMenus1 = roleMenuMapper.selectByExample(rme);
    10. List<Menu> menuParent = new ArrayList<>();
    11. roleMenus1.forEach(roleMenu -> {
    12. Menu menu = menuMapper.selectByPrimaryKey(roleMenu.getMenuId());
    13. if(menu.getParentId() == 0){
    14. menuParent.add(menu);
    15. }
    16. });
    17. MenuExample me = new MenuExample();
    18. me.createCriteria().andParentIdEqualTo(0);
    19. List<Map<String, Object>> listResult = new ArrayList<>();
    20. menuParent.forEach(menu -> {
    21. Map<String,Object> map = new HashMap<>();
    22. map.put("title",menu.getMenuName());
    23. map.put("menuName",menu.getMenuName());
    24. map.put("menuUrl",menu.getMenuUrl());
    25. map.put("id",menu.getId());
    26. MenuExample menuExample = new MenuExample();
    27. menuExample.createCriteria().andParentIdEqualTo(menu.getId());
    28. List<Menu> menuChild = menuMapper.selectByExample(menuExample);
    29. List<Integer> list = new ArrayList<>();
    30. menuChild.forEach(menuInt -> {
    31. list.add(menuInt.getId());
    32. });
    33. RoleMenuExample roleMenuExample = new RoleMenuExample();
    34. roleMenuExample.createCriteria().andRoleIdEqualTo(id).andMenuIdIn(list);
    35. List<RoleMenu> roleMenus = roleMenuMapper.selectByExample(roleMenuExample);
    36. List<Map<String,Object>> listChildMap = new ArrayList<>();
    37. roleMenus.forEach(childRoleMenu -> {
    38. Map<String,Object> childMap = new HashMap<>();
    39. Menu menuChildObj = menuMapper.selectByPrimaryKey(childRoleMenu.getMenuId());
    40. childMap.put("title",menuChildObj.getMenuName());
    41. childMap.put("menuName",menuChildObj.getMenuName());
    42. childMap.put("menuUrl",menuChildObj.getMenuUrl());
    43. childMap.put("id",menuChildObj.getId());
    44. listChildMap.add(childMap);
    45. });
    46. map.put("children",listChildMap);
    47. listResult.add(map);
    48. });
    49. return listResult;
    50. }
    51. /**
    52. * [
    53. * {
    54. * menuName: '',
    55. * menuUrl: '',
    56. * child:[
    57. * {
    58. * menuName: '',
    59. * menuUrl: ''
    60. * }
    61. * ]
    62. * }
    63. * ]
    64. * @return
    65. */
    66. @RequestMapping("/get")
    67. public Object get(){
    68. MenuExample me = new MenuExample();
    69. me.createCriteria().andParentIdEqualTo(0);
    70. List<Menu> menus = menuMapper.selectByExample(me);
    71. List<Object> list = new ArrayList<>();
    72. for (Menu menu : menus) {
    73. Map<String,Object> map = new HashMap<>();
    74. map.put("id",menu.getId());
    75. map.put("menuName",menu.getMenuName());
    76. map.put("menuUrl",menu.getMenuUrl());
    77. MenuExample menuExample = new MenuExample();
    78. menuExample.createCriteria().andParentIdEqualTo(menu.getId());
    79. List<Menu> menus1 = menuMapper.selectByExample(menuExample);
    80. map.put("child",menus1);
    81. list.add(map);
    82. }
    83. return LayuiResult.LayuiData(0,"请求成功",list);
    84. }
    85. @RequestMapping("/get/list")
    86. public Object getList(Integer page,Integer limit){
    87. MenuExample me = new MenuExample();
    88. List<Menu> menus = menuMapper.selectByExample(me);
    89. Pager<Menu> pager = new Pager<>();
    90. pager.setCurentPageIndex(page);
    91. pager.setCountPerpage(limit);
    92. pager.setBigList(menus);
    93. return LayuiResult.LayuiData(0,"请求成功",pager.getSmallList(),pager.getRecordCount());
    94. }
    95. @RequestMapping("/get/parent")
    96. public Object getParentMenu(){
    97. MenuExample me = new MenuExample();
    98. me.createCriteria().andParentIdEqualTo(0);
    99. List<Menu> menuList = menuMapper.selectByExample(me);
    100. return LayuiResult.LayuiData(0,"success",menuList);
    101. }
    102. @RequestMapping("/get/child/{id}")
    103. public Object getChildMenuByParentId(@PathVariable Integer id){
    104. MenuExample me = new MenuExample();
    105. me.createCriteria().andParentIdEqualTo(id);
    106. List<Menu> menuList = menuMapper.selectByExample(me);
    107. return LayuiResult.LayuiData(0,"success",menuList);
    108. }
    109. @RequestMapping("/update")
    110. public Object update(@RequestBody Menu menu){
    111. menuMapper.updateByPrimaryKeySelective(menu);
    112. return LayuiResult.LayuiData(0,"菜单信息修改成功",null);
    113. }
    114. @RequestMapping("/delete/{id}")
    115. public Object delete(@PathVariable Integer id){
    116. menuMapper.deleteByPrimaryKey(id);
    117. return LayuiResult.LayuiData(0,"菜单信息已删除",null);
    118. }
    1. @RequestMapping("/add")
    2. public Object add(@RequestBody Role role){
    3. roleMapper.insertSelective(role);
    4. return LayuiResult.LayuiData(0,"添加新角色成功",null);
    5. }
    6. @RequestMapping("/get")
    7. public Object get(Integer page,Integer limit){
    8. RoleExample roleExample = new RoleExample();
    9. List<Role> roles = roleMapper.selectByExample(roleExample);
    10. Pager<Role> pager = new Pager<>();
    11. pager.setCurentPageIndex(page);
    12. pager.setCountPerpage(limit);
    13. pager.setBigList(roles);
    14. return LayuiResult.LayuiData(0,"请求成功",pager.getSmallList(),pager.getRecordCount());
    15. }
    16. @RequestMapping("/getAll")
    17. public Object getAll(){
    18. RoleExample roleExample = new RoleExample();
    19. List<Role> roles = roleMapper.selectByExample(roleExample);
    20. return LayuiResult.LayuiData(0,"请求成功",roles);
    21. }
    22. @RequestMapping("/update")
    23. public Object update(@RequestBody Role role){
    24. roleMapper.updateByPrimaryKeySelective(role);
    25. return LayuiResult.LayuiData(0,"修改成功",null);
    26. }

    以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

  • 相关阅读:
    Flink+Flink CDC版本升级的依赖问题总结
    sentinel-3卫星测高学习资料整理
    科普达人丨漫画图解什么是eRDMA?
    排列组合算法
    H5 鼠标点击粒子扩散效果
    selenium元素定位问题
    python强制停止线程学习
    Docker使用数据卷挂载进行数据存储与共享
    回顾鹏城论道 | 点燃云原生之火,释放数字原力
    Redis之Lua脚本
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/126683650