基于SSM的社会救助信息管理毕业设计源码211633

SSM社会救助信息管理系统

摘  要

在中国经济高速增长的社会条件下,政府救济和社会帮困是社会保障体系的重要组成部分,成熟高效的社会救助管理信息系统对于维护改革发展稳定的大局,保障人民群众的基本生活权益具有非常重要的意义。社会救助信息管理系统是一个网络版的自动化交互平台,它具有强大的自动化功能、友好的界面、方便直观的操作,提高了基层民政办的工作效率,达到民政社会救助工作进一步标准化、规范化、科学化的目标。

本课题研究开发的“基于SSM的社会救助信息管理系统”主要是采用Java语言、Mysql数据库、SSM框架以及Apache服务器作为开发平台,系统采用B/S结构进行开发完成。目标是实现社会救助工作的网上申请、网上审批、网上查询的动态管理模式。为数字民政、科学民政、规范民政奠定基础,从而实现社会救助工作的计算机化,实现社会救助管理信息的共享,提高工作效率、为社会救助对象提供优质、方便、快捷的服务。

关键字:社会救助 ;java;MySQL
    SSM social assistance information management system

 Abstracts

Under the social conditions of China's rapid economic growth, government relief and social assistance are an important part of the social security system. A mature and efficient social assistance management information system is of great significance to maintain the overall situation of reform, development and stability and protect the basic living rights and interests of the people. Social assistance information management system is a network version of automatic interactive platform. It has powerful automation function, friendly interface and convenient and intuitive operation. It improves the work efficiency of grass-roots civil affairs offices and achieves the goal of further standardization, standardization and scientization of civil affairs and social assistance.

The "social assistance information management system based on SSM" studied and developed by this subject mainly adopts Java language, MySQL database, SSM framework and Apache server as the development platform, and the system is developed with B / S structure. The goal is to realize the dynamic management mode of online application, online approval and online query of social assistance. Lay the foundation for digital civil affairs, scientific civil affairs and standardized civil affairs, so as to realize the computerization of social assistance work, realize the sharing of social assistance management information, improve work efficiency and provide high-quality, convenient and fast services for social assistance objects.

Keywords: Social assistance;java;MySQL

  录

  

1 绪论

1.1课题背景

1.2意义

1.3系统目标

1.4本文的组织结构

2 关键技术研究

2.1 开发技术

2.2 MVVM模式 4

2.3 MySQL数据库

2.4 B/S结构

2.5 SSM框架

2.6 Vue.js主要功能 6

3  需求分析 7

3.1可行性分析 8

3.1.1 技术可行性 8

3.1.2 经济可行性 9

3.1.3 操作可行性 9

3.1.4 法律可行性 10

3.2需求分析 10

3.3系统设计原则 13

3.4业务流程分析

3.4.1操作流程

3.4.2添加信息流程

3.4.3删除信息流程

4 系统总体设计

4.1系统功能模块

4.1功能模块设计

4.3数据库设计 19

4.3.1数据库简介 19

4.3.2数据库设计 19

5  系统实现

5.1管理员功能模块

5.2用户功能模块

6 系统测试

6.1系统测试的目的

6.2测试策略

6.3测试特性及分析

6.4功能测试 38

6.5测试结果 39

   40

参考文献 41

   43

1章 绪论

1.1课题背景

随着低保对象实现全员覆盖,救助对象人数从7000人逐步扩大到50万人,救助人员的致贫原因、就业状况、困难程度各不相同;救助项目从单纯的生活救助,延伸到医疗救助以及助学(学杂费减免等)、住房解困(廉租房、房租减免等)多个方面,涉及到多个部门和社会方方面面;救助工作的程序也较为复杂,包括受理、核查、初审、审批、公开、复审、款物发放等多个环节。而老的救助信息系统的规划建设,是基于当时信息技术发展的水平以及业务要求来设计的,伴随着业务的发展和社会的要求,系统受到了种种因素的制约,系统在应用、服务器、网络、存储容量和安全措施等方面已经无法实现新的社会救助管理工作模式的需求。

近年来,随着社会救助体系不断完善,覆盖范围持续扩大,救助水平稳步提高,社会救助体系建设取得显著成效。但是,应对不断变幻的新环境,不断变更的新格局,不断产生的新问题,如何合理实施有效救援,这就要求民政部门必须建立集成的现代化社会救助信息管理系统,确保高效利用救助资源。

1.2研究内容

社会救助信息管理系统的开发及实现,所需要的工作内容:

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,社会救助信息管理系统的开发使用SSM框架,数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。

(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对社会救助信息管理系统的设计主要划分别为管理员和用户角色,并所使用的功能模块也相应不同,但是系统的数据库实现的内容是交互的,用户可以随时根据自己的需求进行救助信息查询,对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。

(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。

1.3本文的组织结构

第一章是绪论,本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章研究了社会救助信息管理系统的所采用的开发技术和开发工具。

第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望


2章 关键技术研究

2.1开发技术

本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用ssm作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2 MVVM模式

MVVM是Model-View-ViewModel的简写。它本质上就是MVVM 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频视频3D动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.3 MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库.这个信息仓库就是数据库,而这次的IT人力资源管理系统设计也需要这项技术的支持.

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等.它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用.MySQL的代码是公开的,而且允许别人二次编译升级.这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统.虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象.

2.4 B/S结构

B/S(Browser/Server)比前身架构更为省事的架构.它借助Web server完成数据的传递交流.只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题.

2.5 SSM框架

SSM即SpringMVC+Spring+Mybatis,这三个框架有各自最独有的优势,那么将它们组合在一起能够碰撞出很强的火花.设计者在不需消耗大量功夫,能做出Web应用程序,而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点.这个复合框架形成一个有着结构完整、功能强大和结构良好的体系:SpringMVC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦,让代码更加的灵活精简.这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏,也能在后期应对客户对产品提出的新需求.

2.6 Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

第3章  需求分析

任何一个项目在开发研究前,都需要对研发系统本身的需求做一个认真的分析,市场的调研是不可忽视的,从实际场景中确定使用人员的功能需求,从而明确目标,对整个系统的开发有一个更加准确的定位。在这个章节,需要对系统的性能分析,业务流程分析,和数据等进行分析,社会救助信息管理系统的整体界面简单,功能完善。

需求的可行性是分析和讨论发达的系统能达到什么样的要求。开发的系统或网站是否符合之前的要求。只有在预先评估系统的开发中,才能在系统开发和实施之前完成需求。系统在开发和运用过程中,在技术可行性、操作可行性、经济可行性和法律可行性这几点展开的详细说明,证明了这几点是可行的。在技术可行性中主要说明了SSM是目前是较为通用、成熟的技术,具有较为强大的数据库开发功能、以及具有方便快捷的数据库接口设计功能。在现有的调研情况和所掌握的技术是必要可行的。在经济可行性中,主要说明了系统从调研时期的费用和后期维护和可节约的成本。操作可行性主要说明了系统和操作的简便性具有操作简便和上手快的特点。在法律可行性上,符合要求不涉及到侵权等问题在社会中能起到提高效率的作用。

从系统需求分析、功能分析、性能分析等进行了设计和说明。系统需求分析对于社会救助信息管理系统的需求进行了深入分析,证明了系统在市场中的需求。

社会救助信息管理系统完成设计,可能受到时间以及空间上的制衡。因此,在开始设计每一个项目的时候,必须对系统进行可行性分析,只有这样才能够降低项目所带来的危害,减少人力、物力以及财力方面的损耗。该系统的可行性分析主要集中在技术可行性、经济可行性、运行可行性和社会可行性四个方面。从以上几个方面讨论了该系统的可行性。

3.1可行性分析

可行性分析目的是根据所开发系统的用户需求,明确研究方向和目标,通过可行性分析确定系统的框架和功能模块。

可行性分析是对任何管理系统的需求、技术和经济的分析。其中最重要的技术方面的可行性,技术可行性是分析软件开发技术的应用开发系统是可行的。其次,分析软件系统的需求,分析软件需求能否满足预先设计的功能需求。最后讨论了系统的操作可行性和经济可行性。

3.1.1 技术可行性

无论是台式机还是笔记本,计算机都以非常迅猛的速度占据着人们的工作与生活,那么能够辅助计算机帮助人们改变工作与生活状态的就是那些安装在计算机上的功能软件。本文所要设计的系统,从简单易懂的思想出发,将通过文字索引提示协助用户操作。

系统的开发环境和配置可以由我们自己安装。系统采用SSM开发工具,根据技术语言修改和维护数据信息,并结合要求使系统运行更加稳定安全,从而完成实现系统的开发。网络技术的快速发展使网络传输速度越来越快,价格越来越低,安全性越来越高,其所有硬件平台都能完全满足社会救助信息管理系统开发的需要。

因此,我们从两个方面进行了可行性研究,可以看出系统的技术可行性发展没有问题。

3.1.2 经济可行性 

任何软件系统在其发展将考虑后者经济可行性的一部分,也就是说软件的开发成本和设计所需的花费和随后的操作可能带来的经济效益是匹配,除了考虑这部分的软件是否可以给用户带来经济效益。

经济可行性包括系统实现过程中所需资源的研究。系统实现过程中所需资源主要包括人力资源、自然资源和筹资条件等。社会救助信息管理系统的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且社会救助信息管理系统的开发之前所做的市场调研及其他的社会救助信息管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于社会救助信息管理系统的开发在经济上是完全可行的,没有任何费用支出的。

使用SSM技术是比较成熟的技术,所以社会救助信息管理系统的开发在经济上是没有问题的。

3.1.3 操作可行性

操作可行性是指系统不能有太复杂的操作和使用流程。社会救助信息管理系统基于SSM安装软件,访问和操作界面简单、操作方便。用户只要连接到网络就可以访问和操作。系统在界面设计上就很有善意让人感觉心旷神怡,首先这就能给操作者一种好心情,可以让工作人员以更好的心态工作,其次也很美观,在系统的使用中要不光应用到了系统完善的功能还欣赏了系统简洁的外观。其次就是系统的功能方面了,在系统的日常使用中会一点简单电脑操作的工作人员也都可以应付自如。因此,它具有操作简单,管理方便,交互性强的特点,在操作上是非常可行的。

3.1.4 法律可行性

系统平台的设计与开发与国家政策法规之间不存在冲突。此外,平台的设计和开发采用的操作和工作模式符合用户的日常习惯,操作方便、灵活、易于管理,具有较高的实用性。开发过程中所采用的数据均来自开源代码,不存在知识产权的争议,在法律上也是行的通的。

综上所述,开发一个基于SSM的社会救助信息管理系统是可行的。

3.2需求分析

在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。

救助者用户用例图如下所示。

图3-1 救助者用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

3.3系统设计原则

1、关于社会救助信息管理系统的基本要求

(1)功能要求:可以管理站点管理(轮播图、通知公告)用户管理(管理员、注册用户)救助申请管理、街道办救助审核管理、区级镇府审批管理、救助名单公示、捐款箱管理、异议箱管理、反馈中心、救助资金管理等功能模块。

(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。

(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。

(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。

2、开发目标

社会救助信息管理系统的主要开发目标如下:

(1)实现管理系统信息关系的系统化、规范化和自动化;

(2)减少维护人员的工作量以及实现用户对信息的控制和管理。

(3)方便救助申请及救助信息查询等;

(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;

(5)考虑到用户多样性特点,要求界面简单,操作简便。

3、经济效益

设计系统的目的是为了更好的进行节省人员成本及各种开销,因此需要对系统开发的成本和效益进行考虑。

3.4业务流程分析

3.4.1操作流程

系统登录流程图如图所示:

图3-1登录流程图

3.4.2添加信息流程

添加信息流程图如图所示:

图3-2添加信息流程图

3.4.3删除信息流程

删除信息流程图如图所示:

图3-3删除信息流程图


第4章 系统总体设计

4.1系统功能模块

该系统的基本功能包括管理员、用户两个角色功能模块。

对于管理员可以使用的功能模块主要有首页、个人中心、用户管理、救助申请管理、街道办救助审核管理、区级镇府审批管理、救助资金管理、救助名单公示等功能。

对于用户所使用的功能模块的操作主要是首页、救助申请、救助信息登记、救助审核信息、救助名单公示、捐款箱、反馈中心等功能。

4.2功能模块设计

通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。

系统功能结构图如下图所示。

4.3数据库设计

4.3.1数据库简介

数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。

4.3.2数据库设计

(1)系统的E-R图

概念模型是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接 

  1. 实体属性图

(3)数据库设计表

名称

类型

长度

不是null

主键

注释

rescuers_id

int

11

救助人员ID

personnel_number

varchar

64

人员编号

full_name

varchar

64

姓名

gender

varchar

64

性别

age

varchar

64

年龄

id_card_no

varchar

64

身份证号码

date_of_birth

date

0

出生日期

contact_number

varchar

64

联系电话

residential_address

varchar

64

居住地址

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

district_level_town_government_id

int

11

区级镇府ID

district_level_town_government_no

varchar

64

区级镇府编号

name_of_district_level_town_government

varchar

64

区级镇府名称

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

rescue_information_registration_id

int

11

救助信息登记ID

rescue_category

varchar

64

救助类别

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

id_card_no

varchar

64

身份证号码

date_of_birth

date

0

出生日期

contact_number

varchar

64

联系电话

residential_address

varchar

64

居住地址

family_population

varchar

64

家庭人口

average_monthly_household_income

varchar

64

家庭月均收入

family_property_information

varchar

255

家庭财产信息

family_member_information

varchar

255

家庭成员信息

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

rescue_application_id

int

11

救助申请ID

rescue_category

varchar

64

救助类别

business_processing_type

varchar

64

业务办理类型

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

id_card_no

varchar

64

身份证号码

date_of_birth

date

0

出生日期

contact_number

varchar

64

联系电话

residential_address

varchar

64

居住地址

family_population

varchar

64

家庭人口

average_monthly_household_income

varchar

64

家庭月均收入

family_property_information

varchar

255

家庭财产信息

family_member_information

varchar

255

家庭成员信息

check_the_situation

varchar

64

核对情况

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

relief_funds_id

int

11

救助资金ID

bank_card_no

varchar

64

银行卡号

affiliated_bank

varchar

64

所属银行

distribution_method

varchar

64

发放方式

payment_amount

varchar

64

发放金额

rescue_category

varchar

64

救助类别

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

id_card_no

varchar

64

身份证号码

issue_date

date

0

发放日期

district_level_town_government_no

int

11

区级镇府编号

name_of_district_level_town_government

varchar

64

区级镇府名称

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型:

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

publicity_of_rescue_list_id

int

11

救助名单公示ID

rescue_category

varchar

64

救助类别

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

id_card_no

varchar

64

身份证号码

date_of_birth

date

0

出生日期

contact_number

varchar

64

联系电话

residential_address

varchar

64

居住地址

family_population

varchar

64

家庭人口

average_monthly_household_income

varchar

64

家庭月均收入

poverty_level

varchar

64

贫困等级

hits

int

11

点击数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

objection_box_id

int

11

异议箱ID

rescue_category

varchar

64

救助类别

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

id_card_no

varchar

64

身份证号码

date_of_birth

date

0

出生日期

contact_number

varchar

64

联系电话

residential_address

varchar

64

居住地址

family_population

varchar

64

家庭人口

average_monthly_household_income

varchar

64

家庭月均收入

poverty_level

varchar

64

贫困等级

objection_content

text

0

异议内容

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

file_registration_id

int

11

档案登记ID

rescue_category

varchar

64

救助类别

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

id_card_no

varchar

64

身份证号码

date_of_birth

date

0

出生日期

contact_number

varchar

64

联系电话

residential_address

varchar

64

居住地址

family_population

varchar

64

家庭人口

average_monthly_household_income

varchar

64

家庭月均收入

poverty_level

varchar

64

贫困等级

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

feedback_center_id

int

11

反馈中心ID

feedback_title

varchar

64

反馈标题

feedback_type

varchar

64

反馈类型

personnel_number

int

11

人员编号

feedback_content

text

0

反馈内容

feedback_reply

text

0

反馈回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

名称

类型

长度

不是null

主键

注释

donation_box_id

int

11

捐款箱ID

donation_title

varchar

64

捐款标题

donated_amount_

varchar

64

捐款金额

donation_assistance_object

varchar

64

捐款救助对象

personnel_number

int

11

人员编号

full_name

varchar

64

姓名

pay_state

varchar

16

支付状态

pay_type

varchar

16

支付类型:

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

第5章  系统实现

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,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

管理员登录进入社会救助信息管理系统可以查看管理员:站点管理(轮播图、公告栏)用户管理(管理员、注册用户),业务办理管理、档案管理、资金管理、业务配置管理、捐款箱、异议箱、反馈中心等内容,如图5-2所示。

图5-2管理员功能界面图

捐款箱管理,在捐款箱列表可以编辑捐款标题、捐款金额、捐款救助对象、人员编号、支付状态、支付类型等信息,并可根据需要进行修改或删除操作,如图5-3所示。

图5-3捐款箱管理界面图

捐款箱管理的关键代码如下。

 @RequestMapping(value = {"/avg_group", "/avg"})

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

        Query count = service.avg(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

异议箱管理,在异议箱管理列表可以编辑救助类别、业务办理类型、人员信息等内容,如图5-4所示。

图5-4异议箱管理界面图

反馈中心管理,在资讯列表可以对反馈标题、反馈类型、分院编号、反馈回复等信息进行维护管理,如图5-5所示。

图5-5反馈中心管理界面图

反馈中心管理关键代码:

  @RequestMapping("/get_list")

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

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

业务办理管理,在业务办理列表可以对救助申请信息、街道办救助审核、区级镇府审批等信息进行维护管理,并可根据需要进行修改或删除操作,如图5-6所示。

图5-6业务办理管理界面图

业务办理管理关键代码:

 @RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

    /**

     * 服务对象

     */

    @Autowired

    public AuthController(AuthService service) {

        setService(service);

5.2用户功能模块

用户登录进入社会救助信息管理系统可以查看首页公告消息、救助者名单公示、反馈中心、捐款箱等内容,如图5-7所示。

图5-7用户功能界面图

救助名单公示,在此页面可以浏览救助类别、人员编号、姓名、贫困等级等内容如图5-8所示。

图5-8救助名单公示界面图

救助申请提交,在救助申请栏填写救助申请信息,包括救助类型、业务办理类型、救助者信息等,如图5-9所示。

图5-9救助申请界面图

救助申请的关键代码如下。

 public Map<String, Object> success(Object o) {

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

        if (o == null) {

            map.put("result", null);

            return map;

        }

        if (o instanceof List) {

            if (((List) o).size() == 1) {

               o =  ((List) o).get(0);

                map.put("result", o);

            }else {

                String jsonString = JSONObject.toJSONString(o);

                JSONArray objects = service.covertArray(JSONObject.parseArray(jsonString));

                map.put("result", objects);

            }

        } else if (o instanceof Integer || o instanceof String) {

            map.put("result", o);

        } else {

            String jsonString = JSONObject.toJSONString(o);

            JSONObject jsonObject = JSONObject.parseObject(jsonString);

            JSONObject j = service.covertObject(jsonObject);

            map.put("result", j);

        }

        return map;

}

第6章 系统测试

系统测试主要是通过测试确定系统的可操作性,系统故障必须在规定的时间内纠正,否则会造成严重的经济损失。验证系统内的保护机制,以防止未经授权的入侵。在安全测试中,测试人员的作用是试图闯入系统并使用各种方法来试图突破防御。因此,系统安全设计的标准是找到一种使入侵系统更先进的方法。

6.1系统测试的目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,在测试过程中发现问题并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题并对其进行修改,虽然耗时费力,但对于系统的开发长期使用而言是非常重要和必要的。

软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

社会救助信息管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在社会救助信息管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

6.2测试策略

测试系统主要针对以下三个方面进行测试:

1、基于SSM的系统代码的单元测试,集成测试,系统测试和验收测试结果;

2、测试对象中列出的可测试或不可接受的特征和功能;

3、分析并记录测试要求:日期的书面文件不影响测试的设计、开发和执行。

6.3测试特性及分析

系统测试的特性如下:

(1)挑剔性:测试是为了找出系统的错误,在系统测试时我们要严格苛刻,十分挑剔。

(2)复杂性:测试是一个非常复杂的过程。

(3)不彻底性:虽然系统经过测试,但测试仍然会存在不够彻底的问题,测试不能保证系统后期运行完整无误,所以要在后期不断的检查、修改。

(4)经济性:通场这种测试称为“选择测试(Selective Testing)”。在测试时要遵守经济性的原则。

经过测试,产品的稳定性和成熟度可以大大提高,产品质量也可以得到保证。

6.4功能测试

系统测试方面,我们通常运用的是白盒测试以及黑盒测试这两种方法。白盒测试是指在了解系统内部工作流程的前提下,可以根据需求规范验证系统内部操作是否能够正常运行的测试;而黑盒测试指的是,倘若知道了这个系统的全部功能,可以进行测试检测系统中的每一个功能是否满足正常使用。

功能测试,主要是对系统的用户登录进行详细的测试,但是登录不可以是任何人都可以登录成功的,所以对登录进行详细测试。

用户登录测试:

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:123   

密码:admin   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

删除分类测试:

模块名称

测试用例

预期结果

实际结果

是否通过

删除分类模块

分类名:最新通知  

删除成功、页面自动跳转

删除成功、页面自动跳转

通过

修改密码测试:

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

通过对功能的测试,社会救助信息管理系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。

6.5测试结果

经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。


结  论

此时项目已经完成,即使实施的时间不是很长,但是在这个过程中需要准备很长的一段时间去对系统设计开发所实际用到的技术进行学习和巩固。在学习的过程中,我逐渐认识到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是掌握了常用的性能和控制方法,我觉得还是相对来说挺容易的。从该系统中,系统的分析和设计的调查数据,已经经历了几个月,并且努力了几个月,该系统现在已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。

系统的开发环境和配置都是可以自行安装的,系统使用java开发工具,使用比较成熟的mysql数据库进行对系统前台及后台的数据交互,根据技术语言结合需求对数据库进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。

在设计系统的过程中还遇到了一个棘手的问题,那就是自己的英语水平还有待提高,很多关于网站技术开发的资料文献都是英文版的,关键词语以及技术性词汇不能很好的理解。只有在借助翻译软件的实时性翻译功能的辅助下才勉强看懂。显然英语水平的高低直接影响到系统的开发过程。

回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作的学习让我有了更多的信心,相信在未来的路上我会走的更好。


参考文献

[1]张浩淼.共同富裕背景下社会救助体系创新——基于成都市的实践经验[J/OL].兰州学刊:1-10[2022-04-08].http://kns.cnki.net/kcms/detail/62.1015.C.20220331.1838.006.html

[2]程中培.国外社会救助“未领取”研究进展与启示[J].社会保障研究,2021(06):102-110.

[3]郑石桥,李瑶,邹艳红.社会救助审计:一个基本理论框架[J].新疆财经,2022(01):37-48.DOI:10.16716/j.cnki.65-1030/f.2022.01.004.

[4]马晓东,祁永宁.服务型社会救助:西宁的实践与优化[J].重庆行政,2022,23(01):32-37.

[5]刘学民,王振伟.后扶贫时代社会救助政策的调适[J].社科纵横,2022,37(01):78-85.DOI:10.16745/j.cnki.cn62-1110/c.2022.01.013.

[6]刘瑞芳.新时代社会救助政策运行的社会风险及应对策略[J].商业文化,2022(04):142-144.

[7]张强.区块链技术在社会救助中的应用前景研究[J].湖北工业大学学报,2021,36(06):1-5+66.

[8]张欣媛. 张家港市社会救助体系建设研究[D].西北农林科技大学,2021.

[9]何钰斌,李双辰.“互联网+”背景下社会救助的实践、困境与突破[J].梧州学院学报,2021,31(05):31-36.

[10]许小玲,方雅.新中国成立以来社会救助政策的范式变迁、实践逻辑与未来指向[J].合肥工业大学学报(社会科学版),2021,35(05):46-52.

[11]贾玉娇,杨佳.农村社会救助制度实践的复杂性:事实逻辑与理论反思[J].中国农业大学学报(社会科学版),2021,38(05):31-38.DOI:10.13240/j.cnki.caujsse.2021.05.003.

[12]张和清,廖其能.发展型社会救助的中国社会工作实践探索——以广东“双百”为例[J].西北师大学报(社会科学版),2021,58(06):78-88.DOI:10.16783/j.cnki.nwnus.2021.06.009.

[13]公衍勇,聂淑亮.“后小康时代”社会救助制度的调整优化——基于发展型社会政策视角[J].湘潭大学学报(哲学社会科学版),2021,45(05):99-103.DOI:10.13715/j.cnki.jxupss.2021.05.016.

[14]周恒新.健全新阶段分层分类社会救助体系[J].唯实,2021(09):64-66.

[15]王健.我国社会救助制度中受救助者义务条款的正当性、体系化及其限度[J].河南财经政法大学学报,2021,36(05):31-41.

[16]王帅,张泽胜.数字救助:稳步提升社会救助服务效能[J].中国民政,2021(12):59.

[17]黄晨熹.新时代社会救助高质量发展的内涵和路径[J].人民论坛,2021(18):72-75.

[18]杨博文. 后扶贫时代我国社会救助政策问题研究[D].东北农业大学,2021.

[19] Xu Xiaoling, Fang ya Paradigm change, practical logic and future direction of social assistance policy since the founding of new China [J] Journal of Hefei University of Technology (SOCIAL SCIENCE EDITION), 2021,35 (05): 46-52

[20] Jia Yujiao, Yang Jia The complexity of the practice of rural social assistance system: factual logic and theoretical reflection [J] Journal of China Agricultural University (SOCIAL SCIENCE EDITION), 2021,38 (05): 31-38

致  谢

时间过得真快,眨眼之间,大学四年的学习生活即将结束,无论是在学习还是生活的这四年,老师们给了我很多帮助,让我终身受益匪浅。老师们不仅帮我树立了正确的人生观和价值观,还帮我养成了很多好习惯,树立了终身学习的意识。在此,我要对我的所有老师表示衷心的感谢。与此同时,我还要感谢陪伴我在这四年里一起成长的伙伴们。他们给了我无私的帮助和关怀,让我在人生最好的四年中获得许多真诚的友谊。

毕业设计是大学四年的最后一个答卷,我们正忙着这四年的美好结束。在毕业项目主题选择的早期阶段,我很紧张担心自己选择的主题很复杂,难以理解,觉得不能这样做会影响我的毕业。是指导老师给我们提供了毕业设计的主题和具体要求,让我们对毕业设计不要太模糊,如果对主题有任何异议,要及时跟他沟通,并且还帮我们介绍他带过的优秀学哥学姐,对我们进行指导,这样再设计上遇到的问题就可以及时得到解决,对我们完成毕业设计提供好的指导条件。

对于毕业设计项目主要是对我在大学所学的专业知识进行一次综合的考验,让我们通过所学的技术知识可以真正的运用到实际动手开发中,通过项目的开发让我意识到自己很多地方的不足,所学知识的不扎实,不能很好的将自己所学的知识运用到系统实际开发上。后来通过自己在图书馆查阅大量书籍,完成系统的设计大纲,阅读笔记和翻译,毕业设计不仅要考验我们的个人能力,还要测验我们的学习态度,做到细节的事情。对于指导老师的帮助,我的毕业设计才可以顺利的完成,我非常感谢。

最后要感谢我的同学们,是你们不断的帮助、鼓励、熬夜、保持调试,测试程序,最终完成社会救助信息管理系统的运行。我们在交流,谈论时间,将是我们未来的财富,我要深深地感谢你。

毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!

免费领取本源代码,请关注点赞+私信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值