文末获取资源,收藏关注不迷路
一、项目介绍
基于协同过滤算法的初心宠物医院综合服务平台包括三种用户,前台会员、后台管理员和医生,不同用户具有的操作权限不同。
在前台,为用户提供一个宠物医院介绍信息、预约挂号信息、常见宠物疾病信息和咨询信息的平台,通过用户注册信息,收集特征,并利用挂号记录为用户推荐科室医生。查看治疗后推荐的营养品。
后台管理员:管理科室、管理医生信息、管理医院公告信息,在线咨询信息、发送常见宠物小疾病诊断信息(帮助宠物主人更好地解决饲养问题,提高了用户体验度,解决了实际的问题)、宠物就诊的电子档案。
医生登录后查看前台预约,通过备注可以了解到宠物的症状,在宠物疾病诊断中上传宠物的诊断影像。根据症状进行诊断,判断疾病类型,然后跟踪治疗。在跟踪治疗阶段,针对诊断的结果进行治疗,说明如何治疗,使用什么药物以及治疗流程。
随着计算机信息技术的发展,各种管理系统逐渐用在社会生产生活中,通过系统化管理提高办事流程,节约时间。在宠物医院,存在许多的服务内容,如预约挂号、信息咨询、跟踪治疗等等,这些复杂的业务信息单靠人工管理,费时费力,还容易出错。如果通过初心宠物医院综合服务平台进行系统化管理,可以有效的解决宠物医院的整个诊疗过程,提高宠物看病的效率。
基于协同过滤算法的初心宠物医院综合服务平台主要包括了前台和后台信息管理两个部分,前台实现信息浏览、在线挂号、在线咨询等,后台实现资讯管理、挂号管理、在线诊疗等功能。
基于协同过滤算法的初心宠物医院综合服务平台可以给宠物饲养者提供快捷高效的宠病看病流程,方便了人们的生活。同时,基于协同过滤算法的初心宠物医院综合服务平台帮助医生快速的进行疾病确诊,在线诊疗,提高了看病工作效率。
二、主要使用技术
环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名
三、研究内容
通过对宠物医院管理的调研,了解到系统需要提供前台信息的浏览、咨询、挂号的功能。后台需要对挂号信息进行管理、发布常见的疾病处理方法,管理系统信息等等。所以从功能上来说,系统包括前台和后台。从用户角度划分,系统包括了会员、管理员和医生。前台会员具有前台信息浏览和咨询的功能,后台包括管理员和医生,对系统的信息进行管理和处理。
初心宠物医院综合服务平台的前台,包括医院介绍、疾病知识、医院资讯、在线预约、会员中心的模块。通过医院介绍可以了解到该医院的路线介绍、专业介绍、科室简介等等。通过疾病知识查询常见的疾病知识内容,了解一些简单的急诊处理方法。通过医院资讯模块了解医生坐诊介绍,医院的最新信息等等。在线预约号模块中,可以填写预约日期和需要预约的内容。通过会员中心管理个人信息以及个人的预约历史记录。
后台管理员登录后,可以对医生进行管理,管理疾病知识、医院资讯、系统信息等等。管理员发布最新的信息,并对错误的信息进行修改或者删除。医生登录后,查看自己的预约订单,查看疾病描述,并提供疾病诊疗。定期更新密码。维护个人信息。
四、核心代码
# coding:utf-8
__author__ = "ila"
from django.http import JsonResponse
from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes
def users_login(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
if req_dict.get('role')!=None:
del req_dict['role']
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, users, req_dict)
def users_register(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
req_dict = {"id": request.session.get('params').get("id")}
msg['data'] = users.getbyparams(users, users, req_dict)[0]
return JsonResponse(msg)
def users_logout(request):
if request.method in ["POST", "GET"]:
msg = {
"msg": "退出成功",
"code": 0
}
return JsonResponse(msg)
def users_page(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code,
"data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
req_dict = request.session.get("req_dict")
tablename = request.session.get("tablename")
try:
__hasMessage__ = users.__hasMessage__
except:
__hasMessage__ = None
if __hasMessage__ and __hasMessage__ != "否":
if tablename != "users":
req_dict["userid"] = request.session.get("params").get("id")
if tablename == "users":
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = users.page(users, users, req_dict)
else:
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = [],1,0,0,10
return JsonResponse(msg)
def users_info(request, id_):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
data = users.getbyid(users, users, int(id_))
if len(data) > 0:
msg['data'] = data[0]
# 浏览点击次数
try:
__browseClick__ = users.__browseClick__
except:
__browseClick__ = None
if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
ret = users.updatebyparams(users, users, click_dict)
if ret != None:
msg['code'] = crud_error_code
msg['msg'] = ret
return JsonResponse(msg)
def users_save(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
req_dict['role'] = '管理员'
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_update(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
if req_dict.get("mima") and req_dict.get("password"):
if "mima" not in users.getallcolumn(users,users):
del req_dict["mima"]
if "password" not in users.getallcolumn(users,users):
del req_dict["password"]
try:
del req_dict["clicknum"]
except:
pass
error = users.updatebyparams(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_delete(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
req_dict = request.session.get("req_dict")
error = users.deletes(users,
users,
req_dict.get("ids")
)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
五、文章目录
1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26