system.proto 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489
  1. syntax = "proto3";
  2. import "base.proto";
  3. package com.ywt.gapi.system;
  4. option java_generic_services = true;
  5. option java_multiple_files = true;
  6. option java_package = "com.ywt.gapi.system";
  7. option go_package = "/gapi";
  8. message Hospital{
  9. int32 hospitalId = 1; //医院Id
  10. string hospitalName = 2; //医院名称
  11. string areaIds = 3; //地区Id
  12. int32 level = 4; //医院等级
  13. string logo = 5; //医院Logo
  14. string address = 6; //详细地址
  15. int32 registerable = 7; //能否挂号
  16. int32 status = 8; //状态(暂用于表示用户是否关注)
  17. }
  18. message Dept{
  19. int32 deptId = 1;
  20. string deptName = 2;
  21. string deptCode = 3;
  22. string yiDaCode = 4; //医达科室code
  23. int32 parentId = 5;
  24. }
  25. message HospitalDept{
  26. int32 deptId = 1;
  27. string deptName = 2;
  28. repeated Dept deptList = 3;
  29. string deptCode = 4;
  30. }
  31. message HospitalListRequest{
  32. int32 pageIndex = 1;
  33. int32 pageSize = 2;
  34. }
  35. message HospitalListResponse{
  36. Result result = 1;
  37. repeated Hospital hospitalList = 2;
  38. int32 count = 3;
  39. int32 totalPages = 4;
  40. }
  41. //根据条件查找医院列表Request
  42. message GetHospitalListRequest{
  43. int32 pageIndex = 1;
  44. int32 pageSize = 2;
  45. string name = 3; //医院名称
  46. string areaIds = 4; //医院地址
  47. int32 userId = 5; //用户ID
  48. }
  49. message DeptListRequest{
  50. int32 hospitalId = 1;
  51. }
  52. message DeptListResponse{
  53. Result result = 1;
  54. repeated Dept deptList = 2;
  55. }
  56. message HospitalDeptListRequest{
  57. int32 hospitalId = 1;
  58. }
  59. message HospitalDeptListResponse{
  60. Result result = 1;
  61. repeated HospitalDept hospitalDeptList = 2;
  62. }
  63. message CheckAppVersionRequest{
  64. int32 clientType = 1;
  65. string appVersion = 2;
  66. }
  67. message CheckAppVersionResponse{
  68. int32 clientType = 1; //客户端类型
  69. string version = 2; //最新版本号
  70. string detail = 3; //更新内容
  71. string downloadUrl = 4; //下载地址
  72. int32 updateStatus = 5; //是否强制更新
  73. }
  74. //地区
  75. message Area{
  76. int32 id = 1; //唯一标识
  77. string name = 2; //名称
  78. int32 weight = 3; //权重
  79. int32 status = 4; //状态
  80. int32 parentId = 5; //上级Id
  81. int32 display = 6; //显示
  82. int32 level = 7; //地区级别
  83. }
  84. //获取地区列表请求
  85. message GetAreaListRequest{
  86. }
  87. //获取地区列表响应
  88. message GetAreaListResponse{
  89. Result result = 1;
  90. repeated Area area = 2; //地区列表
  91. }
  92. //地址
  93. message Address{
  94. int32 id = 1; //唯一标识
  95. string province = 2; //省
  96. string city = 3; //市
  97. string area = 4; //区
  98. string address = 5; //详细地址
  99. string contact = 6; //联系人
  100. string appellation = 7; //称呼
  101. string mobile = 8; //联系手机号
  102. int32 userId = 9; //用户Id
  103. int32 status = 10; //状态
  104. int64 createTime = 11; //添加时间
  105. int64 updateTime = 12; //修改时间
  106. int32 provinceId = 13; //省Id
  107. int32 cityId = 14; //市Id
  108. int32 areaId = 15; //区Id
  109. }
  110. //获取地址列表请求
  111. message GetAddressListRequest{
  112. int32 userId = 1;
  113. }
  114. //获取地址列表响应
  115. message GetAddressListResponse{
  116. Result result = 1;
  117. repeated Address address = 2;
  118. }
  119. //保存收货地址请求
  120. message SaveAddressRequest{
  121. int32 userId = 1; //用户Id
  122. string province = 2; //省
  123. string city = 3; //市
  124. string area = 4; //区
  125. string address = 5; //详细地址
  126. string contact = 6; //联系人
  127. string appellation = 7; //称呼
  128. string mobile = 8; //联系手机号
  129. int32 id = 9; //地址Id,大于0时表示修改,为0表示新增
  130. int32 provinceId = 10; //省Id
  131. int32 cityId = 11; //市Id
  132. int32 areaId = 12; //区Id
  133. }
  134. //删除收货地址请求
  135. message DeleteAddressRequest{
  136. int32 userId = 1; //用户Id
  137. int32 addressId = 2; //地址唯一标识
  138. }
  139. //获取地址详情请求
  140. message GetAddressRequest{
  141. int32 addressId = 1;
  142. }
  143. //获取地址详情响应
  144. message GetAddressResponse{
  145. Result result = 1;
  146. Address address = 2;
  147. }
  148. //树结点
  149. message TreeNode{
  150. int32 id = 1;
  151. string label = 2;
  152. int32 parentId = 3;
  153. repeated TreeNode children = 4;
  154. }
  155. //获取地区列表(树状结构)请求
  156. message GetAreaTreeNodeListRequest{
  157. }
  158. //获取地区列表(树状结构)响应
  159. message GetAreaTreeNodeListResponse{
  160. Result result = 1;
  161. string treeString = 2;
  162. repeated TreeNode area = 3;
  163. }
  164. message AreaHospital{
  165. int32 hospitalId = 1;
  166. string hospitalName = 2;
  167. string areaIds = 3;
  168. }
  169. // 根据地区获取医院
  170. message AreaHospitalListRequest{
  171. int32 pageIndex = 1;
  172. int32 pageSize = 2;
  173. string areaIds = 3;
  174. }
  175. //根据地区返回医院
  176. message AreaHospitalListResponse{
  177. Result result = 1;
  178. repeated AreaHospital areaHospitalList = 2;
  179. int32 count = 3;
  180. int32 totalPages = 4;
  181. }
  182. //获取地区列表请求--APP专用
  183. message AreaListRequest{
  184. }
  185. //获取地区列表响应--APP专用
  186. message AreaListResponse{
  187. Result result = 1;
  188. repeated Area area = 2; //地区列表
  189. }
  190. //微信相关配置
  191. message WeChatConfig{
  192. string appId = 1; //患者端公众号appId(南方医务通)
  193. string secret = 2; //患者端公众号secret(南方医务通)
  194. string doctorAppId = 3; //医生端公众号appId(我的工作站)
  195. string doctorSecret = 4; //医生端公众号secret(我的工作站)
  196. }
  197. //获取微信配置请求
  198. message GetWeChatConfigRequest{
  199. }
  200. //获取微信配置响应
  201. message GetWeChatConfigResponse{
  202. Result result = 1;
  203. WeChatConfig config = 2;
  204. }
  205. //根据医达科室Code获取科室信息请求
  206. message GetDeptByYiDaCodeRequest{
  207. string yiDaCode = 1;
  208. }
  209. //根据医达科室Code获取科室信息响应
  210. message GetDeptByYiDaCodeResponse{
  211. Result result = 1;
  212. Dept dept = 2;
  213. }
  214. message YiDaDoctorCode{
  215. string doctorId = 1;
  216. string yiDaDoctorCode = 2;
  217. string yiDaDoctorName = 3;
  218. }
  219. //获取医达医生Id请求
  220. message GetYiDaDoctorCodeRequest{
  221. repeated string doctorId = 1;
  222. }
  223. //获取医达医生Id响应
  224. message GetYiDaDoctorCodeResponse{
  225. Result result = 1;
  226. repeated YiDaDoctorCode doctorCode = 2;
  227. }
  228. //国际疾病分类(International Classification of Diseases,ICD)
  229. message IcdCode{
  230. int32 id = 1; //唯一标识
  231. string code = 2; //icd编码
  232. string name = 3; //名称
  233. string pyCode = 4; //拼音编码
  234. string dCode = 5; //自定义编码
  235. int32 flag = 6; //标志,0-诊断
  236. int32 icdVer = 7; //icd版本
  237. string wbCode = 8; //五笔编码
  238. string parentCode = 9; //上级code
  239. int32 sortSn = 10; //排序
  240. }
  241. //获取国际疾病分类请求
  242. message GetIcdCodeListRequest{
  243. }
  244. //获取国际疾病分类响应
  245. message GetIcdCodeListResponse{
  246. Result result = 1;
  247. repeated IcdCode code = 2;
  248. }
  249. //修改默认地址Request create by daiyihua
  250. message SettingDefaultAddressRequest{
  251. int32 userId = 1;
  252. int32 addressId = 2;
  253. }
  254. //消息模板
  255. message MsgTpl{
  256. int32 id = 1; //id
  257. string title = 2; //模板名称
  258. string content = 3; //模板内容
  259. int32 type = 4; //类型
  260. int32 module = 5; //模块
  261. int64 createTime = 6; //创建时间
  262. bool format = 7; //是否格式化参数
  263. }
  264. //获取消息模板列表请求
  265. message GetMsgTplListByModuleRequest{
  266. int32 module = 1;
  267. }
  268. //获取消息模板列表响应
  269. message GetMsgTplListByModuleResponse{
  270. Result result = 1;
  271. repeated MsgTpl msgTpl = 2;
  272. }
  273. //得到医生地址Request create by daiyihua
  274. message GetDoctorAddressRequest{
  275. int32 userId = 1;
  276. }
  277. //得到医生默认或最近添加地地址
  278. message GetDoctorDefaultAddressResponse{
  279. Result result = 1;
  280. Address address = 2;
  281. }
  282. //通过medicalCardId同步诊疗卡信息
  283. message SynchronizingInformationRequest{
  284. int32 medicalCardId = 1; //诊疗卡表主键ID
  285. }
  286. //得到医院信息Request create by daiyihua
  287. message GetHospitalRequest{
  288. int32 hospitalId = 1;
  289. }
  290. //得到医院信息Response create by daiyihua
  291. message GetHospitalResponse{
  292. Result result = 1;
  293. Hospital hospital = 2;
  294. }
  295. //同步太和检查结果请求
  296. message SyncTaiheInspectionReportRequest{
  297. string hisPatientId = 1;
  298. int32 registrationId = 2;
  299. }
  300. //同步太和检验结果请求
  301. message SyncTaiheLaboratoryReportRequest{
  302. string hisPatientId = 1;
  303. int32 registrationId = 2;
  304. }
  305. //
  306. message CreateHisAddRegisteredFlagRequest{
  307. string hisPatientId = 1;
  308. string hisCardNo = 2;
  309. }
  310. //医生团队(展示的)领衔医生所在的一级科室
  311. message GetTeamDeptListRequest{
  312. }
  313. //医生团队(展示的)领衔医生所在的一级科室
  314. message GetTeamDeptListResponse{
  315. int32 code = 1;
  316. string msg = 2;
  317. repeated Dept dept = 3;
  318. }
  319. //保存收获地址Respose
  320. message SaveAddressResponse{
  321. int32 code = 1;
  322. string msg = 2;
  323. int32 addressId = 3;
  324. }
  325. message SaveMiniProgramLogRequest{
  326. string type = 1;
  327. string apiInfo = 2;
  328. string sysInfo = 3;
  329. string openId = 4;
  330. string unionId = 5;
  331. int32 userId = 6;
  332. }
  333. message SaveMiniProgramLogResponse{
  334. int32 code = 1;
  335. string msg = 2;
  336. }
  337. //获取科室Request
  338. message GetDeptRequest{
  339. int32 deptId = 1;
  340. }
  341. //获取科室Response
  342. message GetDeptResponse{
  343. int32 code = 1;
  344. string msg = 2;
  345. Dept dept = 3;
  346. }
  347. // 对应 rpc 项目的 SystemServiceImpl 类
  348. service SystemService{
  349. rpc getHospitalList(HospitalListRequest) returns (HospitalListResponse); //获取医院列表
  350. rpc getDeptList(DeptListRequest) returns (DeptListResponse); //获取医院科室列表
  351. rpc getHospitalDeptList(HospitalDeptListRequest) returns (HospitalDeptListResponse); //获取医院所有科室列表
  352. rpc checkAppVersion(CheckAppVersionRequest) returns (CheckAppVersionResponse); //检测APP是否需要更新
  353. rpc getAreaList(GetAreaListRequest) returns (GetAreaListResponse); //获取地区列表
  354. rpc getAddressList(GetAddressListRequest) returns (GetAddressListResponse); //获取地址列表
  355. rpc saveAddress(SaveAddressRequest) returns (SaveAddressResponse); //保存收货地址
  356. rpc deleteAddress(DeleteAddressRequest) returns (Result); //删除收货地址
  357. rpc getAddress(GetAddressRequest) returns (GetAddressResponse); //获取地址详情
  358. rpc getAreaTreeNodeList(GetAreaTreeNodeListRequest) returns (GetAreaTreeNodeListResponse); //获取地区列表(树状结构)
  359. rpc getAppAreaList(AreaListRequest) returns (AreaListResponse); //获取地区
  360. rpc getAreaHospitalList(AreaHospitalListRequest) returns (AreaHospitalListResponse); //根据地区获取医院列表
  361. rpc getWeChatConfig(GetWeChatConfigRequest) returns (GetWeChatConfigResponse); //获取微信配置
  362. //根据医达科室Code获取科室信息
  363. rpc getDeptByYiDaCode(GetDeptByYiDaCodeRequest) returns (GetDeptByYiDaCodeResponse);
  364. //
  365. rpc getYiDaDoctorCode(GetYiDaDoctorCodeRequest) returns (GetYiDaDoctorCodeResponse);
  366. //获取国际疾病分类
  367. rpc getIcdCodeList(GetIcdCodeListRequest) returns (GetIcdCodeListResponse);
  368. //得到所有地区集合,包括区、县
  369. rpc getAllAreaList(GetAreaListRequest) returns (GetAreaListResponse);
  370. //获取医生地址列表 create by daiyihua
  371. rpc getDoctorAddressList(GetAddressListRequest) returns (GetAddressListResponse);
  372. //医生保存地址 create by daiyihua
  373. rpc doctorSaveAddress(SaveAddressRequest) returns (Result);
  374. //医生设置默认地址 create by daiyihua
  375. rpc settingDefaultAddress(SettingDefaultAddressRequest) returns (Result);
  376. //获取消息模板列表
  377. rpc getMsgTplListByModule(GetMsgTplListByModuleRequest) returns (GetMsgTplListByModuleResponse);
  378. //得到医生默认或最近添加的地址 create by daiyhua
  379. rpc getDoctorDefaultAddress(GetDoctorAddressRequest) returns (GetDoctorDefaultAddressResponse);
  380. //同步诊疗卡信息 create by daiyihua
  381. rpc synchronizingInformation(SynchronizingInformationRequest) returns (Result);
  382. //根据医院ID得到医院信息 create by daiyihua
  383. rpc getHospital(GetHospitalRequest) returns (GetHospitalResponse);
  384. //同步太和检查结果
  385. rpc syncTaiheInspectionReport(SyncTaiheInspectionReportRequest) returns (Result);
  386. //同步太和检验结果
  387. rpc syncTaiheLaboratoryReport(SyncTaiheLaboratoryReportRequest) returns (Result);
  388. //
  389. rpc createHisAddRegisteredFlag(CreateHisAddRegisteredFlagRequest) returns (Result);
  390. //医生团队(展示的)领衔医生所在的一级科室
  391. rpc getTeamDeptList(GetTeamDeptListRequest) returns (GetTeamDeptListResponse);
  392. //根据条件查找医院列表
  393. rpc findHospitalList(GetHospitalListRequest) returns (HospitalListResponse);
  394. //得到普通用户关注的医院列表
  395. rpc getGeneralAttentionHospitalList(GetHospitalListRequest) returns (HospitalListResponse);
  396. //保存小程序日志
  397. rpc saveMiniProgramLog(SaveMiniProgramLogRequest) returns (SaveMiniProgramLogResponse);
  398. //获取科室
  399. rpc getDept(GetDeptRequest) returns (GetDeptResponse);
  400. }