springboot城市突发公共事件应急管理系统 计算机专业毕业设计程序源码90091

摘  要

随着城市化进程的快速推进和社会经济的快速发展,城市突发公共事件频繁发生,给人民的生命财产安全和社会稳定带来了严重威胁。为了提升城市应对突发公共事件的能力,保障人民生命财产安全,维护社会稳定和经济发展,急需建立一个高效、快速、准确的城市突发公共事件应急管理系统。

本系统基于Spring Boot框架进行开发,采用了先进的软件架构和设计理念。系统涵盖了用户管理、事件上报、任务分配、处理进展和安全通知等功能模块,实现了人性化、高效率、便捷的操作体验。系统通过浏览器与服务器进行通信,实现了数据的实时交互与变更,确保了数据的准确性和时效性。在技术上,本系统采用了基于MVC模式的Spring Boot技术进行开发,利用MyEclipse 编译器进行编写。数据库方面,采用了微软的MySQL关系型数据库作为数据存储媒介,保证了数据的安全性和稳定性。同时,结合HTML+CSS技术完成了系统的前端开发,实现了良好的用户界面和交互体验。

通过本系统的建设,旨在提高城市应对突发公共事件的能力,实现快速响应、高效处置、减少损失的目标。同时,为政府应急管理提供决策支持和科学依据,推动城市应急管理体系的不断完善和发展。本系统的成功应用将为城市的安全稳定和社会发展提供有力保障。

关键词城市突发公共事件应急管理系统;springboot;Mysql

Springboot Urban Emergency Management System for Public Emergencies

Abstract

With the rapid advancement of urbanization and the rapid development of the social economy, urban public emergencies occur frequently, posing a serious threat to people's life and property safety and social stability. In order to enhance the ability of cities to respond to public emergencies, ensure the safety of people's lives and property, maintain social stability and economic development, it is urgent to establish an efficient, fast, and accurate emergency management system for urban public emergencies.

This system is developed based on the Spring Boot framework and adopts advanced software architecture and design concepts. The system covers functional modules such as user management, event reporting, task allocation, processing progress, and security notifications, achieving a user-friendly, efficient, and convenient operating experience. The system communicates with the server through a browser, achieving real-time interaction and change of data, ensuring the accuracy and timeliness of the data. Technically, this system adopts Spring Boot technology based on MVC pattern for development, and is written using MyEclipse compiler. In terms of database, Microsoft's MySQL relational database is used as the data storage medium, ensuring the security and stability of the data. At the same time, the front-end development of the system was completed by combining HTML+CSS technology, achieving a good user interface and interactive experience.

Through the construction of this system, the aim is to improve the city's ability to respond to sudden public events, achieve the goal of rapid response, efficient disposal, and reducing losses. At the same time, providing decision-making support and scientific basis for government emergency management, promoting the continuous improvement and development of urban emergency management system. The successful application of this system will provide strong guarantees for the safety, stability, and social development of cities.

Keywords: Emergency management system for urban public emergencies; Springboot; MySQL

目   录

1 系统概述

1.1 选题背景

1.2研究背景及意义

1.3主要内容

2 系统开发环境

2.1 springboot框架

2.2 JAVA简介

2.3 MySql数据库

3 需求分析

3.1技术可行性:技术背景

3.2经济可行性

3.3操作可行性

3.4系统用例图.

3.5系统设计规则

3.6系统流程分析

4系统概要设计

4.1 概述

4.2 系统结构

4.3. 数据库设计

4.3.1 数据库实体

4.3.2 数据库设计表

4.4 数据表

5 系统详细设计

5.1管理员功能模块

5.2用户功能模块

6 系统测试

6.1系统测试的目的

6.2系统测试方法

6.3测试过程

6.4 测试结果

结论

致 谢

参考文献

1 系统概述

1.1 选题背景

随着城市化进程的加速和社会经济的快速发展,城市面临着越来越多的突发公共事件挑战,如自然灾害、事故灾难、公共卫生事件等。这些事件不仅可能对人民生命财产安全造成严重威胁,还可能对社会稳定和经济发展产生深远影响。因此,建立高效、快速、准确的城市突发公共事件应急管理系统显得尤为重要。

此外,我国政府在应对突发公共事件时,应急管理体系还存在一些不足,如应急预案制定不够科学、应急救援力量配备不足等。因此,加强城市突发公共事件应急管理系统研究,提高政府应对突发公共事件的能力,具有重要的现实意义。

因此,研究城市突发公共事件应急管理系统,旨在提高城市应对突发公共事件的能力,保障人民生命财产安全,维护社会稳定和经济发展。同时,也为政府应急管理提供决策支持和科学依据,推动城市应急管理体系的不断完善和发展。

1.2研究背景及意义

随着城市化进程的加速和社会经济的快速发展,城市突发公共事件频繁发生,如自然灾害、事故灾难、公共卫生事件等,给人民的生命财产安全和社会稳定带来严重威胁。因此,建立高效、快速、准确的城市突发公共事件应急管理系统成为了迫切需求。通过对应急管理系统的研究,可以提高城市对突发公共事件的应对能力,减少灾害损失,保障人民生命财产安全。有效的应急管理系统可以迅速响应突发事件,维护社会秩序,减少社会恐慌,有利于社会的稳定和发展。该系统研究涉及多个学科领域,如信息技术、管理科学等,推动相关领域的科技进步和创新。通过收集、整合和分析各类信息,应急管理系统为决策者提供科学、准确的决策支持,提高决策效率和效果。总之,城市突发公共事件应急管理系统研究具有重要的现实意义和深远的社会影响,对于提高城市的应急管理能力、促进社会稳定和发展具有重要意义。

1.3 主要内容

经过全面的需求分析,我们设计出了一个全新的城市突发公共事件应急管理系统,它不仅拥有完善的数据库,而且还拥有先进的数据流程,以及良好的运行环境,此外,我们还精心设计了主要界面和相关组件,并且详细阐述了该系统的实施步骤。

通过使用Java技术,我们可以从数据库中提取和写入信息,并且可以直接对数据库进行操作。此外,我们还可以在网页上添加动态内容,以满足城市突发公共事件应急管理系统的基本需求。

2 系统开发环境

我们的系统的前端框架是基于Vue.js的逐步演化技术。我们还利用Vue-Router、Vuex来控制动态路由,并且支持Ajax来支持前后台的交互。此外,我们还拥有一个Element UI的组件库,可以让我们的网站更加高效。在后台,我们使用springboot来构建一个开源的系统,并将MyBatis和Redis这些先进的数据库技术整合在一起。

2.1 springboot框架

Spring boot是一种新的开源轻量级框架,它继承了Spring framework的优秀特性。它是Spring 4.0之后提供的一个自动启动框架,通过配置进一步简化了Spring应用程序的构建和开发的整个过程。此外,Springboot还集成了大量的框架,解决了依赖包的版本冲突和引用不稳定的问题。

SpringBoot有两个核心,快速启动和自动装配。快速启动是指Spring Boot通过main方法启动,而且内置Web容器(Tomcat)。自动装配是指采用习惯优于配置的理念,可以进行自动化配置(EnabelAutoConfiguration),框架采用注解和properties(或yaml)代替传统的Xml配置。

2.2 JAVA语言

Java语言在计算机的程序应用过程当中,属于非常重要的一个应用软件,因为它的性能比较高,而且能够应用在多重领域 当中,因此该程序在计算机的软件程序应用当中的范围相对来说是比较广泛的。而从专业的技术角度来说,Java程序的应用的 实用性也是非常强的,这是因为它与传统的C语言或C++相比没有太大的基本结构的变化,也就是说它的语法结构是相对单一 ,而且具有稳定的特性,还有更重要的一点是Java程序语言的基本参考对象就是C语言,所以他的程序编写并不是很复杂,而且 还能够起到优化工作效率提升系统设计本身的基础功能的作用,因此他也就受到了非常广泛的程序员们的青睐。 在此次进行系统设计开发研究的过程当中,还发现Java程序语言之所以能够得到市场上更多用户的好评和青睐,其根本原 因在于他能够具备各种语言的自身独特优点的展现,也就是说它的兼容性是常强的。因此,我们因此我们可以说在任何一个程序的开发过程当中,Java语言程序的应用是必不可少的,它他在程序员进行改动的时候,哪怕是一个程序字母的改动,都可以 形成一种特定的程序,这是 Java程序,非常独特的另一个优点。不仅如此,Java源程序的可移植性也是非常大,而且它的安全 系数很高,能够通过不同方式进行移植到其他程序当中,而且可以兼容不同程序的系统,在运行的过程当中,其安全系数也是 非常强的,能够确保用户在使用网络的过程当中去确保网络的安全,而正是基于这样的可移植性,为程序员节约了很多的系统 语言程序的开发设计的时间,这是非常难得的一种自有优势。

2.3 MySql数据库

Mysql的语言具有非常高的灵活性,它的结构简单易懂,但是它的功能强大,可以快速、准确地存储大量的数据,这使得它成为一种广泛应用的数据库系统。Mysql数据库在编程领域发挥着重要作用,它可以提供便捷的数据查询服务,具有极高的灵活性和强大的功能,而且使用的语言也更加简单易懂。

数据流程分析是一种将数据存储、更新、维护、管理等功能有机结合的过程,它不仅仅局限于计算机,而是一种更加复杂的系统,需要更多的技术手段来支持。此外,数据库管理也是一种更加复杂的系统,它可以更好地管理、更新、维护和更新数据,从而确保数据的安全性。由于Mysql具有强大的数据处理能力,因此我们在开发这个系统时,主要使用它来管理数据。

3 需求分析

3.1技术可行性:技术背景     

Windows操作系统是城市突发公共事件应急管理系统的核心,它的性能足以满足普通网站的web服务器需求,而且它采用的技术也是当下最为流行的,它们不仅拥有自身的特点,还能够满足不同的需求。

该系统采用Java编程语言,并且搭载了Mysql数据库,能够支持快速、高效的数据传输,并且能够灵活地调整数据库的参数,满足不同的应用场景,保证了网站的高效率、高质量,最终达到了预期的效果。

(1)硬件可行性分析

系统管理和信息分析的设计并不需要特殊的计算机配置,只需要保证它们能够正常运行,并且能够满足基本的代码编写和页面设计需求。但是,在搭建平台时,需要考虑到服务器的安全性,并且确保网站的访问流畅,避免出现延迟等问题,以达到最佳的性价比;

(2)软件可行性分析

采用云计算技术构建的这一完善的系统,具备良好的可延展度,并且具备智能化的流量管理功能,从而确保数据的实时更新,并且确保系统的稳定、高效地运作。

经过全面的可行性分析,我们可以断定,该系统的开发完全符合预期,没有任何挑战。

3.2经济可行性

在开发城市突发公共事件应急管理系统之前,我们通过对市场调研与其他相关管理系统的研究并没有花费任何费用。尽最大努力完成这些工作,并且会尽可能多地得到指导老师和同学的帮助。如果遇到一些棘手的问题,我们会尽最大努力去解决。因此,开发城市突发公共事件应急管理系统在经济上是十分可行的,而且不需要投入任何资金。 

通过采用Java和Mysql数据库,我们能够实现一个更加成熟的系统,而且这种系统的开发成本低廉,可以满足大多数的需求。

3.3操作可行性: 

经过优化的城市突发公共事件应急管理系统,其可操作性得益于其出众的用户体验,无论是管理者还是普通用户,只要点击一下就能轻松访问,而不必担心无法正确地查看或处理所有的数据。此外,还提供了一个易懂的界面,让用户更加轻松地访问各个功能模块,从而更好地满足其日常的工作需求。通过采用友好的界面和快捷的输入方式,我们的城市突发公共事件应急管理系统无论是初学者还是熟练的操作者,均可轻松实现各项功能,从而大大提高了其可操作性。

3.4系统用例分析

城市突发公共事件应急管理系统的完整UML用例图分别是图3-1、图3-2和图3-3。在参与者上包括普通用户、应急人员以及管理员。普通用户角色用例包括游客注册成为我们正是用户、用户注册登录、通知公告、事件上报、新闻资讯、我的账户、个人中心,普通用户角色用例如图3-1所示。

图3-1 城市突发公共事件应急管理系统普通用户角色用例图

web后台管理上的管理员是维护整个城市突发公共事件应急管理系统中所有数据信息的,管理员可以进行登录、系统用户、事件上报、任务分派、处理进展、安全提醒、系统管理、通知公告、资源管理。管理员角色用例如图3-2所示。

图3-2 城市突发公共事件应急管理系统管理员角色用例图

web后台管理上的应急人员所有数据信息的,应急人员可以进行登录、任务分配管理、处理进展管理、个人信息、修改密码。管理员角色用例如图3-3所示。

图3-3 城市突发公共事件应急管理系统应急人员角色用例图

3.5系统设计规则

通过使用Java和Mysql数据库,我们的城市突发公共事件应急管理系统能够提供高度稳定和完善的功能。

城市突发公共事件应急管理系统的设计与实现的设计思想如下:

  1. 操作简单易行,系统界面安全可靠:清晰易懂的页面布局,让您轻松获取有关城市突发公共事件应急管理系统的所有信息。

2、通过“即时发布、即时见效”,您可以立即获取有关城市突发公共事件应急管理系统的信息,并且可以在任何地方轻松查询。

3、该系统具有完善的功能,包括登录、系统用户、事件上报、任务分派、处理进展、安全提醒、系统管理、通知公告、资源管理等。此外,还提供了维护和更新模块的功能。

3.6系统流程分析

1)增加数据流程

系统中的所有用户(管理员、普通用户、应急人员)都可以实现增加数据功能,图3-3显示的就是在增加数据时的流程。

图3-3增加数据流程图

2)修改数据流程

人无完人,每个人都有出错的时候,在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图3-4显示的就是修改数据的流程。

图3-5修改数据流程图

3)删除数据流程

在系统中经常会出现一些过期的数据,比如事件上报等,那就可以直接删除这些数据,图3-5就是删除数据时的流程图。

图3-5删除数据流程图

4系统概要设计

4.1 概述

Internet技术为城市突发公共事件应急管理系统提供了一种全新的方法,它支持多种形态的网络应用,无论您身处何处,都可以轻松访问和操控该系统。此外,它还提供了一个简单易懂的操作流程,方便您快速、准确的完成任务。

图4-1  系统工作原理图

4.2 系统结构

本系统架构网站系统,本系统的具体功能如下:

图4-2系统功能结构图

系统的结构由多个功能模块构成,因此,我们需要把它们按照一定的顺序列出来,并且精心设计每个模块,以确保它们具备完整的功能,从而实现系统的完美结构。

系统功能模块图,如图4-3所示:

图4-3 系统功能模块图

4.3. 数据库设计

4.3.1 数据库实体

事件上报信息结构图,如图4-5所示:

 图4-5 事件上报信息实体结构图

任务分派实体属性图,如图4-6所示:

图4-6任务分派实体属性图

下面是整个城市突发公共事件应急管理系统中主要的数据库表总E-R实体关系图。

图4-7 城市突发公共事件应急管理系统总E-R关系图

4.3.2 数据库设计表

4.4 数据表

通过将E-R图转换为关系数据库,可以更好地理解数据之间的关联性,这种关联性可以通过表的形式来体现,其中每个表都包含了一个独立的字段。

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表emergency_crew (应急人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

emergency_crew_id

int

10

0

N

Y

应急人员ID

2

personnel_name

varchar

64

0

Y

N

人员姓名

3

personnel_department

varchar

64

0

Y

N

人员部门

4

personnel_phone_number

varchar

64

0

Y

N

人员电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表event_reporting (事件上报)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_reporting_id

int

10

0

N

Y

事件上报ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

contact_phone_number

varchar

64

0

Y

N

联系电话

5

event_type

varchar

64

0

Y

N

事件类型

6

event_location

varchar

64

0

Y

N

事件地点

7

time_of_occurrence

date

10

0

Y

N

发生时间

8

event_introduction

text

65535

0

Y

N

事件简介

9

event_image

varchar

255

0

Y

N

事件图片

10

event_video

varchar

255

0

Y

N

事件视频

11

location_address

varchar

64

0

Y

N

当前位置

12

location_lng

varchar

64

0

Y

N

当前位置经度

13

location_lat

varchar

64

0

Y

N

当前位置纬度

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表processing_progress (处理进展)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

processing_progress_id

int

10

0

N

Y

处理进展ID

2

execution_personnel

int

10

0

Y

N

0

执行人员

3

event_type

varchar

64

0

Y

N

事件类型

4

event_location

varchar

64

0

Y

N

事件地点

5

time_of_occurrence

date

10

0

Y

N

发生时间

6

on_site_situation

text

65535

0

Y

N

现场情况

7

processing_results

text

65535

0

Y

N

处理结果

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

contact_phone_number

varchar

16

0

Y

N

联系电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表security_notice (安全通知)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

security_notice_id

int

10

0

N

Y

安全通知ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

notification_time

date

10

0

Y

N

通知时间

5

notification_content

text

65535

0

Y

N

通知内容

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表task_assignment (任务分派)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

task_assignment_id

int

10

0

N

Y

任务分派ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

contact_phone_number

varchar

64

0

Y

N

联系电话

5

event_type

varchar

64

0

Y

N

事件类型

6

event_location

varchar

64

0

Y

N

事件地点

7

time_of_occurrence

date

10

0

Y

N

发生时间

8

execution_personnel

int

10

0

Y

N

0

执行人员

9

emergency_supplies

text

65535

0

Y

N

应急物资

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5.1管理员功能模块

登录系统需要管理员输入用户名、密码和角色信息,如图5-1所示,以便进行登录操作。

图5-1管理员登录界面图

登录关键代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

管理员等会成功以后会在首页界面以分析图的形式查看到系统中的事件上报统计,如图5-2所示。

图5-2首页界面图

管理员点击“系统用户”菜单下单“应急人员”按钮可以查看到所有应急人员信息,如果想要填写新的应急人员,点击右侧的“添加”按钮,然后输入昵称、用户名、人员姓名、人员部门等信息,点击“提交”按钮进行提交,同时也支持对已有的应急人员进行编辑、删除和查询。添加应急人员详见图5-3。

图5-3应急人员界面图

应急人员关键代码如下:

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

管理员点击“事件上报”按钮可以查看到所有用户提交的事件上报信息,如果想要填写新的事件上报,点击右侧的“添加”按钮,然后选择事件上报,输入普通用户、用户姓名、联系电话、事件类型、事件地点、发生时间、事件简介,点击“提交”按钮进行提交,同时也支持对已有的事件上报进行编辑、删除和查询,也可以点击“任务安排”进行任务安排操作。如图5-4所示。

图5-4事件上报管理界面图

事件上报管理关键代码如下:

 @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }  


击“处理进展”这一按钮后会显示出所有的处理进展,可以对处理进展进行修改、删除,也可以按照执行人员或者时间类型对处理进展查询,如图5-5所示。

图5-5处理进展管理界面图

处理进展管理关键代码如下:

 @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

点击“安全通知”这一按钮后会显示出所有的安全通知,在安全通知界面可以添加新的安全通知,可以对安全通知进行修改、删除,也可以按照普通用户对安全通知查询,如图5-6所示。

图5-6安全通知管理界面图

安全通知管理关键代码如下:

 @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

    }

管理员点击“通知公告管理”这一菜单可以对其进行增删改查,如图5-7所示。

图5-7通知公告管理界面图

管理员点击“资源管理”这一菜单可以对其下的新闻资讯以及资讯分类进行增删改查,如图5-8所示。

图5-8资源管理界面图

5.2用户功能模块

不是城市突发公共事件应急管理系统中用户的是可以在线进行注册的,当用户点击右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号后等信息再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功,如图5-9所示。

图5-9注册界面图

注册关键代码如下:

 /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料以及登录系统的密码进行设置,详情请参见图5-10。

图5-10我的账户界面图

当访客点击城市突发公共事件应急管理系统中导航栏上的“新闻资讯”后将会进入到该“新闻资讯”列表的界面,然后选择想要看的新闻资讯,点击进入到详细界面,详情请参见图5-11。

图5-11新闻资讯界面图

用户点击“事件上报”菜单可以查看所有事件上报信息,可以按照条件查看事件上报,或者输入关键词进行查询,点击可以进入事件上报详细展示界面,详情请参见图5-12。

图5-12事件上报界面图

用户在后台点击“处理进展”可以对处理进展信息进行查询、修改,图5-13所示。

图5-13处理进展管理界面图

6 系统测试

6.1系统测试目的 

尽管程序设计自身就带有某种程度的风险,因此,哪怕是微小的失败,也极少对整体运行造成不良影响。在很多情况下,即使是一些微小的错误都会导致严重的后果。尽管系统可能会出现微小的故障,但这并不会对整体运行产生太大的影响。因此,我们有责任对整个程序进行细致的审查,以便及时发现并处理任何问题,确保系统的稳定运行,并保障其长期的稳定性。这一章中,我们将从不同的角度出发来探讨如何避免程序出错的方法,以及怎样利用错误分析技术来预防或减少这些错误发生。通过这一章节的深入探讨,我们有机会更准确地识别和解决当前存在的问题,尽管这需要投入大量的时间和精力,但其重要性和不可替代性是不容忽视的。

软件的测试与开发流程是紧密相连的,它们都必须严格遵守管理学的基本原则,以确保软件的可靠性和可用性。目前我国对软件工程管理方面还没有形成统一规范,导致软件测试存在一定问题,影响软件开发质量。但是,伴随技术进步,我国的软件测试领域已经实现了显著的发展,其工作流程变得更为完整,同时工作效率也得到了显著的提高。

为了确保城市突发公共事件应急管理系统的高效性,我们有必要对其各个功能模块的运行状况和性能进行严格的检验和确认。通过对系统中各模块的测试,可以及时发现系统存在的不足或缺陷。如果检查的结果显示出任何问题,我们会立刻实施相应的措施,并迅速进行修正,以便为客户提供更高质量的服务体验。

6.2系统测试概述 

系统测试分为两大类:黑盒测试和白盒测试。其中黑盒测试主要用于产品的功能和性能测试,即所谓的功能测试,这种方法比较简单。通常情况下,黑盒测试被视为功能性测试,也被称为需求测试。这种测试方法可以快速地找到需要改进的地方,但是如果要对整个系统进行全面的检查的话,就必须依赖黑盒测试了。在进行黑盒测试时,我们对其背后的开发逻辑一无所知,仅仅是作为一个用户来对整个系统进行评估。那么如何才能有效地提高黑盒测试方法的效率呢?我们主要是依赖过去的测试经验来确定一些临界值,然后通过测试用例进行测试,这是发现问题的最快方法。黑盒测试首先要对整个系统做详细了解,包括其功能、结构、接口等方面。接下来,通过测试用例筛选出一些有代表性的数据来对该系统进行检验。在黑盒测试中,经常使用的工具包括WinRunner和Autorunner;白盒测试就是不需要任何辅助条件就能够快速准确地找到错误点。白盒测试被称作结果测试,也就是逻辑驱动的测试。黑盒测试就是用一个已知的测试步骤来对软件系统进行测试。在进行白盒测试时,我们的主要任务是根据系统开发的基本原则来执行测试,特别是作为开发团队来验证代码是否成功地实现了其预定的功能,以及具体执行路径是否准确无误。在黑盒测试过程当中,主要是根据用户需求进行测试,主要目的就是为了验证所编写的软件是否符合用户的要求。显然,这种测试方式既耗时又耗力,因为每一个函数都有多条执行路径。通过观察测试程序中的执行路径,我们能够判断开发出的代码是否存在错误,以及是否满足了我们的预期。因此,白盒测试是一种非常重要的软件可靠性验证方法。在进行白盒测试时,经常使用的工具包括JContact、C++Test以及CodeWizard。

6.3测试结果

在对每一项功能进行测试时,我们必须严格遵循预定的测试方案,不能急功近利地进行测试。同时,每一次测试的结果都应被详尽地记录下来。自动化测试是最佳选择,因为它能更精确和迅速地完成测试,而不是依赖于手动操作,这样不仅可以避免出现问题,还有助于预防疲劳和其他相关问题。在进行测试的过程中,我们必须始终保持高度的专注,仔细观察测试的结果,并对任何出现的异常状况进行及时的纠正;最终,测试结束后,务必妥善保存相关文档,以备未来之需。通过一系列的测试,我们可以观察到,之前开发出的系统是非常清晰的,只有当我们对其进行更为精细的处理时,编程过程才会变得更为流畅。只有当结构设计得当,后续的编程任务才能流畅地进行,这也能显著减少时间和精力的开销。

结论

在本次系统设计的过程中,我们将深入探讨城市突发公共事件应急管理系统,从研究背景、目标到实施方案,并详细阐述每一章的内容,以及该系统的硬件和软件环境。其中包含了:需求分析+功能需求+用例图,以此表示系统的功能的流程、模块的处理过程。绘制总体各个结构+流程图,并根据功能细致设计的需要,再来设计数据库的表结构,并绘制E-R图,实现程序接口,然后完成调试。最后,本文进行了总结,并提出了下一步的发展方向。

在这次设计中,我通过不断地探索和学习,掌握了Java技术和框架,并创建了一个城市突发公共事件应急管理系统,这让我对编写系统的必要性和运行环境有了更深入的了解。为了更好地完成这个项目,我花费了大量的时间,不仅丰富了自己的知识面,并且学习并积累了许多宝贵经验。系统刚开始时,我对springboot框架这个技术只是稍微有些了解,但是通过这次基于springboot框架的城市突发公共事件应急管理系统设计,让我更加深入地去探讨了,springboot框架运转的原理,从中学到了如何去配置服务器环境和连接数据库。在基于springboot框架的城市突发公共事件应急管理系统设计的过程中,我还学会了使用dreamweaver来建设一个简单的页面,这样可以极大程度提高我的实际操作能力,也因此激发了我对这个领域的浓烈兴趣。

系统的这一次发展提升了我自己的能力,也学到了框架如何实现基本功能。同时在编程代码各方面也做了的很多尝试,从关注代码错误到做一些小的修改,都有了很大的提高。同时,在撰写论文时,还查阅了大量的参考资料,对论文的结构和文献资料进行了总结和分析。已作出努力,尽量减少错误和走弯路,从一开始的系统功能概念化到逐一实施,并进行了广泛的研究报告。也许后续操作过程中还有很多实现不完美的功能,但我依然会继续学习,努力在以后的软件开发、编号代码中吸取教训,总结不完美之处,努力的在软件开发越来越强。以上是我在本次设计中的总结,希望在未来取得更好的成绩。

致 谢

在撰写本文之际,我衷心感谢所有给予我帮助、支持和鼓励的人。首先,我要感谢我的导师,他/她的悉心指导和无私奉献让我能够顺利完成这篇论文。他/她的专业知识、严谨态度和敏锐洞察力对我产生了深远的影响,让我受益终身。

同时,我要感谢我的团队成员和实验室的同学们,他们在整个项目过程中给予了我很多帮助和支持。我们共同讨论、解决问题,一起度过了许多难忘的时光。此外,我还要感谢那些提供信息的网站和数据库,他们的开放和共享精神为我的研究提供了宝贵的数据资源。最后,我要感谢我的家人和朋友,他们一直陪伴在我身边,给予我无尽的关心和鼓励。他们的支持是我不断前进的动力。

在未来的日子里,我将继续努力,不断提升自己的能力和水平,为考研信息综合分析推荐系统的发展贡献自己的力量。再次感谢所有给予我帮助和支持的人!

                                                       参考文献

[1]孙铁强,刘俊,于洪健等. 基于SpringBoot框架的在线监测和专家系统的研究 [J]. 自动化应用, 2024, 65 (04): 15-16+19.

[2]GB/T 43581-2023, 智慧城市 突发公共卫生事件应急管理平台通用要求[S].

[3]李冉,杨军,宁玉富等. 基于SpringBoot框架和CNN-SVM算法的浸润性肺腺癌细胞的初步诊断筛选系统 [J]. 无线互联科技, 2023, 20 (22): 58-61.

[4]肖海燕. 我国城市突发公共卫生事件政府应急管理研究[D]. 大连海事大学, 2023.

[5]Min A ,Mingfang L ,Hui A , et al. Systematic evaluation of emergency management capacity for rural public health emergencies [J]. International Journal of Disaster Risk Reduction, 2023, 85

[6]黎冯梅. 我国城市突发公共事件应急管理策略探究 [J]. 城市与减灾, 2022, (06): 5-9.

[7]徐小峰,杨倩,杨瑞霞. 基于信度、效度分析与层次分析法的城市突发公共事件应急管理能力评估体系构建 [J]. 职业卫生与应急救援, 2022, 40 (04): 462-467+473.

[8]高志平. 基于SpringBoot框架与ITIL方法的运维管理系统的设计与实现[D]. 华东师范大学, 2021.

[9]王东琦,马蓝. 我国城市突发公共事件应急管理体系研究 [J]. 商业观察, 2021, (30): 69-71.

[10]丁利强. 城市突发公共事件应急管理对策研究——以蚌埠市抗击新型冠状肺炎疫情为例 [J]. 哈尔滨学院学报, 2021, 42 (08): 24-27.

[11]刘艳红,窦红莉,郑学刚等. 城市社区突发公共卫生事件应急管理思考 [J]. 经济师, 2021, (08): 15-16+18.

[12]鲍娟. 城市公共事件的应急医疗管理系统[P]. 湖北省: CN111834018A, 2020-10-27.

[13]W G C ,X B Z ,P X C . [Consideration on improving public health emergency management ability of current medical health system]. [J]. Zhonghua liu xing bing xue za zhi = Zhonghua liuxingbingxue zazhi, 2020, 41 (0): E072.

[14]Yang R ,Du G ,Duan Z , et al. Knowledge System Analysis on Emergency Management of Public Health Emergencies [J]. Sustainability, 2020, 12 (11): 4410.

[15]朱枢. 城市突发公共事件应急管理存在的问题与对策研究[D]. 苏州大学, 2019.

[16]盛金峰, 化学品突发公共事件医疗应急管理系统研发. 浙江省, 平湖市第二人民医院, 2019-12-19.

[17]马强. 突发公共事件与城市应急管理——兼论济南市应急管理体系完善[C]// 济南市科学技术协会,济南市建设委员会. “迎全运”提升城市建设管理水平研讨会优秀论文集. 山东交通学院经济系;, 2019: 4.

                                    免费领取源码,请点赞关注私信博主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值