hospital's People
hospital's Issues
学佛的反馈
学佛当时的反馈,有些东西还没有解决,列在这里。
另外注意学佛文档v4.4更新版中,数据库有一定的改动,此外之前已实现的接口也有一定的改动,其中我改写了一部分,但也有一些还没有做。
我能想起来的比较大的几处没有来得及做的改动是:
- 数据库User等表的字段的增加
- 创建User、Hospital等时的重复性问题(以ID为准)
- Check_Register还没有写
Page2 Find_Hospital
- 只提供Area_ID即可,不需要提供Province相关信息
现在修改为 Area_ID ,即提供Area_ID ,返回对应的医院的集合
预约医生 Reservation
- 字段“Reseration_Symptom”拼写错误,因与查询操作直接相关,需要修改
- 没有提供Reservation_Time字段,不在后台本地获取的原因是前后端系统时间可能有误差,应以用户看到的前端时间为准
- 没有提供Reservation_PayAmount字段,当然也可以在支付挂号费时提供,但支付挂号费时也没有提供
- Doctor表中不存在“已预约人数”对应的字段,暂时忽略
- 解释一下Doctor_Limit字段的含义,如果是上限,是应该不动,还是应该逐渐减少?如果不动,哪个字段记录了已预约次数?
- 如果Doctor表有对应的increase操作,User表是否也应该进行对应的increase?
Reservation_Symptom 已经修改
既然这样就把前台时间也post 过去 Reservation_Time
根据Doctor_ID 去查到Doctor_Fee 这个就是挂号费,Doctor_Fee 是由配置医生信息时候管理员填入的
考虑到每个医生都应该挂号费可调(虽然医院根据制成有收费标准,但是
根据科室不同,医生个人的声望不同,不能保证即使同一级别的医生挂号费一定一样)
我当时考虑的是让Doctor_Limit逐渐减少,但是现在感觉不好,因为没有办法让减少的字段恢复,
这个确实不好办
现在的方案这样:Doctor_Limit恒定,没进行一次预约的时候,
先select count(*) from reservation where doctor_id=? and reservation_time>today.00:00
and reservation_time<today.23:59
然后根据获取的数量与Doctor_Limit对比,若相等,则证明号满,返回msg 为2
同时,我会加一个接口Find_Doctor_State,获取某天某位医生的挂号状态,用于前台显示,这样对于已经
满号的医生直接前台不让预约。
其实对于reservation 应该弄成分表即reservation20141201这种样式,但是大梁感觉难度太大就放弃了
这样一个表,数据量一大就麻烦,不过演示应该没问题
均采用increase操作
取消预约 del_Reservation
- 如果预约时需要increase,那么取消时是否应该decrease
- 已支付时要退钱这个注意到了,但还是同样的问题,Reservation_PayAmount字段从没赋过值,不知道该退多少钱
既然预约的时候已经通过Doctor_Fee查找到了挂号费,那么Reservation_PayAmount就有值了
注意:付钱的时候根据Doctor_Fee 去填Reservation_PayAmount,
退钱时候不要再管Doctor_Fee,而是根据Reservation_PayAmount退款
可能这个医生今天的Doctor_Fee是5元,第二天评上教授,成了10块
那么你挂号交了5块,退钱的时候还是退5块
审核注册 Check_Register
- 没搞明白这个函数的意思……
用户注册成功后并不能登录系统,谭老师建议的是考虑的是人工审核的方式,因为你没有办法搞到公安系统的接口进行身份证号验证,
注册成功后,User表isChecked为0,
对了,登陆的时候还要判断isChecked,若为0,返回msg 为2,表示未通过审核
待管理员审核之后,将isChecked置为1,这个接口就是干这个事的。
get_UserInfo_byID
- 文档3.1版本补丁中添加此接口,4.0版本中消失,估计是文档遗漏,在此作为提醒,后台已实现此接口
后来考虑到,即使是管理员,一般也不是通过Use_ID获取用户信息
他应该是通过Identity_ID获取用户信息,
比如有用户觉得自己的信息有问题,去找管理员,他不知道自己的User_ID,因为这
是我们的系统给他的,但他一定知道自己的身份证号,他报告它的身份证号
管理员去查他的信息,所以添加了一个Find_User_By_Identity_ID接口
不过这个接口就带着吧,可能会有用
创建医院 Create_Hospital
- 创建医院前检查医院是否已经存在的工作,是交给PHP还是Node.js?
- 目前后台的做法是检查了是否已经存在,如果存在,msg = 1,info记录已存在的提示信息
- 注册用户、添加科室也存在上述问题
理论上讲,虽然一般不会存在,我们既然允许用户可以有相同的名字(
所以我们改用让用户以Identity_ID登录,而不是用户名)
就应该允许医院也可以同名,因为我们是根据Hospital_ID 区分的
至于科室,一定会有重名,但是Depart_ID不同,每个Hospital_ID
会领属自己的科室,至于不同医院科室之间是否重名,不管。
反正Depart_ID一定不同,接口也都是用Depart_ID获取信息,不用Name
添加科室 Get_DepartInfo
- 与获取科室信息接口重名,后台将其修改为Create_Depart,与创建医院统一格式
- 注册用户、创建医院、添加医生等接口都没有返回ID,这个确定需要返回ID么?(因为要多写很多东西)
你只要告诉我插入成功就行了,因为操作流程是这样的
创建医院,写完各种信息,点击保存,post这些信息,你把他存到数据库,返回msg
我一看是0,弹出对话框提示创建成功,这是一步
然后我想查看医院列表,先Get_Province_Info,看到省份列表们这又是一步(Province_ID已经获取隐藏到html里面了)
然后我选择北京,Find_Hospital_By_Province_ID,这又是一步,就看到医院了,所以你第一步不用返回ID
添加医生 Add_Doctor
- 注册用户、创建医院、创建科室等接口的后台实现中都不允许重名的出现(检查了已经存在),这里是否允许重名?(目前的后台实现是不允许)
允许,理由见前述
更新config.js内容
增加七牛模块之后,需要在config.js文件中做一些修改,例如:
module.exports = {
database : {
host: '127.0.0.1',
port: '3306',
user: 'root',
password: 'root',
database: 'hospital'
},
secret_key:"songzimingdb",
qiniu: {
access_key: 'pnpkm810BZXBB91qCC1ngB7W9VsuMA2PlDQ-3TLk',
secret_key: 'WYO7O5C8egJETslSPIe7KkkT4QzXIXauKKmHUFcz',
bucket: 'hospital'
}
};
接口补丁
添加接口
Post destination host/ Check_Admin_Repeat
{
token
encrypttime
Admin_Name
}
Return
{
msg
isRepeat 0 is not repeat
1 is repeat
}
请检查Login_User 和Login_Admin两个接口,是不是没写啊
5.0基础上加一个接口
Post destination host/Find_User_By_Condition
{
token
encrypttime
//以下四项可以为空,空代表无限制
Area_ID
isChecked
start
size
}
Return {
msg
content:[
{
User_ID
User_Name
Identity_ID
}
]
}
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.