liveConsultation.dart 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. import 'dart:core';
  2. import 'package:fis_jsonrpc/client_base.dart';
  3. import 'package:fis_common/json_convert.dart';
  4. import 'liveConsultation.m.dart';
  5. import 'notification.m.dart';
  6. class LiveConsultationService extends JsonRpcClientBase {
  7. LiveConsultationService(
  8. String host, {
  9. String serviceName = "ILiveConsultationService",
  10. Map<String, String>? headers,
  11. int? timeout,
  12. }) : super(
  13. host,
  14. serviceName,
  15. headers: headers,
  16. timeout: timeout,
  17. ) {
  18. /// 注册响应实体反序列化处理器
  19. FJsonConvert.setDecoder((map) => OrganizationBaseDTO.fromJson(map));
  20. FJsonConvert.setDecoder((map) => OrganizationExpertDTO.fromJson(map));
  21. FJsonConvert.setDecoder((map) => PageResult<ConsultationPageDTO>.fromJson(map));
  22. FJsonConvert.setDecoder((map) => ConsultationPageDTO.fromJson(map));
  23. FJsonConvert.setDecoder((map) => ExportConsultationDataResult.fromJson(map));
  24. FJsonConvert.setDecoder((map) => ConsultationDetailDTO.fromJson(map));
  25. FJsonConvert.setDecoder((map) => ConsultationAssistantDTO.fromJson(map));
  26. FJsonConvert.setDecoder((map) => ConsultationAssistantDoctorDTO.fromJson(map));
  27. FJsonConvert.setDecoder((map) => PageResult<ClientPatientInfoBaseDTO>.fromJson(map));
  28. FJsonConvert.setDecoder((map) => ClientPatientInfoBaseDTO.fromJson(map));
  29. FJsonConvert.setDecoder((map) => InitiateLiveConsultationResult.fromJson(map));
  30. FJsonConvert.setDecoder((map) => InviteInLiveConsultationResult.fromJson(map));
  31. FJsonConvert.setDecoder((map) => CancelInvitingInLiveConsultationResult.fromJson(map));
  32. FJsonConvert.setDecoder((map) => RejectLiveConsultationResult.fromJson(map));
  33. FJsonConvert.setDecoder((map) => JoinLiveConsultationResult.fromJson(map));
  34. FJsonConvert.setDecoder((map) => CancelLiveConsultationResult.fromJson(map));
  35. FJsonConvert.setDecoder((map) => AcceptLiveConsultationResult.fromJson(map));
  36. FJsonConvert.setDecoder((map) => LeaveLiveConsultationResult.fromJson(map));
  37. FJsonConvert.setDecoder((map) => MuteLiveConsultationResult.fromJson(map));
  38. FJsonConvert.setDecoder((map) => SwitchLiveConsultationVideoResult.fromJson(map));
  39. FJsonConvert.setDecoder((map) => LiveConsultationHeartRateResult.fromJson(map));
  40. FJsonConvert.setDecoder((map) => FollowUpVisitDTO.fromJson(map));
  41. FJsonConvert.setDecoder((map) => ConsultationEvaluateDTO.fromJson(map));
  42. FJsonConvert.setDecoder((map) => ConsultationImagesDTO.fromJson(map));
  43. FJsonConvert.setDecoder((map) => UserExtendDTO.fromJson(map));
  44. FJsonConvert.setDecoder((map) => ChangeConsultationResult.fromJson(map));
  45. FJsonConvert.setDecoder((map) => LiveConsultationMember.fromJson(map));
  46. FJsonConvert.setDecoder((map) => QueryEmergencyDataResult.fromJson(map));
  47. }
  48. Future<List<OrganizationBaseDTO>> findParentOrganizationsAsync(FindHigherOrganizationsRequest request) async {
  49. var rpcRst = await call("FindParentOrganizationsAsync", request);
  50. var result = (rpcRst as List).map((e)=>OrganizationBaseDTO.fromJson(e as Map<String, dynamic>)).toList();
  51. return result;
  52. }
  53. Future<List<OrganizationBaseDTO>> findGrassRootsOrganizationsAsync(FindGrassRootsOrganizationsRequest request) async {
  54. var rpcRst = await call("FindGrassRootsOrganizationsAsync", request);
  55. var result = (rpcRst as List).map((e)=>OrganizationBaseDTO.fromJson(e as Map<String, dynamic>)).toList();
  56. return result;
  57. }
  58. Future<List<OrganizationExpertDTO>> findOrganizationExpertsAsync(FindOrganizationExpertsRequest request) async {
  59. var rpcRst = await call("FindOrganizationExpertsAsync", request);
  60. var result = (rpcRst as List).map((e)=>OrganizationExpertDTO.fromJson(e as Map<String, dynamic>)).toList();
  61. return result;
  62. }
  63. Future<String> applyConsultationAsync(ApplyConsultationRequest request) async {
  64. var rpcRst = await call("ApplyConsultationAsync", request);
  65. return rpcRst;
  66. }
  67. Future<bool> updateConsultationAsync(UpdateConsultationRequest request) async {
  68. var rpcRst = await call("UpdateConsultationAsync", request);
  69. return rpcRst;
  70. }
  71. Future<bool> improveConsultationInfoAsync(ImproveConsultationInfoRequest request) async {
  72. var rpcRst = await call("ImproveConsultationInfoAsync", request);
  73. return rpcRst;
  74. }
  75. Future<List<OrganizationExpertDTO>> findAssistantExpertsAsync(FindAssistantExpertsRequest request) async {
  76. var rpcRst = await call("FindAssistantExpertsAsync", request);
  77. var result = (rpcRst as List).map((e)=>OrganizationExpertDTO.fromJson(e as Map<String, dynamic>)).toList();
  78. return result;
  79. }
  80. Future<PageResult<ConsultationPageDTO>> findConsultationsByPageAsync(FindConsultationByPageRequest request) async {
  81. var rpcRst = await call("FindConsultationsByPageAsync", request);
  82. var result = PageResult<ConsultationPageDTO>.fromJson(rpcRst as Map<String, dynamic>);
  83. return result;
  84. }
  85. Future<ExportConsultationDataResult> exportConsultationsAsync(ExportConsultationsRequest request) async {
  86. var rpcRst = await call("ExportConsultationsAsync", request);
  87. var result = ExportConsultationDataResult.fromJson(rpcRst as Map<String, dynamic>);
  88. return result;
  89. }
  90. Future<ConsultationDetailDTO> findConsultationDetailAsync(FindConsultationDetailRequest request) async {
  91. var rpcRst = await call("FindConsultationDetailAsync", request);
  92. var result = ConsultationDetailDTO.fromJson(rpcRst as Map<String, dynamic>);
  93. return result;
  94. }
  95. Future<bool> approvalConsultationAsync(ApprovalConsultationRequest request) async {
  96. var rpcRst = await call("ApprovalConsultationAsync", request);
  97. return rpcRst;
  98. }
  99. Future<bool> rejectApplyConsultationAsync(RejectApplyConsultationRequest request) async {
  100. var rpcRst = await call("RejectApplyConsultationAsync", request);
  101. return rpcRst;
  102. }
  103. Future<bool> revokeConsultationAsync(RevokeConsultationRequest request) async {
  104. var rpcRst = await call("RevokeConsultationAsync", request);
  105. return rpcRst;
  106. }
  107. Future<bool> deleteConsultationAsync(DeleteConsultationRequest request) async {
  108. var rpcRst = await call("DeleteConsultationAsync", request);
  109. return rpcRst;
  110. }
  111. Future<bool> updateConsultationFilesInfoAsync(UpdateConsultationFilesInfoRequest request) async {
  112. var rpcRst = await call("UpdateConsultationFilesInfoAsync", request);
  113. return rpcRst;
  114. }
  115. Future<List<ConsultationAssistantDTO>> findOrganizationAssistantsAsync(FindOrganizationAssistantsRequest request) async {
  116. var rpcRst = await call("FindOrganizationAssistantsAsync", request);
  117. var result = (rpcRst as List).map((e)=>ConsultationAssistantDTO.fromJson(e as Map<String, dynamic>)).toList();
  118. return result;
  119. }
  120. Future<List<ConsultationAssistantDoctorDTO>> findOrganizationAssistantDoctorsAsync(FindOrganizationAssistantDoctorsRequest request) async {
  121. var rpcRst = await call("FindOrganizationAssistantDoctorsAsync", request);
  122. var result = (rpcRst as List).map((e)=>ConsultationAssistantDoctorDTO.fromJson(e as Map<String, dynamic>)).toList();
  123. return result;
  124. }
  125. Future<bool> updateMyOrganizationAssistantAsync(UpdateMyOrganizationAssistantRequest request) async {
  126. var rpcRst = await call("UpdateMyOrganizationAssistantAsync", request);
  127. return rpcRst;
  128. }
  129. Future<PageResult<ClientPatientInfoBaseDTO>> findConsultationPatientAsync(FindConsultationPatientPageRequest request) async {
  130. var rpcRst = await call("FindConsultationPatientAsync", request);
  131. var result = PageResult<ClientPatientInfoBaseDTO>.fromJson(rpcRst as Map<String, dynamic>);
  132. return result;
  133. }
  134. Future<List<ConsultationPageDTO>> findCanSwitchConsultationsAsync(FindCanSwitchConsultationsRequest request) async {
  135. var rpcRst = await call("FindCanSwitchConsultationsAsync", request);
  136. var result = (rpcRst as List).map((e)=>ConsultationPageDTO.fromJson(e as Map<String, dynamic>)).toList();
  137. return result;
  138. }
  139. Future<InitiateLiveConsultationResult> initiateLiveConsultationAsync(InitiateLiveConsultationRequest request) async {
  140. var rpcRst = await call("InitiateLiveConsultationAsync", request);
  141. var result = InitiateLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  142. return result;
  143. }
  144. Future<InviteInLiveConsultationResult> inviteInLiveConsultationAsync(InviteInLiveConsultationRequest request) async {
  145. var rpcRst = await call("InviteInLiveConsultationAsync", request);
  146. var result = InviteInLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  147. return result;
  148. }
  149. Future<CancelInvitingInLiveConsultationResult> cancelInvitingInLiveConsultationAsync(CancelInvitingInLiveConsultationRequest request) async {
  150. var rpcRst = await call("CancelInvitingInLiveConsultationAsync", request);
  151. var result = CancelInvitingInLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  152. return result;
  153. }
  154. Future<RejectLiveConsultationResult> rejectInviteLiveConsultationAsync(RejectLiveConsultationRequest request) async {
  155. var rpcRst = await call("RejectInviteLiveConsultationAsync", request);
  156. var result = RejectLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  157. return result;
  158. }
  159. Future<JoinLiveConsultationResult> joinInLiveConsultationAsync(JoinLiveConsultationRequest request) async {
  160. var rpcRst = await call("JoinInLiveConsultationAsync", request);
  161. var result = JoinLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  162. return result;
  163. }
  164. Future<CancelLiveConsultationResult> cancelLiveConsultationAsync(CancelLiveConsultationRequest request) async {
  165. var rpcRst = await call("CancelLiveConsultationAsync", request);
  166. var result = CancelLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  167. return result;
  168. }
  169. Future<AcceptLiveConsultationResult> acceptLiveConsultationAsync(AcceptLiveConsultationRequest request) async {
  170. var rpcRst = await call("AcceptLiveConsultationAsync", request);
  171. var result = AcceptLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  172. return result;
  173. }
  174. Future<RejectLiveConsultationResult> rejectLiveConsultationAsync(RejectLiveConsultationRequest request) async {
  175. var rpcRst = await call("RejectLiveConsultationAsync", request);
  176. var result = RejectLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  177. return result;
  178. }
  179. Future<JoinLiveConsultationResult> joinLiveConsultationAsync(JoinLiveConsultationRequest request) async {
  180. var rpcRst = await call("JoinLiveConsultationAsync", request);
  181. var result = JoinLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  182. return result;
  183. }
  184. Future<LeaveLiveConsultationResult> leaveLiveConsultationAsync(LeaveLiveConsultationRequest request) async {
  185. var rpcRst = await call("LeaveLiveConsultationAsync", request);
  186. var result = LeaveLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  187. return result;
  188. }
  189. Future<MuteLiveConsultationResult> muteLiveConsultationAsync(MuteLiveConsultationRequest request) async {
  190. var rpcRst = await call("MuteLiveConsultationAsync", request);
  191. var result = MuteLiveConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  192. return result;
  193. }
  194. Future<SwitchLiveConsultationVideoResult> switchLiveConsultationVideoAsync(SwitchLiveConsultationVideoRequest request) async {
  195. var rpcRst = await call("SwitchLiveConsultationVideoAsync", request);
  196. var result = SwitchLiveConsultationVideoResult.fromJson(rpcRst as Map<String, dynamic>);
  197. return result;
  198. }
  199. Future<LiveConsultationHeartRateResult> heartRateAsync(LiveConsultationHeartRateRequest request) async {
  200. var rpcRst = await call("HeartRateAsync", request);
  201. var result = LiveConsultationHeartRateResult.fromJson(rpcRst as Map<String, dynamic>);
  202. return result;
  203. }
  204. Future<bool> sendInteractiveBoardDataAsync(SendInteractiveBoardDataRequest request) async {
  205. var rpcRst = await call("SendInteractiveBoardDataAsync", request);
  206. return rpcRst;
  207. }
  208. Future<bool> addFollowUpVisitInfoAsync(AddFollowUpVisitInfoRequest request) async {
  209. var rpcRst = await call("AddFollowUpVisitInfoAsync", request);
  210. return rpcRst;
  211. }
  212. Future<bool> deleteFollowUpVisitInfoAsync(DeleteFollowUpVisitInfoRequest request) async {
  213. var rpcRst = await call("DeleteFollowUpVisitInfoAsync", request);
  214. return rpcRst;
  215. }
  216. Future<bool> updateFollowUpVisitInfoAsync(UpdateFollowUpVisitInfoRequest request) async {
  217. var rpcRst = await call("UpdateFollowUpVisitInfoAsync", request);
  218. return rpcRst;
  219. }
  220. Future<List<FollowUpVisitDTO>> getFollowUpVisitInfoAsync(GetFollowUpVisitInfoRequest request) async {
  221. var rpcRst = await call("GetFollowUpVisitInfoAsync", request);
  222. var result = (rpcRst as List).map((e)=>FollowUpVisitDTO.fromJson(e as Map<String, dynamic>)).toList();
  223. return result;
  224. }
  225. Future<FollowUpVisitDTO> getFollowUpVisitInfoDetailAsync(GetFollowUpVisitInfoDetailRequest request) async {
  226. var rpcRst = await call("GetFollowUpVisitInfoDetailAsync", request);
  227. var result = FollowUpVisitDTO.fromJson(rpcRst as Map<String, dynamic>);
  228. return result;
  229. }
  230. Future<bool> setNeedFollowUpVisitAsync(SetNeedFollowUpVisitRequest request) async {
  231. var rpcRst = await call("SetNeedFollowUpVisitAsync", request);
  232. return rpcRst;
  233. }
  234. Future<bool> addConsultationEvaluateAsync(AddConsultationEvaluateRequest request) async {
  235. var rpcRst = await call("AddConsultationEvaluateAsync", request);
  236. return rpcRst;
  237. }
  238. Future<bool> deleteConsultationEvaluateAsync(DeleteConsultationEvaluateRequest request) async {
  239. var rpcRst = await call("DeleteConsultationEvaluateAsync", request);
  240. return rpcRst;
  241. }
  242. Future<bool> updateConsultationEvaluateAsync(UpdateConsultationEvaluateRequest request) async {
  243. var rpcRst = await call("UpdateConsultationEvaluateAsync", request);
  244. return rpcRst;
  245. }
  246. Future<ConsultationEvaluateDTO> getConsultationEvaluateDetailAsync(GetConsultationEvaluateRequest request) async {
  247. var rpcRst = await call("GetConsultationEvaluateDetailAsync", request);
  248. var result = ConsultationEvaluateDTO.fromJson(rpcRst as Map<String, dynamic>);
  249. return result;
  250. }
  251. Future<List<String>> findScanPositionsAsync(TokenRequest request) async {
  252. var rpcRst = await call("FindScanPositionsAsync", request);
  253. var result = (rpcRst as List).cast<String>().toList();
  254. return result;
  255. }
  256. Future<bool> acceptInvitationAsync(AcceptInvitationRequest request) async {
  257. var rpcRst = await call("AcceptInvitationAsync", request);
  258. return rpcRst;
  259. }
  260. Future<String> applyEmergencyTreatment(ApplyEmergencyTreatmentRequest request) async {
  261. var rpcRst = await call("ApplyEmergencyTreatment", request);
  262. return rpcRst;
  263. }
  264. Future<bool> controlParameterAsync(ControlDeviceParameterInConsultationRequest request) async {
  265. var rpcRst = await call("ControlParameterAsync", request);
  266. return rpcRst;
  267. }
  268. Future<UserStatusEnum> getUserStatusAsync(GetUserStatusRequest request) async {
  269. var rpcRst = await call("GetUserStatusAsync", request);
  270. var result = UserStatusEnum.values.firstWhere((e) => e.index == rpcRst);
  271. return result;
  272. }
  273. Future<List<ConsultationImagesDTO>> getConsultationFilesAsync(FindConsultationDetailRequest request) async {
  274. var rpcRst = await call("GetConsultationFilesAsync", request);
  275. var result = (rpcRst as List).map((e)=>ConsultationImagesDTO.fromJson(e as Map<String, dynamic>)).toList();
  276. return result;
  277. }
  278. Future<List<UserExtendDTO>> getInviteableUserListAsync(GetInviteableUserListRequest request) async {
  279. var rpcRst = await call("GetInviteableUserListAsync", request);
  280. var result = (rpcRst as List).map((e)=>UserExtendDTO.fromJson(e as Map<String, dynamic>)).toList();
  281. return result;
  282. }
  283. Future<ChangeConsultationResult> changeConsultationAsync(ChangeConsultationRequest request) async {
  284. var rpcRst = await call("ChangeConsultationAsync", request);
  285. var result = ChangeConsultationResult.fromJson(rpcRst as Map<String, dynamic>);
  286. return result;
  287. }
  288. Future<LiveConsultationMember> deviceJoinInLiveConsultationAsync(JoinLiveConsultationRequest request) async {
  289. var rpcRst = await call("DeviceJoinInLiveConsultationAsync", request);
  290. var result = LiveConsultationMember.fromJson(rpcRst as Map<String, dynamic>);
  291. return result;
  292. }
  293. Future<QueryEmergencyDataResult> queryEmergencyDataAsync(TokenRequest request) async {
  294. var rpcRst = await call("QueryEmergencyDataAsync", request);
  295. var result = QueryEmergencyDataResult.fromJson(rpcRst as Map<String, dynamic>);
  296. return result;
  297. }
  298. Future<bool> acceptRemoteConnnectionAsync(ControlDeviceResponseRequest request) async {
  299. var rpcRst = await call("AcceptRemoteConnnectionAsync", request);
  300. return rpcRst;
  301. }
  302. }