## 公共参数说明 ### 列表分页参数 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |current|int|是|当前页| |size|int|是|每页的数量| ### 公共返回数据结构 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |code|int|是|成功:200| |success|boolean|是|成功:true, 失败: false| |data|int|是|接口返回的业务数据| |msg|String|是|接口信息| ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### h5接口列表 |接口名称|路径| |-----|-----| |医院列表|blade-system/dept-hospital/list-hospital| |医院文章|blade-business/article/detail-publish| |用户黑名单验证|blade-business/blacklist/user-blacklist| |获取已放号天, 用于预约|blade-business/apm-config/already-config-day| |获取放号列表, 用于预约|blade-business/apm-config/detail-for-apm| |保存预约|blade-business/apm-record/save| |查看我的预约|blade-business/apm-record/page| |取消预约|blade-business/apm-record/cancel| ## 1 公共接口 ### 1.1 医院列表 ##### URL `GET` `blade-system/dept-hospital/list-hospital` ##### 请求参数 无 ##### 返回数据 ```json { "code": 200, "success": true, "data": [ { "id": "1623571646250143746", "fullName": "青岛市海慈医院", "deptName": "青岛市海慈医院", "sort": 1, "remark": "青岛市市南区栖霞路18号", "imgUrl": "", "deptCategoryName": "医院" } ], "msg": "操作成功" } ``` ### 1.2 医院文章列表 ##### URL `GET` `blade-business/article/page` ##### 请求参数 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |createDept|Long|是|医院Id| |startTime|String|否|查询开始时间, 格式yyyy-MM-dd| |endTime|String|否|查询结束时间, 格式yyyy-MM-dd| |title|String|否|标题, 模糊查询| ```json { "code": 200, "success": true, "data": { "records": [ { "id": "1625033089659109377", "createDept": "1623571646250143746", "title": "青岛市海慈医院体检预约须知", "content": "青岛市海慈医院体检预约须知", "publishTime": "2023-02-13 15:35:03", "publishSta": "2" }, { "id": "1625035879760461825", "createDept": "1623571646250143746", "title": "124", "content": "1335", "publishTime": "", "publishSta": "2" } ], "total": 3, "size": 10, "current": 1, "orders": [], "optimizeCountSql": true, "searchCount": true, "countId": "", "maxLimit": -1, "pages": 1 }, "msg": "操作成功" } ``` ### 1.3 添加医院文章 ##### URL `GET` `blade-business/article/save` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |title|String|标题| |content|String|内容| ##### 请求示例 注: content提交前进行html转码, 否则系统会自动进行转码 ```json { "title": "12243", "content": "

dfdfd

", "createDept": "1623571646250143746" } ``` ### 1.4 根据ID获取文章详细 ##### URL `GET` `blade-business/article/detail-by-id` ##### 请求参数 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |id|Long|是|医院Id| ##### 返回示例 ```json { "code": 200, "success": true, "data": { "id": "1625033089659109377", "createDept": "1623571646250143746", "title": "青岛市海慈医院体检预约须知", "content": "青岛市海慈医院体检预约须知", "publishTime": "2023-02-13 15:35:03", "publishSta": "2" }, "msg": "操作成功" } ``` ### 1.5 根据医院ID获取文章详细 ##### URL `GET` `blade-business/article/detail-publish` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| ##### 返回示例 ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 1.7 发布/取消发布文章 ##### URL `GET` `blade-business/article/publish` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |id|Long|要操作的文章ID| |publishFlag|String|发布标注, '0':取消发布, '1':发布| ##### 返回示例 ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 1.8 删除文章 ##### URL `GET` `blade-business/article/remove` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |ids|String|要删除文章ID, 多个id以`,`分割| ##### 返回示例 ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 1.9 获取体检项目 ##### URL `GET` `/blade-system/dict-biz/get-hc-project` ##### 请求参数 无 ##### 返回示例 ```json { "code": 200, "success": true, "data": [ { "id": "1625311164313530369", "tenantId": "000000", "parentId": "1625308652701380609", "code": "hc_project", "dictKey": "1", "dictValue": "单眼视力", "sort": 1, "remark": "单眼视力", "isSealed": -1, "isDeleted": -1, "parentName": "", "hasChildren": false } ], "msg": "操作成功" } ``` ### 1.10 获取医院放号截至时间 ##### URL `GET` `/blade-system/dict-biz/get-apm-config-deadline` ##### 请求参数 无 ##### 返回示例 ```json { "code": 200, "success": true, "data": [ { "id": "1625311864837795842", "tenantId": "000000", "parentId": "1625309630708215809", "code": "hc_apm_config_deadline", "dictKey": "1", "dictValue": "7", "sort": 1, "remark": "过期时间_唯一配置", "isSealed": -1, "isDeleted": -1, "parentName": "", "hasChildren": false } ], "msg": "操作成功" } ``` ### 1.11 获取系统时间 ##### URL `GET` `/blade-business/common-api/get-system-datetime` ##### 请求参数 无 ##### 返回示例 ```json { "code": 200, "success": true, "data": "2023-02-14 16:17:46", "msg": "操作成功" } ``` ## 2 放号 ### 2.1 已放号天列表 ##### URL `GET` `blade-business/apm-config/already-config-day` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |startTime|String|查询开始时间, 格式yyyy-MM-dd| |endTime|String|查询结束时间, 格式yyyy-MM-dd| ##### 返回数据 ```json { "code": 200, "success": true, "data": [{ "mon": "2023-03", "days": { "apmDay": "2023-03-21", "enableApm": "1" } }], "msg": "操作成功" } ``` ### 2.2 保存放号记录 ##### URL `POST` `blade-business/apm-config/save` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |dayList|List|放号天列表, 时间格式yyyy-MM-dd| |configListVOS|List|保存对象| |- createDept|Long|医院Id| |- project|String|项目| |- cuAddr|String|体检地址| |- detailList|List|放号详细| |- - period|String|时段(上午,下午)| |- - timeFrame|String|时间范围, 例:9:00-9:30| |- - numberNum|int|放号数量| ```json { "createDept": 102, "dayList": [ "2023-03-12", "2023-03-14" ], "configListVOS": [{ "createDept": 10215, "project": "视力", "cuAddr": "三楼眼科", "apmDay": "2023-03-12", "detailList": [{ "period": "上午", "timeFrame": "9:00-9:30", "numberNum": 5 }, { "period": "上午", "timeFrame": "9:30-10:00", "numberNum": 5 } ] }] } ``` ### 2.3 获取放号记录详细 ##### URL `GET` `blade-business/apm-config/detail` ##### 请求数据 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |project|String|项目| |apmDay|String|放号天, 格式yyyy-MM-dd| ```json [ { "createDept": 10215, "project": "视力", "cuAddr": "三楼眼科", "apmDay": "2023-03-12", "period":"上午", "timeFrame": "9:00-9:30", "numberNum": 5 }, { "createDept": 10215, "project": "视力", "cuAddr": "三楼眼科", "apmDay": "2023-03-12", "period":"上午", "timeFrame": "9:00-9:30", "numberNum": 5 } ] ``` ### 2.4 放号记录列表 ##### URL `GET` `blade-business/apm-config/page` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |project|String|项目| |startTime|String|查询开始时间, 格式yyyy-MM-dd| |endTime|String|查询结束时间, 格式yyyy-MM-dd| ##### 返回示例 ``` [ { "createDept": 10215, "project": "视力", "cuAddr": "三楼眼科", "apmDay": "2023-03-12", "detailList": [ { "period":"上午", "timeFrame": "9:00-9:30", "numberNum": 5, "apmNum": 0 // 已预约数 }, { "period":"上午", "timeFrame": "9:30-10:00", "numberNum": 5, "apmNum": 0 } ] } ] ``` ## 3 预约及报到 ### 3.1 检查用户是否可预约-医院 ##### 说明 加载体检医院前, 调用接口判断用户是否今天已有预约, 若已有预约, 返回医院列表, 若已加入黑名单, 拒绝预约 备注: 废弃, 无法确定要预约哪天的体检, 故无法判断医院是否可预约 ### 3.2 获取医院所有放号的列表 ##### 说明 根据时间(天)获取医院的放号列表, 返回结果需携带是否可预约的标记 ##### URL `GET` `blade-business/apm-config/detail-for-apm` ##### 请求数据 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |apmDay|String|放号天, 格式yyyy-MM-dd| |cupCardNo|String|体检人证件号| ##### 返回示例 ``` [ { "createDept": 10215, "project": "视力", "cuAddr": "三楼眼科", "apmDay": "2023-03-12", "totalNum" : 10, // 总号数 "totalApmNum": 0, // 总预约数 "detailList": [ { "period":"上午", "timeFrame": "9:00-9:30", "numberNum": 5, "apmNum": 0, "residueNum": 0, "enableApm: 0 }, { "period":"上午", "timeFrame": "9:30-10:00", "numberNum": 5, "apmNum": 0, "residueNum": 0, // 剩余号数 "enableApm: 0 // 是否可预约 } ] } ] ``` ### 3.3 预约记录列表 ##### URL `GET` `blade-business/apm-record/page` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |startTime|String|查询开始时间, 格式yyyy-MM-dd| |endTime|String|查询结束时间, 格式yyyy-MM-dd| |cupCardNo|String|体检人证件号| |project|String|体检人证件号| ##### 返回示例 ```json { "code": 200, "success": true, "data": { "records": [ { "createDept": "1623571646250143746", "createDeptName": "青岛市海慈医院", "apmDay": "2023-02-13 00:00:00", "cupName": "", "cupCardNo": "371322199005057920", "cupPhone": "", "details": [ { "id": "1625057233276706818", "project": "单眼视力", "cuAddr": "门诊楼3楼眼科门诊", "period": "上午", "timeFrame": "8:00-8:30" } ] } ], "total": 8, "size": 10, "current": 1, "orders": [], "optimizeCountSql": true, "searchCount": true, "countId": "", "maxLimit": -1, "pages": 1 }, "msg": "操作成功" } ``` ### 3.4 保存预约记录 ##### URL `POST` `blade-business/apm-record/save` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |createDept|Long|医院Id| |project|String|体检项目| |cuAddr|String|体检地址| |period|String|时段| |apmDay|String|体检天| |timeFrame|String|时间范围| |cupName|String|体检人名称| |cupCardNo|String|体检人证件号| |cupPhone|String|体检人手机号| ##### 请求示例 ```json [ { "apmDay": "2023-02-13", "createDept": "1", "project": "单眼视力", "cuAddr": "门诊楼3楼眼科门诊", "period": "上午", "timeFrame": "8:00-8:30", "cupName": "张三", "cupPhone": "17852326379", "cupCardNo": "37092120000618034X" }, { "apmDay": "2023-02-13", "createDept": "1", "project": "听力", "cuAddr": "门诊楼3楼听力门诊", "period": "上午", "timeFrame": "8:00-8:30", "cupName": "张三", "cupPhone": "17852326379", "cupCardNo": "37092120000618034X" } ] ``` ##### 返回参数 ###### 失败时msg参数说明 |信息|说明| |-----|-----| |"预约失败, 一次只能预约同一个人"|同一次保存请求, 参数中`cupName`不同| |"预约失败, 一次只能预约同一天的体检项目"|同一次保存请求, 参数中`apmDay`不同| |"预约失败, 本日已有其他医院的预约"|每天只能预约1个医院进行体检| |"预约失败, 本日已有此项目的预约"|每天只能预约同项目1次| ##### 返回示例 ###### 失败示例 ```json { "code": 400, "success": false, "data": {}, "msg": "预约失败, 一次只能预约同一个人" } ``` ###### 成功示例 ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 3.5 取消预约记录 ##### URL `POST` `blade-business/apm-record/cancel` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |id|Long|预约记录ID| ##### 返回数据 ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 3.6 更新预约记录状态 ##### 说明 用户报到后, 调用接口, 更新预约记录为`已报到` ##### URL `POST` `blade-business/apm-record/register` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |ids|String|预约记录ID列表| ##### 返回示例 ```json // todo 返回数据结构已变更, 待更新 { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 3.7 根据ID获取详细 ##### URL `GET` `blade-business/apm-record/detail-by-id` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |id|Long|预约记录ID| ##### 返回示例 ```json { "code": 200, "success": true, "data": { "id": "1625057233276706818", "createDept": "1623571646250143746", "project": "单眼视力", "cuAddr": "门诊楼3楼眼科门诊", "period": "上午", "apmDay": "2023-02-13 00:00:00", "timeFrame": "8:00-8:30", "cupName": "张群", "cupCardNo": "371322199005057920", "cupPhone": "15589892890", "apmTime": "2023-02-13 17:00:11", "apmStatus": 0 }, "msg": "操作成功" } ``` ## 4 黑名单 ### 4.1 列表 ##### URL `GET` `blade-business/blacklist/page` ##### 请求参数 |参数名|参数类型|参数说明| |-----|-----|-----| |startTime|String|查询开始时间, 格式yyyy-MM-dd| |endTime|String|查询结束时间, 格式yyyy-MM-dd| |cupCardNo|String|体检人证件号| ##### 返回数据 ### 4.2 根据用户证件号获取详细 ##### URL `POST` `blade-business/blacklist/detail-by-cardno` ##### 请求参数 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |cardNo|String|是|用户证件号| ##### 返回数据 ### 4.3 删除 ##### URL `POST` `blade-business/blacklist/remove` ##### 请求参数 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |ids|String|是|记录Id| ##### 返回数据 ```json { "code": 200, "success": true, "data": {}, "msg": "操作成功" } ``` ### 4.4 获取正在生效的黑名单 ##### 说明 根据用户证件号获取正在生效的黑名单, 若无正在生效的黑名单, 返回空 ##### URL `GET` `blade-business/blacklist/user-blacklist` ##### 请求参数 |参数名|参数类型|必填|参数说明| |-----|-----|-----|-----| |cupCardNo|String|是|体检人证件号| ##### 返回数据 |参数名|参数类型|参数说明| |-----|-----|-----| |data|String|若用户未被拉黑, 返回空字符串, 否则返回错误提示| ```json { "code": 200, "success": true, "data": "", "msg": "操作成功" } ``` ### 5 状态说明 ###### 预约记录状态 |值|说明| |-----|-----| |1|已取消| |2|未报到| |3|已报到| ###### 文章状态 |值|说明| |-----|-----| |0|已保存| |1|已发布| |2|已取消|