ssm+微信小程序基于微信小程序的社区老人健康管理服务系统的设计与实现毕业设计源码011513
关键词:健康管理系统;微信小程序;MySQL
Abstract
With the rapid development of the network, the application of the network is in all walks of life. It quickly integrates into many classified management. They use the network to make this community elderly health management service system, and then there is the "community elderly health management service system", This makes the community elderly health management service system more convenient and simple.
For the design of the community elderly health management service system, through scientific management and convenient services, the work efficiency is improved and the errors and omissions in data storage are reduced. The community elderly health management service system uses Java language, adopts SSM technology based on MVVM mode for development, and is written with eclipse 2017 CI 10 compiler. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and completes the development of the system with the foreground HTML + CSS Technology. It is specifically developed according to the current situation of the community elderly health management service system, and realizes the networked management of the community elderly health management service system according to the needs of users. All kinds of information are stored orderly to realize the functions: home page, user management, doctor information, appointment information, physical examination report, health assessment, health intervention, health files, health consultation, call for help information, to-do items, inspection items Operation data and other functions.
This paper mainly describes the development background of community elderly health management service system. The system mainly introduces the demand analysis and functional requirements, and makes a detailed test and summary of the system. From the aspects of business process, database design and system structure. We hope to use advanced computer technology and network technology to change the current management status of community elderly health management service system and improve management efficiency.
Keywords:Health management system; Wechat applet; MySQL
目 录
1.1 课题研究背景
1.2 课题研究意义
1.3系统开发技术的特色
2 基于微信小程序平台的社区老人健康管理服务系统分析
2.1可行性分析
2.1.1技术可行性分析
2.1.2经济可行性分析
2.1.3操作可行性分析
2.2需求分析
2.3用例分析
3基于微信小程序平台的社区老人健康管理服务系统总体设计
3.1系统功能模块设计
3.3数据库设计
3.3.1 数据库概念结构设计
3.3.2 数据库表设计
4 基于微信小程序平台的社区老人健康管理服务系统实现
4.1 微信端
4.1.1 用户注册界面
4.1.2 用户登录界面
4.1.3 搜索健康资讯界面
4.1.4 医生详情界面 19
4.1.5 预约信息界面 22
4.1.6体检报告界面 23
4.2 后台端
4.2.1 管理员登录界面
4.2.2首页界面
4.2.3医生信息界面
4.2.4体检报告界面
4.2.5预约信息界面
4.2.6健康评估界面
4.2.7健康档案界面
4.2.8用户管理界面
4.2.9健康资讯界面
5 基于微信小程序平台的社区老人健康管理服务系统测试
5.1测试目的
5.2功能测试
5.3测试策略
5.4测试特性及分析
5.5性能测试
总结与展望
参考文献
致谢
(2)基于微信小程序平台的社区老人健康管理服务系统系统中的web后台管理中的前端使用的是bootstrap框架,它配合ajax[8]和jquery[9]可以美化页面设计。
(3)基于微信小程序平台的社区老人健康管理服务系统系统中数据库用的mysql5.7,它执行效率高。2 基于微信小程序平台的社区老人健康管理服务系统分析
在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于微信小程序平台的社区老人健康管理服务系统在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。
2.2需求分析
基于微信小程序平台的社区老人健康管理服务系统中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中SSM开发框架以及tomcat8.0服务器[14]、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局[15],微信端和web后台管理端采用json接口通信。
微信小程序端:
(1)用户注册:不是基于微信小程序平台的社区老人健康管理服务系统中的会员用户,可以在线注册成为真正的会员用户,包括了发布者和用户两部分;
(2)用户登录:是基于微信小程序平台的社区老人健康管理服务系统中的会员用户,可以直接登录来使用基于微信小程序平台的社区老人健康管理服务系统;
(3)健康资讯:用户进行健康资讯的阅览,查看管理者发布的健康资讯信息。(4)医生信息:在微信小程序端中是可以不同的医生信息展示出来不同的医生详情的;
(5)呼救信息:管理员和用户都可以点击“呼救信息”查看呼救信息,进行审核;
(6)基本信息:发布者和用户可以对自己的个人信息和登录密码进行维护;
Web后台管理端:
(1)轮播图/公告栏管理:可以对基于微信小程序平台的社区老人健康管理服务系统中微信小程序端的轮播图信息和公告信息进行上传和管理;
(2)用户管理:可以对能操作基于微信小程序平台的社区老人健康管理服务系统中web后台管理的管理员信息进行创建和管理,同时也可以对系统中小程序端注册的用户进行管控;
(3)健康资讯管理:管理员在后台可以对基于微信小程序社区老人健康管理服务系统中显示的健康资讯信息进行增删改查。
(4)预约信息管理:可以对系统中的预约信息进行维和和管理;
(5)更多管理:当点击“更多”这一菜单的时候,会出现医生信息+预约信息+体检报告+健康评估+健康干预+健康档案+健康咨询+呼救信息+待办事项+检查项目+运营数据这十一个子菜单,能够对体检报告进行增删改查操作,对用户提交的健康档案进行管控,以及实现对用户提交的呼救信息+预约信息进行审核管理;
2.3用例分析
基于微信小程序平台的社区老人健康管理服务系统的完整UML用例图分别是图2-1,图2-2河图2-3。在参与者上包括用户、发布者以及管理员。
老人用户角色的用例包括用户注册、用户登录、健康资讯、基本信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、退出登录。
图2-1 基于微信小程序平台的社区老人健康管理服务系统用户角色用例图
医生用户角色的用例包括注册、登录、用户管理、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据、退出登录。
图2-2基于微信小程序平台的社区老人健康管理服务系统医生角色用例图
管理员角色的用例包括、用户管理、轮播图、公告栏、医生信息、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据。
图2-3 基于微信小程序平台的社区老人健康管理服务系统管理员角色用例图
3基于微信小程序平台的社区老人健康管理服务系统总体设计
在上一章节中分析了基于微信小程序平台的社区老人健康管理服务系统的功能性需求,并且根据需求分析了基于微信小程序平台的社区老人健康管理服务系统中的用例。那么接下来就要开始对基于微信小程序平台的社区老人健康管理服务系统架构、主要功能和数据库开始进行设计。
3.1系统功能模块设计
通过对基于微信小程序平台的社区老人健康管理服务系统的功能需求分析以及用例分析,得出了基于微信小程序平台的社区老人健康管理服务系统的功能模块图如图3-1所示。
图3-1基于微信小程序平台的社区老人健康管理服务系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
下面是整个社区老人健康管理服务系统中主要的数据库表总E-R实体关系图。
下面根据社区老人健康管理服务系统 的数据库总E-R关系图可以得出社区老人健康管理服务系统 需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。
通过前面E-R关系图一共需要创建很多个数据表。在此罗列这7个主要数据库表的关系模型如下:
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
to_do_list_id |
int |
11 |
是 |
是 |
待办事项ID |
title_name |
varchar |
64 |
否 |
否 |
标题名称 |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
job_number |
varchar |
64 |
是 |
否 |
工号 |
content_details |
text |
0 |
否 |
否 |
内容详情 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
reservation_information表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
reservation_information_id |
int |
11 |
是 |
是 |
预约信息ID |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
name_of_doctor |
varchar |
64 |
否 |
否 |
医生姓名 |
doctor_position |
varchar |
64 |
否 |
否 |
医生职务 |
elderly_information |
int |
11 |
否 |
否 |
老人信息 |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
contact_number |
varchar |
16 |
否 |
否 |
联系电话 |
time_of_appointment |
varchar |
64 |
否 |
否 |
预约时间 |
reservation_status |
varchar |
64 |
否 |
否 |
预约状态 |
physical_examination_items |
varchar |
64 |
否 |
否 |
体检项目 |
appointment_content |
text |
0 |
否 |
否 |
预约内容 |
reply_message |
text |
0 |
否 |
否 |
回复信息 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
operational_data表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
operational_data_id |
int |
11 |
是 |
是 |
运营数据ID |
statistical_date |
date |
0 |
否 |
否 |
统计日期 |
number_of_inspectors |
int |
11 |
否 |
否 |
检查人数 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
medical_examination_report表 |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
medical_examination_report_id |
int |
11 |
是 |
是 |
体检报告ID |
report_name |
varchar |
64 |
否 |
否 |
报告名称 |
report_date |
date |
0 |
否 |
否 |
报告日期 |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
elderly_information |
int |
11 |
否 |
否 |
老人信息 |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
contact_number |
varchar |
64 |
否 |
否 |
联系电话 |
report_content |
text |
0 |
否 |
否 |
报告内容 |
content_analysis |
text |
0 |
否 |
否 |
内容分析 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
inspection_items表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
inspection_items_id |
int |
11 |
是 |
是 |
检查项目ID |
physical_examination_items |
varchar |
64 |
否 |
否 |
体检项目 |
project_description |
text |
0 |
否 |
否 |
项目描述 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
health_records表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
health_records_id |
int |
11 |
是 |
是 |
健康档案ID |
file_names |
varchar |
64 |
否 |
否 |
档案名称 |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
elderly_information |
int |
11 |
否 |
否 |
老人信息 |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
contact_number |
varchar |
64 |
否 |
否 |
联系电话 |
file_content |
text |
0 |
否 |
否 |
档案内容 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
health_consultation表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
health_consultation_id |
int |
11 |
是 |
是 |
健康咨询ID |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
elderly_information |
int |
11 |
否 |
否 |
老人信息 |
elderly_consultation |
text |
0 |
否 |
否 |
老人咨询 |
doctor_reply |
text |
0 |
否 |
否 |
医生回复 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
health_assessment表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
health_assessment_id |
int |
11 |
是 |
是 |
健康评估ID |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
elderly_information |
int |
11 |
否 |
否 |
老人信息 |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
contact_number |
varchar |
64 |
否 |
否 |
联系电话 |
constitution_identification |
text |
0 |
否 |
否 |
体质辨识 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
call_for_help_information表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
call_for_help_information_id |
int |
11 |
是 |
是 |
呼救信息ID |
elderly_information |
int |
11 |
否 |
否 |
老人信息 |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
telephone |
varchar |
16 |
否 |
否 |
电话 |
address |
varchar |
64 |
否 |
否 |
住址 |
processing_status |
varchar |
64 |
否 |
否 |
处理状态 |
content_description |
text |
0 |
否 |
否 |
内容描述 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
doctor_information表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
doctor_information_id |
int |
11 |
是 |
是 |
医生信息ID |
doctor_information |
int |
11 |
否 |
否 |
医生信息 |
name_of_doctor |
varchar |
64 |
否 |
否 |
医生姓名 |
doctor_gender |
varchar |
64 |
否 |
否 |
医生性别 |
doctor_position |
varchar |
64 |
否 |
否 |
医生职务 |
on_duty_time |
varchar |
64 |
否 |
否 |
在岗时间 |
on_duty_position |
varchar |
64 |
否 |
否 |
在岗位置 |
doctor_photos |
varchar |
255 |
否 |
否 |
医生照片 |
doctor_profile |
text |
0 |
否 |
否 |
医生简介 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
elderly_users表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
elderly_users_id |
int |
11 |
是 |
是 |
老人用户ID |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
address |
varchar |
64 |
否 |
否 |
住址 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
user_id |
int |
11 |
是 |
否 |
用户ID |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
doctor_user表: |
|||||
名称 |
类型 |
长度 |
不是null |
主键 |
注释 |
doctor_user_id |
int |
11 |
是 |
是 |
医生用户ID |
full_name |
varchar |
64 |
否 |
否 |
姓名 |
gender |
varchar |
64 |
否 |
否 |
性别 |
job_number |
varchar |
64 |
是 |
否 |
工号 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
recommend |
int |
11 |
是 |
否 |
智能推荐 |
user_id |
int |
11 |
是 |
否 |
用户ID |
create_time |
datetime |
0 |
是 |
否 |
创建时间 |
update_time |
timestamp |
0 |
是 |
否 |
更新时间 |
4.1 微信端
4.1.1 用户注册界面
不是基于微信小程序平台的社区老人健康管理服务系统的会员可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图4-1所示。
图4-1用户注册界面图
用户注册代码如下:
/**
* 注册
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put("username",String.valueOf(map.get("username")));
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);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
E entity = JSON.parseObject(JSON.toJSONString(body),eClass);
baseMapper.insert(entity);
log.info("[{}] - 插入操作:{}",entity);
}
4.1.2 用户登录界面
微信小程序上注册后的会员可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。
图4-2用户登录界面图
登录代码如下:
/**
* 登录
* @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;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
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, "账号或密码不正确");
}
}
public String select(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("select ");
sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");
sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
}
if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){
sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");
}
if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){
int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);
}
log.info("[{}] - 查询操作,sql: {}",table,sql);
return sql.toString();
}
public List selectBaseList(String select) {
List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
List<E> list = new ArrayList<>();
for (Map<String,Object> map:mapList) {
list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
}
return list;
}
输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。
图4-3首页界面图
4.1.3 搜索健康资讯界面
在搜索的输入框中输入自己想要搜索的健康资讯信息并点击后面的“搜索”按钮后将会根据模糊匹配的方式,去数据库中搜索最匹配的健康资讯信息并显示出来。搜索健康资讯界面如下图4-4所示。
图4-4搜索健康资讯界面图
4.1.4 医生详情界面
点击任意一个医生后将可以进入到该医生的详情界面中,它包括了医生姓名+医生性别+医生职务+在岗时间等一系列的详细介绍,进行点赞、收藏等,医生详情界面如下图4-5所示。
图4-5医生详情界面图
4.1.5 预约信息界面
点击“预约”后进入到“预约信息”界面,输入医生信息+医生姓名+医生职务+老人信息+姓名+联系电话+预约时间+预约内容,点击“提交”按钮后将会生成自己的预约信息,预约信息界面如下图4-6所示。
图4-6预约信息界面图
4.1.6体检报告界面
从基于微信小程序平台的社区老人健康管理服务系统端底部的“我的”菜单进入后选择“体检报告”后可以查看到体检报告信息,进行查看体检信息,界面如下图4-7所示。
图4-7体检报告界面图
4.2 后台端
4.2.1 管理员登录界面
管理员可以从浏览器上输入后台登录的网址后输入自己的用户名,密码图片验证后点击“登录”按钮后将会验证是否有非空数据,其次再验证是否和数据库中保存的一致,都验证成功后将登录成功,管理员登录界面如下图4-8所示。
图4-8管理员登录界面图
4.2.2医生信息界面
管理员点击后台左边的“医生信息”菜单后,将可以维护和管理基于微信小程序平台的社区老人健康管理服务系统中的医生信息,支持管理员编辑,预约、咨询等操作,医生信息管理界面如下图4-9所示。
图4-9医生信息管理界面图
医生信息逻辑代码如下所示。
@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);
}
4.2.4 体检报告界面
管理员点击后台左边的“体检报告”菜单后将可以查看到所有用户的体检报告记录,体检报告界面如下图4-10所示。
图4-10体检报告界面图
体检报告管理关键代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
4.2.5预约信息界面
管理员点击后台左边的“预约信息”菜单后将可以查看到所有用户的预约信息记录,预约信息界面如下图4-11所示。
图4-11预约信息界面图
预约信息管理关键代码如下所示。
public List selectBaseList(String select) {
List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
List<E> list = new ArrayList<>();
for (Map<String,Object> map:mapList) {
list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
}
return list;
}
4.2.6健康评估界面
管理员点击后台左边的“健康评估”菜单后将可以查看到所有用户提交的的健康评估记录,健康评估界面如下图4-12所示。
图4-12健康评估界面图
健康评估逻辑代码如下所示。
@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);
}
4.2.7健康档案界面
管理员点击后台左边的“健康档案”菜单后将可以查看到所有用户提交的的健康档案记录,健康档案界面如下图4-13所示。
图4-13健康档案界面图
健康档案逻辑代码如下所示。
@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);
}
}
4.2.8用户管理界面
管理员点击后台左边的“医生用户”或者“老人用户”菜单后可以查看到小程序端上注册过的用户信息,支持对违规的用户进行删除操作,如下图4-14所示。
图4-14用户管理界面图
用户管理逻辑代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap = service.readBody(request.getReader());
this.addMap(paramMap);
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
4.2.9健康资讯界面
管理员点击后台左边的“健康资讯问”菜单后可以查看以往发布的健康资讯信息,支持微信小程序用户查看健康资讯信息,如下图4-15所示。
图4-15健康资讯界面图
@RequestMapping(value = "/del")
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
5 基于微信小程序平台的社区老人健康管理服务系统测试
5.1测试环境
1、服务器端
操作系统:Windows 7
Web服务器:Tomcat7.0
数据库:Mysql
开发语言:Java
2、客户端
浏览器:Internet Explorer10
界面布局:DIV+CSS
分辨率:最佳效果1027*768以上像素
3、开发工具
Visual Studio Code
Myeclipse
5.2测试目标
系统测试是用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通过在计算机上对系统进行测试试验并从中发现此系统中存在的问题和错误然后加以修改,使之更加符合用户需求。
1.测试的目的是通过测试来发现程序在执行过程中的错误的过程。
2.好的测试方案是可以检验出还未被发现的错误的方案。
3.好的测试是发现了到目前为止还未被发现的错误的测试。
4.该系统能够完成管理员、医生信息、用户管理、预约信息、体检报告、健康评估、健康干预、健康档案、健康咨询、呼救信息、待办事项、检查项目、运营数据等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制。
5.3功能测试
下表是基于微信小程序平台的社区老人健康管理服务系统.功能的测试用例,检测了基于微信小程序平台的社区老人健康管理服务系统.中对医生信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6-1医生信息管理的测试用例
功能描述 |
用于医生信息管理 |
|
测试目的 |
检测医生信息管理时的各种操作的运行情况 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
点击添加医生信息,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
点击添加医生信息,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改医生信息,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改医生信息,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击删除医生信息,选择医生信息删除 |
提示删除成功 |
与预期结果一致 |
点击搜索医生信息,输入存在的医生信息名 |
查找出医生信息 |
与预期结果一致 |
点击搜索医生信息 ,输入不存在的在线投票名 |
不显示医生信息 |
与预期结果一致 |
下表是预约信息管理功能的测试用例,检测了预约信息管理的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6-2 预约信息管理的测试用例
功能描述 |
用于预约信息管理 |
|
测试目的 |
检测预约信息管理时各种操作的情况 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
未选择预约信息,点击提交 |
提示请选择预约信息 |
与预期结果一致 |
未上传附件,点击提交 |
提示请选择附件 |
与预期结果一致 |
未选择原因,点击提交 |
提示请选择原因 |
与预期结果一致 |
5.4测试结果
根据以上测试情况,测试结果如下表所示。
表6-1测试结果表
测试项目 |
测试结果 |
登录测试 |
成功 |
修改密码测试 |
成功 |
健康干预管理测试 |
成功 |
医生信息测试 |
成功 |
健康评估 |
成功 |
预约信息管理测试 |
成功 |
呼救信息测试 |
成功 |
用户管理测试 |
成功 |
总结与展望
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
[1]王春丽.基于SSM框架的会议管理信息系统设计与实现[J].电脑编程技巧与维护,2022(03):83-85.DOI:10.16184/j.cnki.comprg.2022.03.016.
[2]王月红,蒋冀萍.基于Java的煤矿风险预警与防控系统设计[J].煤炭技术,2022,41(03):173-175.DOI:10.13301/j.cnki.ct.2022.03.041.
[3]梅涛. 一种JAVA通用版关系型数据操作中间件[P]. 北京市:CN114138878A,2022-03-04.
[4]朱珍珠,段华斌,邓永清,杜丹蕾.基于Java的增值平台的设计与实现[J].办公自动化,2022,27(05):55-58.
[5]张文慧,王国田,陈永,温禾,袁涛,艾显威.基于SSM框架城市水体治理工程案例信息系统设计与实现[J].软件,2022,43(02):83-88+92.
[6]李艳杰.基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现[J].黑龙江科学,2022,13(02):56-57.
[7]陈春燕.基于JAVA技术手机自助充电系统的设计[J].电脑知识与技术,2022,18(03):4-6.DOI:10.14004/j.cnki.ckt.2022.0197.
[8]王茹葳.Java编程语言在大数据开发中的应用[J].电子技术,2022,51(01):160-161.
[9]李洁,许青,胡进贤,胡宏智.关于Java面向对象编程技术“课程思政”元素提炼的研究与实践[J].中国新通信,2022,24(02):226-228.
[10]王一竹.基于MySQL的图书馆信息管理系统设计[J].电脑编程技巧与维护,2022(01):93-95+116.DOI:10.16184/j.cnki.comprg.2022.01.003.
[11]郭静.基于SSM框架的高校新生预报到系统的设计与实现[J].电子技术与软件工程,2022(02):232-235.
[12]冯凯.“MySQL数据库”课程教学中常见问题探析[J].无线互联科技,2021,18(24):158-159.
[13]王晨. 基于JAVA的教室查询系统研究[C]//.第三十五届中国(天津)2021’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.,2021:16-19.DOI:10.26914/c.cnkihy.2021.013673.
[14]田青海. 面向Java应用的性能监控系统的设计与实现[D].浙江大学,2021.DOI:10.27461/d.cnki.gzjdx.2021.002539.
[15]徐智宇. 基于B/S架构的工具管理系统设计与实现[D].北京交通大学,2021.DOI:10.26944/d.cnki.gbfju.2021.003272.
[16]Xiaojie Guo,Tingmei Wang*. Design and Implementation of Graduate Information Management System Based on SSM Framework[J]. Journal of Simulation,2020,8(2).
[17]Ping Wanxin,Chen Yuankun,Hou Xiaoyan. Design of Campus Bicycle Rental Management System Based on SSM Framework[J]. Journal of Physics: Conference Series,2019,1314.
[18]杨瑞婷. 面向社区居家养老的健康管理产品服务系统设计研究[D].南京理工大学,2019.DOI:10.27241/d.cnki.gnjgu.2019.000553.
[19]肖睿,龙浩,孙琳,杨桂英,余婕. Java高级特性编程及实战[M].人民邮电出版社:大数据开发实战系列, 201801.209.
[20]SJ/T 11683-2017, Java语言源代码缺陷控制与测试指南[S].
至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。
此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。
最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!
免费领取本源代码,请关注点赞+私信
ssm+微信小程序基于微信小程序的社区老人健康管理服务系统的设计与实现毕业设计源码011513相关推荐
- (附源码)ssm基于微信小程序的社区老人健康管理服务系统的设计与实现 毕业设计 011513
要 随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多分类管理之中,他们利用网络来做这个社区老人健康管理服务系统,随之就产生了"社区老人健康管理服务系统 .",这样 ...
- ssm基于微信小程序的社区老人健康管理服务系统的设计与实现 毕业设计-附源码011513
摘要 随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多分类管理之中,他们利用网络来做这个社区老人健康管理服务系统,随之就产生了"社区老人健康管理服务系统 .",这 ...
- 基于Spring Boot垂钓服务系统的设计与实现毕业设计源码071739
目 录 摘要 1 绪论 1.1 研究背景 1.2研究意义 1.3相关技术介绍 1.4论文结构与章节安排 2垂钓服务系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性 ...
- springboot基于微信小程序的电器商城系统的设计与实现毕业设计源码251453
Springboot电器商城小程序的开发 摘 要 近年来,随着移动互联网的快速发展,电子商务越来越受到网民们的欢迎,电子商务对国家经济的发展也起着越来越重要的作用.简单的流程.便捷可靠的支付方式.快捷 ...
- springboot+微信小程序“微印象”在线打印预约系统的设计与实现毕业设计源码061642
摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微印象在线打印预约小程序被用户普遍使用,为方 ...
- node.js云学堂微信小程序学习系统的设计与实现毕业设计源码011735
Node.js云学堂微信小程序 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...
- 基于SSM框架的救援物资的管理与分配系统的设计与实现毕业设计源码291141
救援物质的管理与分配系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发 ...
- 基于ssm的课程思政资源众包系统的设计与实现毕业设计源码020838
ssm课程思政资源众包系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类 ...
- 基于SSM红色教育系统的设计与实现毕业设计源码211757
SSM红色教育系统的开发 摘 要 红色文化在高校廉政文化建设中具有重要价值,为高校廉政文化建设提供了本源性优质资源和优秀文化根基,提供了正确的价值观导问.积极挖掘和深入研究红色文化资源,运用红色文化研 ...
最新文章
- PHP中session_register函数详解用法
- Mapped Statements collection does not contain value for 之运行异常原因
- 隐藏SyntaxHighlighter滚动条
- 创建安卓模拟器的两种方式及常用Android命令介绍
- 医疗项目中对网编的一些理解看法
- .NET Core开发实战(第15课:选项框架:服务组件集成配置的最佳实践)--学习笔记...
- Loj#6247-九个太阳【单位根反演】
- 1 0.99999的悖论_无限小数与芝诺悖论
- 2019级C语言大作业 - 十步万度
- 腾讯校招开奖,总包拿了 68w!
- Transactional replication-如何跳过一个事务
- pandas读取数据库,将结果使用matplotlib绘制成二维表格图片
- 浅谈toB交付质量体系建设
- 隐马尔科夫链HMM详解
- matlab gui伪色彩增强,基于Matlab GUI的医学灰度图像伪彩色增强判读系统
- 关于数学中“函数(function)”的含义
- 保存一个免费的在线的图片转换工具网站,支持BMP,JPG,IOC,PNG和GIF
- Gulp老矣 尚能饭否
- [c语言]倒置字符串 -牛客网
- Phoenix重磅 | Phoenix核心功能原理及应用场景介绍
热门文章
- 2022-04-06 动态界定图像HSV颜色范围
- Abp框架从零开始(基于.Net Core 2.2) 小记(五) 将服务器部署在IIS上
- centos7-本地yum源的创建创建
- Jsp高校科研审批管理系统
- 前端uniApp设置手机日历提醒
- eBay卖家用连连跨境支付将PayPal提现国内银行教程!
- HTML+CSS+JavaScript实现旅游网站官网(已完成)
- python:实现Space Invader太空入侵者游戏(附完整源码)
- “黑掉卫星Hack-A-Sat”太空信息安全挑战赛的基本情况
- 2012年五大领导力