liveConsultation.m.dart 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548
  1. import 'connect.m.dart';
  2. import 'organization.m.dart';
  3. import 'aIDiagnosis.m.dart';
  4. import 'patient.m.dart';
  5. import 'authentication.m.dart';
  6. import 'package:fis_jsonrpc/utils.dart';
  7. class FindHigherOrganizationsRequest extends TokenRequest{
  8. String? organizationName;
  9. FindHigherOrganizationsRequest({
  10. this.organizationName,
  11. String? token,
  12. }) : super(
  13. token: token,
  14. );
  15. factory FindHigherOrganizationsRequest.fromJson(Map<String, dynamic> map) {
  16. return FindHigherOrganizationsRequest(
  17. organizationName: map['OrganizationName'],
  18. token: map['Token'],
  19. );
  20. }
  21. Map<String, dynamic> toJson() {
  22. final map = super.toJson();
  23. if(organizationName != null)
  24. map['OrganizationName'] = organizationName;
  25. return map;
  26. }
  27. }
  28. class FindGrassRootsOrganizationsRequest extends TokenRequest{
  29. String? organizationName;
  30. FindGrassRootsOrganizationsRequest({
  31. this.organizationName,
  32. String? token,
  33. }) : super(
  34. token: token,
  35. );
  36. factory FindGrassRootsOrganizationsRequest.fromJson(Map<String, dynamic> map) {
  37. return FindGrassRootsOrganizationsRequest(
  38. organizationName: map['OrganizationName'],
  39. token: map['Token'],
  40. );
  41. }
  42. Map<String, dynamic> toJson() {
  43. final map = super.toJson();
  44. if(organizationName != null)
  45. map['OrganizationName'] = organizationName;
  46. return map;
  47. }
  48. }
  49. class OrganizationExpertDTO extends UserBaseDTO{
  50. String? fullName;
  51. List<String >? fieldList;
  52. OrganizationExpertDTO({
  53. this.fullName,
  54. this.fieldList,
  55. String? userCode,
  56. String? userName,
  57. String? headImageUrl,
  58. DateTime? createTime,
  59. DateTime? updateTime,
  60. }) : super(
  61. userCode: userCode,
  62. userName: userName,
  63. headImageUrl: headImageUrl,
  64. createTime: createTime,
  65. updateTime: updateTime,
  66. );
  67. factory OrganizationExpertDTO.fromJson(Map<String, dynamic> map) {
  68. return OrganizationExpertDTO(
  69. fullName: map['FullName'],
  70. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  71. userCode: map['UserCode'],
  72. userName: map['UserName'],
  73. headImageUrl: map['HeadImageUrl'],
  74. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  75. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  76. );
  77. }
  78. Map<String, dynamic> toJson() {
  79. final map = super.toJson();
  80. if(fullName != null)
  81. map['FullName'] = fullName;
  82. if(fieldList != null)
  83. map['FieldList'] = fieldList;
  84. return map;
  85. }
  86. }
  87. class FindOrganizationExpertsRequest extends TokenRequest{
  88. String? organizationCode;
  89. String? expertName;
  90. FindOrganizationExpertsRequest({
  91. this.organizationCode,
  92. this.expertName,
  93. String? token,
  94. }) : super(
  95. token: token,
  96. );
  97. factory FindOrganizationExpertsRequest.fromJson(Map<String, dynamic> map) {
  98. return FindOrganizationExpertsRequest(
  99. organizationCode: map['OrganizationCode'],
  100. expertName: map['ExpertName'],
  101. token: map['Token'],
  102. );
  103. }
  104. Map<String, dynamic> toJson() {
  105. final map = super.toJson();
  106. if(organizationCode != null)
  107. map['OrganizationCode'] = organizationCode;
  108. if(expertName != null)
  109. map['ExpertName'] = expertName;
  110. return map;
  111. }
  112. }
  113. enum ConsultationReportMode {
  114. ExpertReport,
  115. ApplicantReport,
  116. }
  117. class ApplyConsultationRequest extends TokenRequest{
  118. String? expertUserCode;
  119. String? deviceCode;
  120. String? scanPosition;
  121. DateTime? consultationTime;
  122. List<DataItemDTO >? patientDatas;
  123. String? patientCode;
  124. ConsultationReportMode reportMode;
  125. String? diseases;
  126. String? scanUserCode;
  127. String? expertOrganizationCode;
  128. String? applyUserCode;
  129. String? primaryDiagnosis;
  130. ApplyConsultationRequest({
  131. this.expertUserCode,
  132. this.deviceCode,
  133. this.scanPosition,
  134. this.consultationTime,
  135. this.patientDatas,
  136. this.patientCode,
  137. this.reportMode = ConsultationReportMode.ExpertReport,
  138. this.diseases,
  139. this.scanUserCode,
  140. this.expertOrganizationCode,
  141. this.applyUserCode,
  142. this.primaryDiagnosis,
  143. String? token,
  144. }) : super(
  145. token: token,
  146. );
  147. factory ApplyConsultationRequest.fromJson(Map<String, dynamic> map) {
  148. return ApplyConsultationRequest(
  149. expertUserCode: map['ExpertUserCode'],
  150. deviceCode: map['DeviceCode'],
  151. scanPosition: map['ScanPosition'],
  152. consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null,
  153. patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  154. patientCode: map['PatientCode'],
  155. reportMode: ConsultationReportMode.values.firstWhere((e) => e.index == map['ReportMode']),
  156. diseases: map['Diseases'],
  157. scanUserCode: map['ScanUserCode'],
  158. expertOrganizationCode: map['ExpertOrganizationCode'],
  159. applyUserCode: map['ApplyUserCode'],
  160. primaryDiagnosis: map['PrimaryDiagnosis'],
  161. token: map['Token'],
  162. );
  163. }
  164. Map<String, dynamic> toJson() {
  165. final map = super.toJson();
  166. if(expertUserCode != null)
  167. map['ExpertUserCode'] = expertUserCode;
  168. if(deviceCode != null)
  169. map['DeviceCode'] = deviceCode;
  170. if(scanPosition != null)
  171. map['ScanPosition'] = scanPosition;
  172. if(consultationTime != null)
  173. map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!);
  174. if(patientDatas != null)
  175. map['PatientDatas'] = patientDatas;
  176. if(patientCode != null)
  177. map['PatientCode'] = patientCode;
  178. map['ReportMode'] = reportMode.index;
  179. if(diseases != null)
  180. map['Diseases'] = diseases;
  181. if(scanUserCode != null)
  182. map['ScanUserCode'] = scanUserCode;
  183. if(expertOrganizationCode != null)
  184. map['ExpertOrganizationCode'] = expertOrganizationCode;
  185. if(applyUserCode != null)
  186. map['ApplyUserCode'] = applyUserCode;
  187. if(primaryDiagnosis != null)
  188. map['PrimaryDiagnosis'] = primaryDiagnosis;
  189. return map;
  190. }
  191. }
  192. class UpdateConsultationRequest extends TokenRequest{
  193. String? consultationCode;
  194. String? expertUserCode;
  195. String? deviceCode;
  196. String? scanPosition;
  197. DateTime? consultationTime;
  198. String? diseases;
  199. String? scanUserCode;
  200. String? expertOrganizationCode;
  201. String? applyUserCode;
  202. String? primaryDiagnosis;
  203. UpdateConsultationRequest({
  204. this.consultationCode,
  205. this.expertUserCode,
  206. this.deviceCode,
  207. this.scanPosition,
  208. this.consultationTime,
  209. this.diseases,
  210. this.scanUserCode,
  211. this.expertOrganizationCode,
  212. this.applyUserCode,
  213. this.primaryDiagnosis,
  214. String? token,
  215. }) : super(
  216. token: token,
  217. );
  218. factory UpdateConsultationRequest.fromJson(Map<String, dynamic> map) {
  219. return UpdateConsultationRequest(
  220. consultationCode: map['ConsultationCode'],
  221. expertUserCode: map['ExpertUserCode'],
  222. deviceCode: map['DeviceCode'],
  223. scanPosition: map['ScanPosition'],
  224. consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null,
  225. diseases: map['Diseases'],
  226. scanUserCode: map['ScanUserCode'],
  227. expertOrganizationCode: map['ExpertOrganizationCode'],
  228. applyUserCode: map['ApplyUserCode'],
  229. primaryDiagnosis: map['PrimaryDiagnosis'],
  230. token: map['Token'],
  231. );
  232. }
  233. Map<String, dynamic> toJson() {
  234. final map = super.toJson();
  235. if(consultationCode != null)
  236. map['ConsultationCode'] = consultationCode;
  237. if(expertUserCode != null)
  238. map['ExpertUserCode'] = expertUserCode;
  239. if(deviceCode != null)
  240. map['DeviceCode'] = deviceCode;
  241. if(scanPosition != null)
  242. map['ScanPosition'] = scanPosition;
  243. if(consultationTime != null)
  244. map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!);
  245. if(diseases != null)
  246. map['Diseases'] = diseases;
  247. if(scanUserCode != null)
  248. map['ScanUserCode'] = scanUserCode;
  249. if(expertOrganizationCode != null)
  250. map['ExpertOrganizationCode'] = expertOrganizationCode;
  251. if(applyUserCode != null)
  252. map['ApplyUserCode'] = applyUserCode;
  253. if(primaryDiagnosis != null)
  254. map['PrimaryDiagnosis'] = primaryDiagnosis;
  255. return map;
  256. }
  257. }
  258. class FindAssistantExpertsRequest extends TokenRequest{
  259. String? expertName;
  260. FindAssistantExpertsRequest({
  261. this.expertName,
  262. String? token,
  263. }) : super(
  264. token: token,
  265. );
  266. factory FindAssistantExpertsRequest.fromJson(Map<String, dynamic> map) {
  267. return FindAssistantExpertsRequest(
  268. expertName: map['ExpertName'],
  269. token: map['Token'],
  270. );
  271. }
  272. Map<String, dynamic> toJson() {
  273. final map = super.toJson();
  274. if(expertName != null)
  275. map['ExpertName'] = expertName;
  276. return map;
  277. }
  278. }
  279. enum ConsultationStatusEnum {
  280. placeHolder_0,
  281. Applied,
  282. Withdrawn,
  283. Rejected,
  284. ToStart,
  285. InProgress,
  286. PendingReport,
  287. End,
  288. }
  289. class ConsultationPageDTO {
  290. String? consultationCode;
  291. List<DataItemDTO >? patientDatas;
  292. ConsultationStatusEnum consultationStatus;
  293. String? patientName;
  294. String? sex;
  295. String? applyOrganizationName;
  296. ConsultationPageDTO({
  297. this.consultationCode,
  298. this.patientDatas,
  299. this.consultationStatus = ConsultationStatusEnum.Applied,
  300. this.patientName,
  301. this.sex,
  302. this.applyOrganizationName,
  303. });
  304. factory ConsultationPageDTO.fromJson(Map<String, dynamic> map) {
  305. return ConsultationPageDTO(
  306. consultationCode: map['ConsultationCode'],
  307. patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  308. consultationStatus: ConsultationStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']),
  309. patientName: map['PatientName'],
  310. sex: map['Sex'],
  311. applyOrganizationName: map['ApplyOrganizationName'],
  312. );
  313. }
  314. Map<String, dynamic> toJson() {
  315. final map = Map<String, dynamic>();
  316. if(consultationCode != null)
  317. map['ConsultationCode'] = consultationCode;
  318. if(patientDatas != null)
  319. map['PatientDatas'] = patientDatas;
  320. map['ConsultationStatus'] = consultationStatus.index;
  321. if(patientName != null)
  322. map['PatientName'] = patientName;
  323. if(sex != null)
  324. map['Sex'] = sex;
  325. if(applyOrganizationName != null)
  326. map['ApplyOrganizationName'] = applyOrganizationName;
  327. return map;
  328. }
  329. }
  330. enum QueryConsultationStatusEnum {
  331. All,
  332. Applied,
  333. Withdrawn,
  334. Rejected,
  335. ToStart,
  336. InProgress,
  337. PendingReport,
  338. End,
  339. }
  340. enum ConsultationQueryTypeEnum {
  341. MyApply,
  342. MyArrange,
  343. MyJoin,
  344. }
  345. class FindConsultationByPageRequest extends PageRequest{
  346. String? keyword;
  347. String? expertUserName;
  348. DateTime? startDate;
  349. DateTime? endDate;
  350. QueryConsultationStatusEnum consultationStatus;
  351. ConsultationQueryTypeEnum consultationQueryType;
  352. FindConsultationByPageRequest({
  353. this.keyword,
  354. this.expertUserName,
  355. this.startDate,
  356. this.endDate,
  357. this.consultationStatus = QueryConsultationStatusEnum.All,
  358. this.consultationQueryType = ConsultationQueryTypeEnum.MyApply,
  359. int pageIndex = 0,
  360. int pageSize = 0,
  361. String? token,
  362. }) : super(
  363. pageIndex: pageIndex,
  364. pageSize: pageSize,
  365. token: token,
  366. );
  367. factory FindConsultationByPageRequest.fromJson(Map<String, dynamic> map) {
  368. return FindConsultationByPageRequest(
  369. keyword: map['Keyword'],
  370. expertUserName: map['ExpertUserName'],
  371. startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null,
  372. endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null,
  373. consultationStatus: QueryConsultationStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']),
  374. consultationQueryType: ConsultationQueryTypeEnum.values.firstWhere((e) => e.index == map['ConsultationQueryType']),
  375. pageIndex: map['PageIndex'],
  376. pageSize: map['PageSize'],
  377. token: map['Token'],
  378. );
  379. }
  380. Map<String, dynamic> toJson() {
  381. final map = super.toJson();
  382. if(keyword != null)
  383. map['Keyword'] = keyword;
  384. if(expertUserName != null)
  385. map['ExpertUserName'] = expertUserName;
  386. if(startDate != null)
  387. map['StartDate'] = JsonRpcUtils.dateFormat(startDate!);
  388. if(endDate != null)
  389. map['EndDate'] = JsonRpcUtils.dateFormat(endDate!);
  390. map['ConsultationStatus'] = consultationStatus.index;
  391. map['ConsultationQueryType'] = consultationQueryType.index;
  392. return map;
  393. }
  394. }
  395. class ConsultationFileDTO {
  396. String? sourceUrl;
  397. String? previewImageUrl;
  398. String? coverImageUrl;
  399. DateTime? createTime;
  400. String? creatorCode;
  401. RemedicalFileDataTypeEnum fileDataType;
  402. ConsultationFileDTO({
  403. this.sourceUrl,
  404. this.previewImageUrl,
  405. this.coverImageUrl,
  406. this.createTime,
  407. this.creatorCode,
  408. this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
  409. });
  410. factory ConsultationFileDTO.fromJson(Map<String, dynamic> map) {
  411. return ConsultationFileDTO(
  412. sourceUrl: map['SourceUrl'],
  413. previewImageUrl: map['PreviewImageUrl'],
  414. coverImageUrl: map['CoverImageUrl'],
  415. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  416. creatorCode: map['CreatorCode'],
  417. fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']),
  418. );
  419. }
  420. Map<String, dynamic> toJson() {
  421. final map = Map<String, dynamic>();
  422. if(sourceUrl != null)
  423. map['SourceUrl'] = sourceUrl;
  424. if(previewImageUrl != null)
  425. map['PreviewImageUrl'] = previewImageUrl;
  426. if(coverImageUrl != null)
  427. map['CoverImageUrl'] = coverImageUrl;
  428. if(createTime != null)
  429. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  430. if(creatorCode != null)
  431. map['CreatorCode'] = creatorCode;
  432. map['FileDataType'] = fileDataType.index;
  433. return map;
  434. }
  435. }
  436. enum LiveConsultationMemberStatus {
  437. Default,
  438. Accepted,
  439. Rejected,
  440. Joined,
  441. Left,
  442. }
  443. class ConsultationMemberDTO {
  444. String? memberCode;
  445. String? memberOrganizationCode;
  446. String? memberDepartmentCode;
  447. LiveConsultationMemberStatus memberStatus;
  448. DateTime? memberOperateTime;
  449. ConsultationMemberDTO({
  450. this.memberCode,
  451. this.memberOrganizationCode,
  452. this.memberDepartmentCode,
  453. this.memberStatus = LiveConsultationMemberStatus.Default,
  454. this.memberOperateTime,
  455. });
  456. factory ConsultationMemberDTO.fromJson(Map<String, dynamic> map) {
  457. return ConsultationMemberDTO(
  458. memberCode: map['MemberCode'],
  459. memberOrganizationCode: map['MemberOrganizationCode'],
  460. memberDepartmentCode: map['MemberDepartmentCode'],
  461. memberStatus: LiveConsultationMemberStatus.values.firstWhere((e) => e.index == map['MemberStatus']),
  462. memberOperateTime: map['MemberOperateTime'] != null ? DateTime.parse(map['MemberOperateTime']) : null,
  463. );
  464. }
  465. Map<String, dynamic> toJson() {
  466. final map = Map<String, dynamic>();
  467. if(memberCode != null)
  468. map['MemberCode'] = memberCode;
  469. if(memberOrganizationCode != null)
  470. map['MemberOrganizationCode'] = memberOrganizationCode;
  471. if(memberDepartmentCode != null)
  472. map['MemberDepartmentCode'] = memberDepartmentCode;
  473. map['MemberStatus'] = memberStatus.index;
  474. if(memberOperateTime != null)
  475. map['MemberOperateTime'] = JsonRpcUtils.dateFormat(memberOperateTime!);
  476. return map;
  477. }
  478. }
  479. enum ConsultationReminderTimeEnum {
  480. FifteenMinutes,
  481. ThirtyMinutes,
  482. SixtyMinutes,
  483. OneDay,
  484. }
  485. enum ConsultationReminderMode {
  486. Application,
  487. SMS,
  488. }
  489. class ConsultationReminderDTO {
  490. ConsultationReminderTimeEnum consultationReminderTime;
  491. ConsultationReminderMode consultationReminderMode;
  492. ConsultationReminderDTO({
  493. this.consultationReminderTime = ConsultationReminderTimeEnum.FifteenMinutes,
  494. this.consultationReminderMode = ConsultationReminderMode.Application,
  495. });
  496. factory ConsultationReminderDTO.fromJson(Map<String, dynamic> map) {
  497. return ConsultationReminderDTO(
  498. consultationReminderTime: ConsultationReminderTimeEnum.values.firstWhere((e) => e.index == map['ConsultationReminderTime']),
  499. consultationReminderMode: ConsultationReminderMode.values.firstWhere((e) => e.index == map['ConsultationReminderMode']),
  500. );
  501. }
  502. Map<String, dynamic> toJson() {
  503. final map = Map<String, dynamic>();
  504. map['ConsultationReminderTime'] = consultationReminderTime.index;
  505. map['ConsultationReminderMode'] = consultationReminderMode.index;
  506. return map;
  507. }
  508. }
  509. class ConsultationDetailDTO {
  510. String? consultationCode;
  511. String? applyOrganizationCode;
  512. String? applyDepartmentCode;
  513. String? applyUserCode;
  514. String? expertOrganizationCode;
  515. String? expertDepartmentCode;
  516. String? expertUserCode;
  517. String? deviceCode;
  518. String? operateUserCode;
  519. String? scanUserCode;
  520. String? patientCode;
  521. OrganizationPatientTypeEnum patientType;
  522. String? scanPosition;
  523. DateTime? createTime;
  524. DateTime? consultationTime;
  525. DateTime? consultationTimeEnd;
  526. ConsultationStatusEnum consultationStatus;
  527. String? applyOrganizationName;
  528. String? applyUserName;
  529. String? operateUserName;
  530. String? scanUserName;
  531. String? expertOrganizationName;
  532. String? expertUserName;
  533. String? deviceName;
  534. String? patientName;
  535. String? sex;
  536. List<DataItemDTO >? patientDatas;
  537. List<ConsultationFileDTO >? fileInfos;
  538. String? rejectReason;
  539. String? location;
  540. List<ConsultationMemberDTO >? consultationMembers;
  541. String? description;
  542. List<ConsultationReminderDTO >? consultationReminders;
  543. String? approverCode;
  544. ConsultationReportMode reportMode;
  545. String? diseases;
  546. String? primaryDiagnosis;
  547. String? initiatorCode;
  548. ConsultationDetailDTO({
  549. this.consultationCode,
  550. this.applyOrganizationCode,
  551. this.applyDepartmentCode,
  552. this.applyUserCode,
  553. this.expertOrganizationCode,
  554. this.expertDepartmentCode,
  555. this.expertUserCode,
  556. this.deviceCode,
  557. this.operateUserCode,
  558. this.scanUserCode,
  559. this.patientCode,
  560. this.patientType = OrganizationPatientTypeEnum.Person,
  561. this.scanPosition,
  562. this.createTime,
  563. this.consultationTime,
  564. this.consultationTimeEnd,
  565. this.consultationStatus = ConsultationStatusEnum.Applied,
  566. this.applyOrganizationName,
  567. this.applyUserName,
  568. this.operateUserName,
  569. this.scanUserName,
  570. this.expertOrganizationName,
  571. this.expertUserName,
  572. this.deviceName,
  573. this.patientName,
  574. this.sex,
  575. this.patientDatas,
  576. this.fileInfos,
  577. this.rejectReason,
  578. this.location,
  579. this.consultationMembers,
  580. this.description,
  581. this.consultationReminders,
  582. this.approverCode,
  583. this.reportMode = ConsultationReportMode.ExpertReport,
  584. this.diseases,
  585. this.primaryDiagnosis,
  586. this.initiatorCode,
  587. });
  588. factory ConsultationDetailDTO.fromJson(Map<String, dynamic> map) {
  589. return ConsultationDetailDTO(
  590. consultationCode: map['ConsultationCode'],
  591. applyOrganizationCode: map['ApplyOrganizationCode'],
  592. applyDepartmentCode: map['ApplyDepartmentCode'],
  593. applyUserCode: map['ApplyUserCode'],
  594. expertOrganizationCode: map['ExpertOrganizationCode'],
  595. expertDepartmentCode: map['ExpertDepartmentCode'],
  596. expertUserCode: map['ExpertUserCode'],
  597. deviceCode: map['DeviceCode'],
  598. operateUserCode: map['OperateUserCode'],
  599. scanUserCode: map['ScanUserCode'],
  600. patientCode: map['PatientCode'],
  601. patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
  602. scanPosition: map['ScanPosition'],
  603. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  604. consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null,
  605. consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null,
  606. consultationStatus: ConsultationStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']),
  607. applyOrganizationName: map['ApplyOrganizationName'],
  608. applyUserName: map['ApplyUserName'],
  609. operateUserName: map['OperateUserName'],
  610. scanUserName: map['ScanUserName'],
  611. expertOrganizationName: map['ExpertOrganizationName'],
  612. expertUserName: map['ExpertUserName'],
  613. deviceName: map['DeviceName'],
  614. patientName: map['PatientName'],
  615. sex: map['Sex'],
  616. patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  617. fileInfos: map['FileInfos'] != null ? (map['FileInfos'] as List).map((e)=>ConsultationFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  618. rejectReason: map['RejectReason'],
  619. location: map['Location'],
  620. consultationMembers: map['ConsultationMembers'] != null ? (map['ConsultationMembers'] as List).map((e)=>ConsultationMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  621. description: map['Description'],
  622. consultationReminders: map['ConsultationReminders'] != null ? (map['ConsultationReminders'] as List).map((e)=>ConsultationReminderDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  623. approverCode: map['ApproverCode'],
  624. reportMode: ConsultationReportMode.values.firstWhere((e) => e.index == map['ReportMode']),
  625. diseases: map['Diseases'],
  626. primaryDiagnosis: map['PrimaryDiagnosis'],
  627. initiatorCode: map['InitiatorCode'],
  628. );
  629. }
  630. Map<String, dynamic> toJson() {
  631. final map = Map<String, dynamic>();
  632. if(consultationCode != null)
  633. map['ConsultationCode'] = consultationCode;
  634. if(applyOrganizationCode != null)
  635. map['ApplyOrganizationCode'] = applyOrganizationCode;
  636. if(applyDepartmentCode != null)
  637. map['ApplyDepartmentCode'] = applyDepartmentCode;
  638. if(applyUserCode != null)
  639. map['ApplyUserCode'] = applyUserCode;
  640. if(expertOrganizationCode != null)
  641. map['ExpertOrganizationCode'] = expertOrganizationCode;
  642. if(expertDepartmentCode != null)
  643. map['ExpertDepartmentCode'] = expertDepartmentCode;
  644. if(expertUserCode != null)
  645. map['ExpertUserCode'] = expertUserCode;
  646. if(deviceCode != null)
  647. map['DeviceCode'] = deviceCode;
  648. if(operateUserCode != null)
  649. map['OperateUserCode'] = operateUserCode;
  650. if(scanUserCode != null)
  651. map['ScanUserCode'] = scanUserCode;
  652. if(patientCode != null)
  653. map['PatientCode'] = patientCode;
  654. map['PatientType'] = patientType.index;
  655. if(scanPosition != null)
  656. map['ScanPosition'] = scanPosition;
  657. if(createTime != null)
  658. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  659. if(consultationTime != null)
  660. map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!);
  661. if(consultationTimeEnd != null)
  662. map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!);
  663. map['ConsultationStatus'] = consultationStatus.index;
  664. if(applyOrganizationName != null)
  665. map['ApplyOrganizationName'] = applyOrganizationName;
  666. if(applyUserName != null)
  667. map['ApplyUserName'] = applyUserName;
  668. if(operateUserName != null)
  669. map['OperateUserName'] = operateUserName;
  670. if(scanUserName != null)
  671. map['ScanUserName'] = scanUserName;
  672. if(expertOrganizationName != null)
  673. map['ExpertOrganizationName'] = expertOrganizationName;
  674. if(expertUserName != null)
  675. map['ExpertUserName'] = expertUserName;
  676. if(deviceName != null)
  677. map['DeviceName'] = deviceName;
  678. if(patientName != null)
  679. map['PatientName'] = patientName;
  680. if(sex != null)
  681. map['Sex'] = sex;
  682. if(patientDatas != null)
  683. map['PatientDatas'] = patientDatas;
  684. if(fileInfos != null)
  685. map['FileInfos'] = fileInfos;
  686. if(rejectReason != null)
  687. map['RejectReason'] = rejectReason;
  688. if(location != null)
  689. map['Location'] = location;
  690. if(consultationMembers != null)
  691. map['ConsultationMembers'] = consultationMembers;
  692. if(description != null)
  693. map['Description'] = description;
  694. if(consultationReminders != null)
  695. map['ConsultationReminders'] = consultationReminders;
  696. if(approverCode != null)
  697. map['ApproverCode'] = approverCode;
  698. map['ReportMode'] = reportMode.index;
  699. if(diseases != null)
  700. map['Diseases'] = diseases;
  701. if(primaryDiagnosis != null)
  702. map['PrimaryDiagnosis'] = primaryDiagnosis;
  703. if(initiatorCode != null)
  704. map['InitiatorCode'] = initiatorCode;
  705. return map;
  706. }
  707. }
  708. class FindConsultationDetailRequest extends TokenRequest{
  709. String? consultationCode;
  710. FindConsultationDetailRequest({
  711. this.consultationCode,
  712. String? token,
  713. }) : super(
  714. token: token,
  715. );
  716. factory FindConsultationDetailRequest.fromJson(Map<String, dynamic> map) {
  717. return FindConsultationDetailRequest(
  718. consultationCode: map['ConsultationCode'],
  719. token: map['Token'],
  720. );
  721. }
  722. Map<String, dynamic> toJson() {
  723. final map = super.toJson();
  724. if(consultationCode != null)
  725. map['ConsultationCode'] = consultationCode;
  726. return map;
  727. }
  728. }
  729. class ApprovalConsultationRequest extends TokenRequest{
  730. String? consultationCode;
  731. String? expertUserCode;
  732. DateTime? consultationTime;
  733. DateTime? consultationTimeEnd;
  734. String? location;
  735. List<String >? consultationMemberCodes;
  736. String? description;
  737. List<ConsultationReminderDTO >? consultationReminders;
  738. ApprovalConsultationRequest({
  739. this.consultationCode,
  740. this.expertUserCode,
  741. this.consultationTime,
  742. this.consultationTimeEnd,
  743. this.location,
  744. this.consultationMemberCodes,
  745. this.description,
  746. this.consultationReminders,
  747. String? token,
  748. }) : super(
  749. token: token,
  750. );
  751. factory ApprovalConsultationRequest.fromJson(Map<String, dynamic> map) {
  752. return ApprovalConsultationRequest(
  753. consultationCode: map['ConsultationCode'],
  754. expertUserCode: map['ExpertUserCode'],
  755. consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null,
  756. consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null,
  757. location: map['Location'],
  758. consultationMemberCodes: map['ConsultationMemberCodes'] != null ? map['ConsultationMemberCodes'].cast<String>().toList() : null,
  759. description: map['Description'],
  760. consultationReminders: map['ConsultationReminders'] != null ? (map['ConsultationReminders'] as List).map((e)=>ConsultationReminderDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  761. token: map['Token'],
  762. );
  763. }
  764. Map<String, dynamic> toJson() {
  765. final map = super.toJson();
  766. if(consultationCode != null)
  767. map['ConsultationCode'] = consultationCode;
  768. if(expertUserCode != null)
  769. map['ExpertUserCode'] = expertUserCode;
  770. if(consultationTime != null)
  771. map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!);
  772. if(consultationTimeEnd != null)
  773. map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!);
  774. if(location != null)
  775. map['Location'] = location;
  776. if(consultationMemberCodes != null)
  777. map['ConsultationMemberCodes'] = consultationMemberCodes;
  778. if(description != null)
  779. map['Description'] = description;
  780. if(consultationReminders != null)
  781. map['ConsultationReminders'] = consultationReminders;
  782. return map;
  783. }
  784. }
  785. class RejectApplyConsultationRequest extends TokenRequest{
  786. String? consultationCode;
  787. String? reason;
  788. RejectApplyConsultationRequest({
  789. this.consultationCode,
  790. this.reason,
  791. String? token,
  792. }) : super(
  793. token: token,
  794. );
  795. factory RejectApplyConsultationRequest.fromJson(Map<String, dynamic> map) {
  796. return RejectApplyConsultationRequest(
  797. consultationCode: map['ConsultationCode'],
  798. reason: map['Reason'],
  799. token: map['Token'],
  800. );
  801. }
  802. Map<String, dynamic> toJson() {
  803. final map = super.toJson();
  804. if(consultationCode != null)
  805. map['ConsultationCode'] = consultationCode;
  806. if(reason != null)
  807. map['Reason'] = reason;
  808. return map;
  809. }
  810. }
  811. class RevokeConsultationRequest extends TokenRequest{
  812. String? consultationCode;
  813. RevokeConsultationRequest({
  814. this.consultationCode,
  815. String? token,
  816. }) : super(
  817. token: token,
  818. );
  819. factory RevokeConsultationRequest.fromJson(Map<String, dynamic> map) {
  820. return RevokeConsultationRequest(
  821. consultationCode: map['ConsultationCode'],
  822. token: map['Token'],
  823. );
  824. }
  825. Map<String, dynamic> toJson() {
  826. final map = super.toJson();
  827. if(consultationCode != null)
  828. map['ConsultationCode'] = consultationCode;
  829. return map;
  830. }
  831. }
  832. class DeleteConsultationRequest extends TokenRequest{
  833. String? consultationCode;
  834. DeleteConsultationRequest({
  835. this.consultationCode,
  836. String? token,
  837. }) : super(
  838. token: token,
  839. );
  840. factory DeleteConsultationRequest.fromJson(Map<String, dynamic> map) {
  841. return DeleteConsultationRequest(
  842. consultationCode: map['ConsultationCode'],
  843. token: map['Token'],
  844. );
  845. }
  846. Map<String, dynamic> toJson() {
  847. final map = super.toJson();
  848. if(consultationCode != null)
  849. map['ConsultationCode'] = consultationCode;
  850. return map;
  851. }
  852. }
  853. class ConsultationFileBaseDTO {
  854. String? sourceUrl;
  855. String? previewImageUrl;
  856. String? coverImageUrl;
  857. RemedicalFileDataTypeEnum fileDataType;
  858. ConsultationFileBaseDTO({
  859. this.sourceUrl,
  860. this.previewImageUrl,
  861. this.coverImageUrl,
  862. this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
  863. });
  864. factory ConsultationFileBaseDTO.fromJson(Map<String, dynamic> map) {
  865. return ConsultationFileBaseDTO(
  866. sourceUrl: map['SourceUrl'],
  867. previewImageUrl: map['PreviewImageUrl'],
  868. coverImageUrl: map['CoverImageUrl'],
  869. fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']),
  870. );
  871. }
  872. Map<String, dynamic> toJson() {
  873. final map = Map<String, dynamic>();
  874. if(sourceUrl != null)
  875. map['SourceUrl'] = sourceUrl;
  876. if(previewImageUrl != null)
  877. map['PreviewImageUrl'] = previewImageUrl;
  878. if(coverImageUrl != null)
  879. map['CoverImageUrl'] = coverImageUrl;
  880. map['FileDataType'] = fileDataType.index;
  881. return map;
  882. }
  883. }
  884. class UpdateConsultationFilesInfoRequest extends TokenRequest{
  885. String? consultationCode;
  886. List<ConsultationFileBaseDTO >? fileInfos;
  887. UpdateConsultationFilesInfoRequest({
  888. this.consultationCode,
  889. this.fileInfos,
  890. String? token,
  891. }) : super(
  892. token: token,
  893. );
  894. factory UpdateConsultationFilesInfoRequest.fromJson(Map<String, dynamic> map) {
  895. return UpdateConsultationFilesInfoRequest(
  896. consultationCode: map['ConsultationCode'],
  897. fileInfos: map['FileInfos'] != null ? (map['FileInfos'] as List).map((e)=>ConsultationFileBaseDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  898. token: map['Token'],
  899. );
  900. }
  901. Map<String, dynamic> toJson() {
  902. final map = super.toJson();
  903. if(consultationCode != null)
  904. map['ConsultationCode'] = consultationCode;
  905. if(fileInfos != null)
  906. map['FileInfos'] = fileInfos;
  907. return map;
  908. }
  909. }
  910. class ConsultationAssistantDTO extends UserBaseDTO{
  911. String? fullName;
  912. ConsultationAssistantDTO({
  913. this.fullName,
  914. String? userCode,
  915. String? userName,
  916. String? headImageUrl,
  917. DateTime? createTime,
  918. DateTime? updateTime,
  919. }) : super(
  920. userCode: userCode,
  921. userName: userName,
  922. headImageUrl: headImageUrl,
  923. createTime: createTime,
  924. updateTime: updateTime,
  925. );
  926. factory ConsultationAssistantDTO.fromJson(Map<String, dynamic> map) {
  927. return ConsultationAssistantDTO(
  928. fullName: map['FullName'],
  929. userCode: map['UserCode'],
  930. userName: map['UserName'],
  931. headImageUrl: map['HeadImageUrl'],
  932. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  933. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  934. );
  935. }
  936. Map<String, dynamic> toJson() {
  937. final map = super.toJson();
  938. if(fullName != null)
  939. map['FullName'] = fullName;
  940. return map;
  941. }
  942. }
  943. class FindOrganizationAssistantsRequest extends TokenRequest{
  944. String? assistantName;
  945. FindOrganizationAssistantsRequest({
  946. this.assistantName,
  947. String? token,
  948. }) : super(
  949. token: token,
  950. );
  951. factory FindOrganizationAssistantsRequest.fromJson(Map<String, dynamic> map) {
  952. return FindOrganizationAssistantsRequest(
  953. assistantName: map['AssistantName'],
  954. token: map['Token'],
  955. );
  956. }
  957. Map<String, dynamic> toJson() {
  958. final map = super.toJson();
  959. if(assistantName != null)
  960. map['AssistantName'] = assistantName;
  961. return map;
  962. }
  963. }
  964. class UpdateMyOrganizationAssistantRequest extends TokenRequest{
  965. String? userCode;
  966. UpdateMyOrganizationAssistantRequest({
  967. this.userCode,
  968. String? token,
  969. }) : super(
  970. token: token,
  971. );
  972. factory UpdateMyOrganizationAssistantRequest.fromJson(Map<String, dynamic> map) {
  973. return UpdateMyOrganizationAssistantRequest(
  974. userCode: map['UserCode'],
  975. token: map['Token'],
  976. );
  977. }
  978. Map<String, dynamic> toJson() {
  979. final map = super.toJson();
  980. if(userCode != null)
  981. map['UserCode'] = userCode;
  982. return map;
  983. }
  984. }
  985. class FindConsultationPatientPageRequest extends PageRequest{
  986. String? keyword;
  987. DateTime? startDate;
  988. DateTime? endDate;
  989. FindConsultationPatientPageRequest({
  990. this.keyword,
  991. this.startDate,
  992. this.endDate,
  993. int pageIndex = 0,
  994. int pageSize = 0,
  995. String? token,
  996. }) : super(
  997. pageIndex: pageIndex,
  998. pageSize: pageSize,
  999. token: token,
  1000. );
  1001. factory FindConsultationPatientPageRequest.fromJson(Map<String, dynamic> map) {
  1002. return FindConsultationPatientPageRequest(
  1003. keyword: map['Keyword'],
  1004. startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null,
  1005. endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null,
  1006. pageIndex: map['PageIndex'],
  1007. pageSize: map['PageSize'],
  1008. token: map['Token'],
  1009. );
  1010. }
  1011. Map<String, dynamic> toJson() {
  1012. final map = super.toJson();
  1013. if(keyword != null)
  1014. map['Keyword'] = keyword;
  1015. if(startDate != null)
  1016. map['StartDate'] = JsonRpcUtils.dateFormat(startDate!);
  1017. if(endDate != null)
  1018. map['EndDate'] = JsonRpcUtils.dateFormat(endDate!);
  1019. return map;
  1020. }
  1021. }
  1022. enum LiveMemberEnum {
  1023. placeHolder_0,
  1024. User,
  1025. Device,
  1026. }
  1027. class LiveData {
  1028. int height;
  1029. int width;
  1030. String? rtmpPushUrl;
  1031. String? rtmpPullUrl;
  1032. String? httpPullUrl;
  1033. String? hlsPullUrl;
  1034. LiveData({
  1035. this.height = 0,
  1036. this.width = 0,
  1037. this.rtmpPushUrl,
  1038. this.rtmpPullUrl,
  1039. this.httpPullUrl,
  1040. this.hlsPullUrl,
  1041. });
  1042. factory LiveData.fromJson(Map<String, dynamic> map) {
  1043. return LiveData(
  1044. height: map['Height'],
  1045. width: map['Width'],
  1046. rtmpPushUrl: map['RtmpPushUrl'],
  1047. rtmpPullUrl: map['RtmpPullUrl'],
  1048. httpPullUrl: map['HttpPullUrl'],
  1049. hlsPullUrl: map['HlsPullUrl'],
  1050. );
  1051. }
  1052. Map<String, dynamic> toJson() {
  1053. final map = Map<String, dynamic>();
  1054. map['Height'] = height;
  1055. map['Width'] = width;
  1056. if(rtmpPushUrl != null)
  1057. map['RtmpPushUrl'] = rtmpPushUrl;
  1058. if(rtmpPullUrl != null)
  1059. map['RtmpPullUrl'] = rtmpPullUrl;
  1060. if(httpPullUrl != null)
  1061. map['HttpPullUrl'] = httpPullUrl;
  1062. if(hlsPullUrl != null)
  1063. map['HlsPullUrl'] = hlsPullUrl;
  1064. return map;
  1065. }
  1066. }
  1067. class VideoDeviceOutputInfo {
  1068. String? videoDeviceId;
  1069. VideoDeviceSourceTypeEnum videoDeviceSourceType;
  1070. int outputWidth;
  1071. int outputHeight;
  1072. VideoDeviceOutputInfo({
  1073. this.videoDeviceId,
  1074. this.videoDeviceSourceType = VideoDeviceSourceTypeEnum.Desktop,
  1075. this.outputWidth = 0,
  1076. this.outputHeight = 0,
  1077. });
  1078. factory VideoDeviceOutputInfo.fromJson(Map<String, dynamic> map) {
  1079. return VideoDeviceOutputInfo(
  1080. videoDeviceId: map['VideoDeviceId'],
  1081. videoDeviceSourceType: VideoDeviceSourceTypeEnum.values.firstWhere((e) => e.index == map['VideoDeviceSourceType']),
  1082. outputWidth: map['OutputWidth'],
  1083. outputHeight: map['OutputHeight'],
  1084. );
  1085. }
  1086. Map<String, dynamic> toJson() {
  1087. final map = Map<String, dynamic>();
  1088. if(videoDeviceId != null)
  1089. map['VideoDeviceId'] = videoDeviceId;
  1090. map['VideoDeviceSourceType'] = videoDeviceSourceType.index;
  1091. map['OutputWidth'] = outputWidth;
  1092. map['OutputHeight'] = outputHeight;
  1093. return map;
  1094. }
  1095. }
  1096. class LiveConsultationMember {
  1097. String? id;
  1098. String? name;
  1099. LiveMemberEnum memberType;
  1100. String? headImageToken;
  1101. bool isOnline;
  1102. bool mute;
  1103. bool videoOpend;
  1104. bool isInitiator;
  1105. bool isBusy;
  1106. LiveConsultationMemberStatus status;
  1107. String? loginServerUrl;
  1108. LoginSource loginSource;
  1109. LiveData? liveData;
  1110. bool mergedChannel;
  1111. int mergedVideoOutputWidth;
  1112. int mergedVideoOutputHeight;
  1113. List<VideoDeviceOutputInfo >? videoDeviceInfos;
  1114. LiveConsultationMember({
  1115. this.id,
  1116. this.name,
  1117. this.memberType = LiveMemberEnum.User,
  1118. this.headImageToken,
  1119. this.isOnline = false,
  1120. this.mute = false,
  1121. this.videoOpend = false,
  1122. this.isInitiator = false,
  1123. this.isBusy = false,
  1124. this.status = LiveConsultationMemberStatus.Default,
  1125. this.loginServerUrl,
  1126. this.loginSource = LoginSource.PC,
  1127. this.liveData,
  1128. this.mergedChannel = false,
  1129. this.mergedVideoOutputWidth = 0,
  1130. this.mergedVideoOutputHeight = 0,
  1131. this.videoDeviceInfos,
  1132. });
  1133. factory LiveConsultationMember.fromJson(Map<String, dynamic> map) {
  1134. return LiveConsultationMember(
  1135. id: map['Id'],
  1136. name: map['Name'],
  1137. memberType: LiveMemberEnum.values.firstWhere((e) => e.index == map['MemberType']),
  1138. headImageToken: map['HeadImageToken'],
  1139. isOnline: map['IsOnline'],
  1140. mute: map['Mute'],
  1141. videoOpend: map['VideoOpend'],
  1142. isInitiator: map['IsInitiator'],
  1143. isBusy: map['IsBusy'],
  1144. status: LiveConsultationMemberStatus.values.firstWhere((e) => e.index == map['Status']),
  1145. loginServerUrl: map['LoginServerUrl'],
  1146. loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
  1147. liveData: map['LiveData'] != null ? LiveData.fromJson(map['LiveData']) : null,
  1148. mergedChannel: map['MergedChannel'],
  1149. mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
  1150. mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
  1151. videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceOutputInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  1152. );
  1153. }
  1154. Map<String, dynamic> toJson() {
  1155. final map = Map<String, dynamic>();
  1156. if(id != null)
  1157. map['Id'] = id;
  1158. if(name != null)
  1159. map['Name'] = name;
  1160. map['MemberType'] = memberType.index;
  1161. if(headImageToken != null)
  1162. map['HeadImageToken'] = headImageToken;
  1163. map['IsOnline'] = isOnline;
  1164. map['Mute'] = mute;
  1165. map['VideoOpend'] = videoOpend;
  1166. map['IsInitiator'] = isInitiator;
  1167. map['IsBusy'] = isBusy;
  1168. map['Status'] = status.index;
  1169. if(loginServerUrl != null)
  1170. map['LoginServerUrl'] = loginServerUrl;
  1171. map['LoginSource'] = loginSource.index;
  1172. if(liveData != null)
  1173. map['LiveData'] = liveData;
  1174. map['MergedChannel'] = mergedChannel;
  1175. map['MergedVideoOutputWidth'] = mergedVideoOutputWidth;
  1176. map['MergedVideoOutputHeight'] = mergedVideoOutputHeight;
  1177. if(videoDeviceInfos != null)
  1178. map['VideoDeviceInfos'] = videoDeviceInfos;
  1179. return map;
  1180. }
  1181. }
  1182. class InitiateLiveConsultationResult {
  1183. String? consultationCode;
  1184. String? initiatorCode;
  1185. int roomNo;
  1186. int appId;
  1187. String? userSign;
  1188. List<LiveConsultationMember >? memberLiveDatas;
  1189. InitiateLiveConsultationResult({
  1190. this.consultationCode,
  1191. this.initiatorCode,
  1192. this.roomNo = 0,
  1193. this.appId = 0,
  1194. this.userSign,
  1195. this.memberLiveDatas,
  1196. });
  1197. factory InitiateLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1198. return InitiateLiveConsultationResult(
  1199. consultationCode: map['ConsultationCode'],
  1200. initiatorCode: map['InitiatorCode'],
  1201. roomNo: map['RoomNo'],
  1202. appId: map['AppId'],
  1203. userSign: map['UserSign'],
  1204. memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map<String,dynamic>)).toList() : null,
  1205. );
  1206. }
  1207. Map<String, dynamic> toJson() {
  1208. final map = Map<String, dynamic>();
  1209. if(consultationCode != null)
  1210. map['ConsultationCode'] = consultationCode;
  1211. if(initiatorCode != null)
  1212. map['InitiatorCode'] = initiatorCode;
  1213. map['RoomNo'] = roomNo;
  1214. map['AppId'] = appId;
  1215. if(userSign != null)
  1216. map['UserSign'] = userSign;
  1217. if(memberLiveDatas != null)
  1218. map['MemberLiveDatas'] = memberLiveDatas;
  1219. return map;
  1220. }
  1221. }
  1222. class InitiateLiveConsultationRequest extends TokenRequest{
  1223. String? consultationCode;
  1224. InitiateLiveConsultationRequest({
  1225. this.consultationCode,
  1226. String? token,
  1227. }) : super(
  1228. token: token,
  1229. );
  1230. factory InitiateLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1231. return InitiateLiveConsultationRequest(
  1232. consultationCode: map['ConsultationCode'],
  1233. token: map['Token'],
  1234. );
  1235. }
  1236. Map<String, dynamic> toJson() {
  1237. final map = super.toJson();
  1238. if(consultationCode != null)
  1239. map['ConsultationCode'] = consultationCode;
  1240. return map;
  1241. }
  1242. }
  1243. class InviteInLiveConsultationResult {
  1244. String? consultationCode;
  1245. InviteInLiveConsultationResult({
  1246. this.consultationCode,
  1247. });
  1248. factory InviteInLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1249. return InviteInLiveConsultationResult(
  1250. consultationCode: map['ConsultationCode'],
  1251. );
  1252. }
  1253. Map<String, dynamic> toJson() {
  1254. final map = Map<String, dynamic>();
  1255. if(consultationCode != null)
  1256. map['ConsultationCode'] = consultationCode;
  1257. return map;
  1258. }
  1259. }
  1260. class InviteInLiveConsultationRequest extends TokenRequest{
  1261. String? consultationCode;
  1262. List<String >? inviteCodes;
  1263. int roomNo;
  1264. InviteInLiveConsultationRequest({
  1265. this.consultationCode,
  1266. this.inviteCodes,
  1267. this.roomNo = 0,
  1268. String? token,
  1269. }) : super(
  1270. token: token,
  1271. );
  1272. factory InviteInLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1273. return InviteInLiveConsultationRequest(
  1274. consultationCode: map['ConsultationCode'],
  1275. inviteCodes: map['InviteCodes'] != null ? map['InviteCodes'].cast<String>().toList() : null,
  1276. roomNo: map['RoomNo'],
  1277. token: map['Token'],
  1278. );
  1279. }
  1280. Map<String, dynamic> toJson() {
  1281. final map = super.toJson();
  1282. if(consultationCode != null)
  1283. map['ConsultationCode'] = consultationCode;
  1284. if(inviteCodes != null)
  1285. map['InviteCodes'] = inviteCodes;
  1286. map['RoomNo'] = roomNo;
  1287. return map;
  1288. }
  1289. }
  1290. class CancelInvitingInLiveConsultationResult {
  1291. String? consultationCode;
  1292. CancelInvitingInLiveConsultationResult({
  1293. this.consultationCode,
  1294. });
  1295. factory CancelInvitingInLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1296. return CancelInvitingInLiveConsultationResult(
  1297. consultationCode: map['ConsultationCode'],
  1298. );
  1299. }
  1300. Map<String, dynamic> toJson() {
  1301. final map = Map<String, dynamic>();
  1302. if(consultationCode != null)
  1303. map['ConsultationCode'] = consultationCode;
  1304. return map;
  1305. }
  1306. }
  1307. class CancelInvitingInLiveConsultationRequest extends TokenRequest{
  1308. String? consultationCode;
  1309. List<String >? inviteCodes;
  1310. CancelInvitingInLiveConsultationRequest({
  1311. this.consultationCode,
  1312. this.inviteCodes,
  1313. String? token,
  1314. }) : super(
  1315. token: token,
  1316. );
  1317. factory CancelInvitingInLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1318. return CancelInvitingInLiveConsultationRequest(
  1319. consultationCode: map['ConsultationCode'],
  1320. inviteCodes: map['InviteCodes'] != null ? map['InviteCodes'].cast<String>().toList() : null,
  1321. token: map['Token'],
  1322. );
  1323. }
  1324. Map<String, dynamic> toJson() {
  1325. final map = super.toJson();
  1326. if(consultationCode != null)
  1327. map['ConsultationCode'] = consultationCode;
  1328. if(inviteCodes != null)
  1329. map['InviteCodes'] = inviteCodes;
  1330. return map;
  1331. }
  1332. }
  1333. class CancelLiveConsultationResult {
  1334. String? consultationCode;
  1335. CancelLiveConsultationResult({
  1336. this.consultationCode,
  1337. });
  1338. factory CancelLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1339. return CancelLiveConsultationResult(
  1340. consultationCode: map['ConsultationCode'],
  1341. );
  1342. }
  1343. Map<String, dynamic> toJson() {
  1344. final map = Map<String, dynamic>();
  1345. if(consultationCode != null)
  1346. map['ConsultationCode'] = consultationCode;
  1347. return map;
  1348. }
  1349. }
  1350. class CancelLiveConsultationRequest extends TokenRequest{
  1351. String? consultationCode;
  1352. CancelLiveConsultationRequest({
  1353. this.consultationCode,
  1354. String? token,
  1355. }) : super(
  1356. token: token,
  1357. );
  1358. factory CancelLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1359. return CancelLiveConsultationRequest(
  1360. consultationCode: map['ConsultationCode'],
  1361. token: map['Token'],
  1362. );
  1363. }
  1364. Map<String, dynamic> toJson() {
  1365. final map = super.toJson();
  1366. if(consultationCode != null)
  1367. map['ConsultationCode'] = consultationCode;
  1368. return map;
  1369. }
  1370. }
  1371. class AcceptLiveConsultationResult {
  1372. String? consultationCode;
  1373. String? userCode;
  1374. int roomNo;
  1375. int appId;
  1376. String? userSign;
  1377. List<LiveConsultationMember >? memberLiveDatas;
  1378. AcceptLiveConsultationResult({
  1379. this.consultationCode,
  1380. this.userCode,
  1381. this.roomNo = 0,
  1382. this.appId = 0,
  1383. this.userSign,
  1384. this.memberLiveDatas,
  1385. });
  1386. factory AcceptLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1387. return AcceptLiveConsultationResult(
  1388. consultationCode: map['ConsultationCode'],
  1389. userCode: map['UserCode'],
  1390. roomNo: map['RoomNo'],
  1391. appId: map['AppId'],
  1392. userSign: map['UserSign'],
  1393. memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map<String,dynamic>)).toList() : null,
  1394. );
  1395. }
  1396. Map<String, dynamic> toJson() {
  1397. final map = Map<String, dynamic>();
  1398. if(consultationCode != null)
  1399. map['ConsultationCode'] = consultationCode;
  1400. if(userCode != null)
  1401. map['UserCode'] = userCode;
  1402. map['RoomNo'] = roomNo;
  1403. map['AppId'] = appId;
  1404. if(userSign != null)
  1405. map['UserSign'] = userSign;
  1406. if(memberLiveDatas != null)
  1407. map['MemberLiveDatas'] = memberLiveDatas;
  1408. return map;
  1409. }
  1410. }
  1411. class AcceptLiveConsultationRequest extends TokenRequest{
  1412. String? consultationCode;
  1413. AcceptLiveConsultationRequest({
  1414. this.consultationCode,
  1415. String? token,
  1416. }) : super(
  1417. token: token,
  1418. );
  1419. factory AcceptLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1420. return AcceptLiveConsultationRequest(
  1421. consultationCode: map['ConsultationCode'],
  1422. token: map['Token'],
  1423. );
  1424. }
  1425. Map<String, dynamic> toJson() {
  1426. final map = super.toJson();
  1427. if(consultationCode != null)
  1428. map['ConsultationCode'] = consultationCode;
  1429. return map;
  1430. }
  1431. }
  1432. class RejectLiveConsultationResult {
  1433. String? consultationCode;
  1434. RejectLiveConsultationResult({
  1435. this.consultationCode,
  1436. });
  1437. factory RejectLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1438. return RejectLiveConsultationResult(
  1439. consultationCode: map['ConsultationCode'],
  1440. );
  1441. }
  1442. Map<String, dynamic> toJson() {
  1443. final map = Map<String, dynamic>();
  1444. if(consultationCode != null)
  1445. map['ConsultationCode'] = consultationCode;
  1446. return map;
  1447. }
  1448. }
  1449. class RejectLiveConsultationRequest extends TokenRequest{
  1450. String? consultationCode;
  1451. RejectLiveConsultationRequest({
  1452. this.consultationCode,
  1453. String? token,
  1454. }) : super(
  1455. token: token,
  1456. );
  1457. factory RejectLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1458. return RejectLiveConsultationRequest(
  1459. consultationCode: map['ConsultationCode'],
  1460. token: map['Token'],
  1461. );
  1462. }
  1463. Map<String, dynamic> toJson() {
  1464. final map = super.toJson();
  1465. if(consultationCode != null)
  1466. map['ConsultationCode'] = consultationCode;
  1467. return map;
  1468. }
  1469. }
  1470. class JoinLiveConsultationResult {
  1471. String? consultationCode;
  1472. JoinLiveConsultationResult({
  1473. this.consultationCode,
  1474. });
  1475. factory JoinLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1476. return JoinLiveConsultationResult(
  1477. consultationCode: map['ConsultationCode'],
  1478. );
  1479. }
  1480. Map<String, dynamic> toJson() {
  1481. final map = Map<String, dynamic>();
  1482. if(consultationCode != null)
  1483. map['ConsultationCode'] = consultationCode;
  1484. return map;
  1485. }
  1486. }
  1487. class JoinLiveConsultationRequest extends TokenRequest{
  1488. String? consultationCode;
  1489. String? joinerCode;
  1490. JoinLiveConsultationRequest({
  1491. this.consultationCode,
  1492. this.joinerCode,
  1493. String? token,
  1494. }) : super(
  1495. token: token,
  1496. );
  1497. factory JoinLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1498. return JoinLiveConsultationRequest(
  1499. consultationCode: map['ConsultationCode'],
  1500. joinerCode: map['JoinerCode'],
  1501. token: map['Token'],
  1502. );
  1503. }
  1504. Map<String, dynamic> toJson() {
  1505. final map = super.toJson();
  1506. if(consultationCode != null)
  1507. map['ConsultationCode'] = consultationCode;
  1508. if(joinerCode != null)
  1509. map['JoinerCode'] = joinerCode;
  1510. return map;
  1511. }
  1512. }
  1513. class LeaveLiveConsultationResult {
  1514. String? consultationCode;
  1515. LeaveLiveConsultationResult({
  1516. this.consultationCode,
  1517. });
  1518. factory LeaveLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1519. return LeaveLiveConsultationResult(
  1520. consultationCode: map['ConsultationCode'],
  1521. );
  1522. }
  1523. Map<String, dynamic> toJson() {
  1524. final map = Map<String, dynamic>();
  1525. if(consultationCode != null)
  1526. map['ConsultationCode'] = consultationCode;
  1527. return map;
  1528. }
  1529. }
  1530. class LeaveLiveConsultationRequest extends TokenRequest{
  1531. String? consultationCode;
  1532. String? leaverCode;
  1533. LeaveLiveConsultationRequest({
  1534. this.consultationCode,
  1535. this.leaverCode,
  1536. String? token,
  1537. }) : super(
  1538. token: token,
  1539. );
  1540. factory LeaveLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1541. return LeaveLiveConsultationRequest(
  1542. consultationCode: map['ConsultationCode'],
  1543. leaverCode: map['LeaverCode'],
  1544. token: map['Token'],
  1545. );
  1546. }
  1547. Map<String, dynamic> toJson() {
  1548. final map = super.toJson();
  1549. if(consultationCode != null)
  1550. map['ConsultationCode'] = consultationCode;
  1551. if(leaverCode != null)
  1552. map['LeaverCode'] = leaverCode;
  1553. return map;
  1554. }
  1555. }
  1556. class MuteLiveConsultationResult {
  1557. String? consultationCode;
  1558. MuteLiveConsultationResult({
  1559. this.consultationCode,
  1560. });
  1561. factory MuteLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1562. return MuteLiveConsultationResult(
  1563. consultationCode: map['ConsultationCode'],
  1564. );
  1565. }
  1566. Map<String, dynamic> toJson() {
  1567. final map = Map<String, dynamic>();
  1568. if(consultationCode != null)
  1569. map['ConsultationCode'] = consultationCode;
  1570. return map;
  1571. }
  1572. }
  1573. class MuteLiveConsultationRequest extends TokenRequest{
  1574. String? consultationCode;
  1575. String? memberCode;
  1576. bool mute;
  1577. MuteLiveConsultationRequest({
  1578. this.consultationCode,
  1579. this.memberCode,
  1580. this.mute = false,
  1581. String? token,
  1582. }) : super(
  1583. token: token,
  1584. );
  1585. factory MuteLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1586. return MuteLiveConsultationRequest(
  1587. consultationCode: map['ConsultationCode'],
  1588. memberCode: map['MemberCode'],
  1589. mute: map['Mute'],
  1590. token: map['Token'],
  1591. );
  1592. }
  1593. Map<String, dynamic> toJson() {
  1594. final map = super.toJson();
  1595. if(consultationCode != null)
  1596. map['ConsultationCode'] = consultationCode;
  1597. if(memberCode != null)
  1598. map['MemberCode'] = memberCode;
  1599. map['Mute'] = mute;
  1600. return map;
  1601. }
  1602. }
  1603. class SwitchLiveConsultationVideoResult {
  1604. String? consultationCode;
  1605. SwitchLiveConsultationVideoResult({
  1606. this.consultationCode,
  1607. });
  1608. factory SwitchLiveConsultationVideoResult.fromJson(Map<String, dynamic> map) {
  1609. return SwitchLiveConsultationVideoResult(
  1610. consultationCode: map['ConsultationCode'],
  1611. );
  1612. }
  1613. Map<String, dynamic> toJson() {
  1614. final map = Map<String, dynamic>();
  1615. if(consultationCode != null)
  1616. map['ConsultationCode'] = consultationCode;
  1617. return map;
  1618. }
  1619. }
  1620. class SwitchLiveConsultationVideoRequest extends TokenRequest{
  1621. String? consultationCode;
  1622. bool opened;
  1623. SwitchLiveConsultationVideoRequest({
  1624. this.consultationCode,
  1625. this.opened = false,
  1626. String? token,
  1627. }) : super(
  1628. token: token,
  1629. );
  1630. factory SwitchLiveConsultationVideoRequest.fromJson(Map<String, dynamic> map) {
  1631. return SwitchLiveConsultationVideoRequest(
  1632. consultationCode: map['ConsultationCode'],
  1633. opened: map['Opened'],
  1634. token: map['Token'],
  1635. );
  1636. }
  1637. Map<String, dynamic> toJson() {
  1638. final map = super.toJson();
  1639. if(consultationCode != null)
  1640. map['ConsultationCode'] = consultationCode;
  1641. map['Opened'] = opened;
  1642. return map;
  1643. }
  1644. }
  1645. class LiveConsultationHeartRateResult {
  1646. String? consultationCode;
  1647. LiveConsultationHeartRateResult({
  1648. this.consultationCode,
  1649. });
  1650. factory LiveConsultationHeartRateResult.fromJson(Map<String, dynamic> map) {
  1651. return LiveConsultationHeartRateResult(
  1652. consultationCode: map['ConsultationCode'],
  1653. );
  1654. }
  1655. Map<String, dynamic> toJson() {
  1656. final map = Map<String, dynamic>();
  1657. if(consultationCode != null)
  1658. map['ConsultationCode'] = consultationCode;
  1659. return map;
  1660. }
  1661. }
  1662. class LiveConsultationHeartRateRequest extends TokenRequest{
  1663. String? consultationCode;
  1664. LiveConsultationHeartRateRequest({
  1665. this.consultationCode,
  1666. String? token,
  1667. }) : super(
  1668. token: token,
  1669. );
  1670. factory LiveConsultationHeartRateRequest.fromJson(Map<String, dynamic> map) {
  1671. return LiveConsultationHeartRateRequest(
  1672. consultationCode: map['ConsultationCode'],
  1673. token: map['Token'],
  1674. );
  1675. }
  1676. Map<String, dynamic> toJson() {
  1677. final map = super.toJson();
  1678. if(consultationCode != null)
  1679. map['ConsultationCode'] = consultationCode;
  1680. return map;
  1681. }
  1682. }
  1683. class BoardPointDTO {
  1684. double x;
  1685. double y;
  1686. BoardPointDTO({
  1687. this.x = 0,
  1688. this.y = 0,
  1689. });
  1690. factory BoardPointDTO.fromJson(Map<String, dynamic> map) {
  1691. return BoardPointDTO(
  1692. x: double.parse(map['X'].toString()),
  1693. y: double.parse(map['Y'].toString()),
  1694. );
  1695. }
  1696. Map<String, dynamic> toJson() {
  1697. final map = Map<String, dynamic>();
  1698. map['X'] = x;
  1699. map['Y'] = y;
  1700. return map;
  1701. }
  1702. }
  1703. enum BoardTypeEnum {
  1704. ReadOnly,
  1705. Ink,
  1706. Line,
  1707. Erase,
  1708. }
  1709. class SendInteractiveBoardDataRequest extends TokenRequest{
  1710. String? inkColor;
  1711. double inkThickness;
  1712. List<BoardPointDTO >? points;
  1713. BoardTypeEnum boardEditType;
  1714. String? consultationCode;
  1715. SendInteractiveBoardDataRequest({
  1716. this.inkColor,
  1717. this.inkThickness = 0,
  1718. this.points,
  1719. this.boardEditType = BoardTypeEnum.ReadOnly,
  1720. this.consultationCode,
  1721. String? token,
  1722. }) : super(
  1723. token: token,
  1724. );
  1725. factory SendInteractiveBoardDataRequest.fromJson(Map<String, dynamic> map) {
  1726. return SendInteractiveBoardDataRequest(
  1727. inkColor: map['InkColor'],
  1728. inkThickness: double.parse(map['InkThickness'].toString()),
  1729. points: map['Points'] != null ? (map['Points'] as List).map((e)=>BoardPointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1730. boardEditType: BoardTypeEnum.values.firstWhere((e) => e.index == map['BoardEditType']),
  1731. consultationCode: map['ConsultationCode'],
  1732. token: map['Token'],
  1733. );
  1734. }
  1735. Map<String, dynamic> toJson() {
  1736. final map = super.toJson();
  1737. if(inkColor != null)
  1738. map['InkColor'] = inkColor;
  1739. map['InkThickness'] = inkThickness;
  1740. if(points != null)
  1741. map['Points'] = points;
  1742. map['BoardEditType'] = boardEditType.index;
  1743. if(consultationCode != null)
  1744. map['ConsultationCode'] = consultationCode;
  1745. return map;
  1746. }
  1747. }
  1748. class AddFollowUpVisitInfoRequest extends TokenRequest{
  1749. String? consultationRecordCode;
  1750. String? patientName;
  1751. String? patientPhone;
  1752. String? generalCase;
  1753. String? clinicalSituation;
  1754. String? doctorCode;
  1755. DateTime? occurredTime;
  1756. AddFollowUpVisitInfoRequest({
  1757. this.consultationRecordCode,
  1758. this.patientName,
  1759. this.patientPhone,
  1760. this.generalCase,
  1761. this.clinicalSituation,
  1762. this.doctorCode,
  1763. this.occurredTime,
  1764. String? token,
  1765. }) : super(
  1766. token: token,
  1767. );
  1768. factory AddFollowUpVisitInfoRequest.fromJson(Map<String, dynamic> map) {
  1769. return AddFollowUpVisitInfoRequest(
  1770. consultationRecordCode: map['ConsultationRecordCode'],
  1771. patientName: map['PatientName'],
  1772. patientPhone: map['PatientPhone'],
  1773. generalCase: map['GeneralCase'],
  1774. clinicalSituation: map['ClinicalSituation'],
  1775. doctorCode: map['DoctorCode'],
  1776. occurredTime: map['OccurredTime'] != null ? DateTime.parse(map['OccurredTime']) : null,
  1777. token: map['Token'],
  1778. );
  1779. }
  1780. Map<String, dynamic> toJson() {
  1781. final map = super.toJson();
  1782. if(consultationRecordCode != null)
  1783. map['ConsultationRecordCode'] = consultationRecordCode;
  1784. if(patientName != null)
  1785. map['PatientName'] = patientName;
  1786. if(patientPhone != null)
  1787. map['PatientPhone'] = patientPhone;
  1788. if(generalCase != null)
  1789. map['GeneralCase'] = generalCase;
  1790. if(clinicalSituation != null)
  1791. map['ClinicalSituation'] = clinicalSituation;
  1792. if(doctorCode != null)
  1793. map['DoctorCode'] = doctorCode;
  1794. if(occurredTime != null)
  1795. map['OccurredTime'] = JsonRpcUtils.dateFormat(occurredTime!);
  1796. return map;
  1797. }
  1798. }
  1799. class DeleteFollowUpVisitInfoRequest extends TokenRequest{
  1800. String? followUpVisitCode;
  1801. DeleteFollowUpVisitInfoRequest({
  1802. this.followUpVisitCode,
  1803. String? token,
  1804. }) : super(
  1805. token: token,
  1806. );
  1807. factory DeleteFollowUpVisitInfoRequest.fromJson(Map<String, dynamic> map) {
  1808. return DeleteFollowUpVisitInfoRequest(
  1809. followUpVisitCode: map['FollowUpVisitCode'],
  1810. token: map['Token'],
  1811. );
  1812. }
  1813. Map<String, dynamic> toJson() {
  1814. final map = super.toJson();
  1815. if(followUpVisitCode != null)
  1816. map['FollowUpVisitCode'] = followUpVisitCode;
  1817. return map;
  1818. }
  1819. }
  1820. class UpdateFollowUpVisitInfoRequest extends TokenRequest{
  1821. String? followUpVisitCode;
  1822. String? generalCase;
  1823. String? clinicalSituation;
  1824. UpdateFollowUpVisitInfoRequest({
  1825. this.followUpVisitCode,
  1826. this.generalCase,
  1827. this.clinicalSituation,
  1828. String? token,
  1829. }) : super(
  1830. token: token,
  1831. );
  1832. factory UpdateFollowUpVisitInfoRequest.fromJson(Map<String, dynamic> map) {
  1833. return UpdateFollowUpVisitInfoRequest(
  1834. followUpVisitCode: map['FollowUpVisitCode'],
  1835. generalCase: map['GeneralCase'],
  1836. clinicalSituation: map['ClinicalSituation'],
  1837. token: map['Token'],
  1838. );
  1839. }
  1840. Map<String, dynamic> toJson() {
  1841. final map = super.toJson();
  1842. if(followUpVisitCode != null)
  1843. map['FollowUpVisitCode'] = followUpVisitCode;
  1844. if(generalCase != null)
  1845. map['GeneralCase'] = generalCase;
  1846. if(clinicalSituation != null)
  1847. map['ClinicalSituation'] = clinicalSituation;
  1848. return map;
  1849. }
  1850. }
  1851. class FollowUpVisitDTO {
  1852. String? followUpVisitCode;
  1853. String? consultationRecordCode;
  1854. String? patientName;
  1855. String? patientPhone;
  1856. String? generalCase;
  1857. String? clinicalSituation;
  1858. String? doctorCode;
  1859. String? doctorName;
  1860. DateTime? occurredTime;
  1861. FollowUpVisitDTO({
  1862. this.followUpVisitCode,
  1863. this.consultationRecordCode,
  1864. this.patientName,
  1865. this.patientPhone,
  1866. this.generalCase,
  1867. this.clinicalSituation,
  1868. this.doctorCode,
  1869. this.doctorName,
  1870. this.occurredTime,
  1871. });
  1872. factory FollowUpVisitDTO.fromJson(Map<String, dynamic> map) {
  1873. return FollowUpVisitDTO(
  1874. followUpVisitCode: map['FollowUpVisitCode'],
  1875. consultationRecordCode: map['ConsultationRecordCode'],
  1876. patientName: map['PatientName'],
  1877. patientPhone: map['PatientPhone'],
  1878. generalCase: map['GeneralCase'],
  1879. clinicalSituation: map['ClinicalSituation'],
  1880. doctorCode: map['DoctorCode'],
  1881. doctorName: map['DoctorName'],
  1882. occurredTime: map['OccurredTime'] != null ? DateTime.parse(map['OccurredTime']) : null,
  1883. );
  1884. }
  1885. Map<String, dynamic> toJson() {
  1886. final map = Map<String, dynamic>();
  1887. if(followUpVisitCode != null)
  1888. map['FollowUpVisitCode'] = followUpVisitCode;
  1889. if(consultationRecordCode != null)
  1890. map['ConsultationRecordCode'] = consultationRecordCode;
  1891. if(patientName != null)
  1892. map['PatientName'] = patientName;
  1893. if(patientPhone != null)
  1894. map['PatientPhone'] = patientPhone;
  1895. if(generalCase != null)
  1896. map['GeneralCase'] = generalCase;
  1897. if(clinicalSituation != null)
  1898. map['ClinicalSituation'] = clinicalSituation;
  1899. if(doctorCode != null)
  1900. map['DoctorCode'] = doctorCode;
  1901. if(doctorName != null)
  1902. map['DoctorName'] = doctorName;
  1903. if(occurredTime != null)
  1904. map['OccurredTime'] = JsonRpcUtils.dateFormat(occurredTime!);
  1905. return map;
  1906. }
  1907. }
  1908. class GetFollowUpVisitInfoRequest extends TokenRequest{
  1909. String? consultationRecordCode;
  1910. GetFollowUpVisitInfoRequest({
  1911. this.consultationRecordCode,
  1912. String? token,
  1913. }) : super(
  1914. token: token,
  1915. );
  1916. factory GetFollowUpVisitInfoRequest.fromJson(Map<String, dynamic> map) {
  1917. return GetFollowUpVisitInfoRequest(
  1918. consultationRecordCode: map['ConsultationRecordCode'],
  1919. token: map['Token'],
  1920. );
  1921. }
  1922. Map<String, dynamic> toJson() {
  1923. final map = super.toJson();
  1924. if(consultationRecordCode != null)
  1925. map['ConsultationRecordCode'] = consultationRecordCode;
  1926. return map;
  1927. }
  1928. }
  1929. class GetFollowUpVisitInfoDetailRequest extends TokenRequest{
  1930. String? followUpVisitCode;
  1931. GetFollowUpVisitInfoDetailRequest({
  1932. this.followUpVisitCode,
  1933. String? token,
  1934. }) : super(
  1935. token: token,
  1936. );
  1937. factory GetFollowUpVisitInfoDetailRequest.fromJson(Map<String, dynamic> map) {
  1938. return GetFollowUpVisitInfoDetailRequest(
  1939. followUpVisitCode: map['FollowUpVisitCode'],
  1940. token: map['Token'],
  1941. );
  1942. }
  1943. Map<String, dynamic> toJson() {
  1944. final map = super.toJson();
  1945. if(followUpVisitCode != null)
  1946. map['FollowUpVisitCode'] = followUpVisitCode;
  1947. return map;
  1948. }
  1949. }
  1950. class SetNeedFollowUpVisitRequest extends TokenRequest{
  1951. String? consultationRecordCode;
  1952. bool isNeed;
  1953. SetNeedFollowUpVisitRequest({
  1954. this.consultationRecordCode,
  1955. this.isNeed = false,
  1956. String? token,
  1957. }) : super(
  1958. token: token,
  1959. );
  1960. factory SetNeedFollowUpVisitRequest.fromJson(Map<String, dynamic> map) {
  1961. return SetNeedFollowUpVisitRequest(
  1962. consultationRecordCode: map['ConsultationRecordCode'],
  1963. isNeed: map['IsNeed'],
  1964. token: map['Token'],
  1965. );
  1966. }
  1967. Map<String, dynamic> toJson() {
  1968. final map = super.toJson();
  1969. if(consultationRecordCode != null)
  1970. map['ConsultationRecordCode'] = consultationRecordCode;
  1971. map['IsNeed'] = isNeed;
  1972. return map;
  1973. }
  1974. }
  1975. class AddConsultationEvaluateRequest extends TokenRequest{
  1976. String? consultationRecordCode;
  1977. double evaluateScore;
  1978. String? feedback;
  1979. AddConsultationEvaluateRequest({
  1980. this.consultationRecordCode,
  1981. this.evaluateScore = 0,
  1982. this.feedback,
  1983. String? token,
  1984. }) : super(
  1985. token: token,
  1986. );
  1987. factory AddConsultationEvaluateRequest.fromJson(Map<String, dynamic> map) {
  1988. return AddConsultationEvaluateRequest(
  1989. consultationRecordCode: map['ConsultationRecordCode'],
  1990. evaluateScore: double.parse(map['EvaluateScore'].toString()),
  1991. feedback: map['Feedback'],
  1992. token: map['Token'],
  1993. );
  1994. }
  1995. Map<String, dynamic> toJson() {
  1996. final map = super.toJson();
  1997. if(consultationRecordCode != null)
  1998. map['ConsultationRecordCode'] = consultationRecordCode;
  1999. map['EvaluateScore'] = evaluateScore;
  2000. if(feedback != null)
  2001. map['Feedback'] = feedback;
  2002. return map;
  2003. }
  2004. }
  2005. class DeleteConsultationEvaluateRequest extends TokenRequest{
  2006. String? consultationEvaluateCode;
  2007. DeleteConsultationEvaluateRequest({
  2008. this.consultationEvaluateCode,
  2009. String? token,
  2010. }) : super(
  2011. token: token,
  2012. );
  2013. factory DeleteConsultationEvaluateRequest.fromJson(Map<String, dynamic> map) {
  2014. return DeleteConsultationEvaluateRequest(
  2015. consultationEvaluateCode: map['ConsultationEvaluateCode'],
  2016. token: map['Token'],
  2017. );
  2018. }
  2019. Map<String, dynamic> toJson() {
  2020. final map = super.toJson();
  2021. if(consultationEvaluateCode != null)
  2022. map['ConsultationEvaluateCode'] = consultationEvaluateCode;
  2023. return map;
  2024. }
  2025. }
  2026. class UpdateConsultationEvaluateRequest extends TokenRequest{
  2027. String? consultationEvaluateCode;
  2028. double evaluateScore;
  2029. String? feedback;
  2030. UpdateConsultationEvaluateRequest({
  2031. this.consultationEvaluateCode,
  2032. this.evaluateScore = 0,
  2033. this.feedback,
  2034. String? token,
  2035. }) : super(
  2036. token: token,
  2037. );
  2038. factory UpdateConsultationEvaluateRequest.fromJson(Map<String, dynamic> map) {
  2039. return UpdateConsultationEvaluateRequest(
  2040. consultationEvaluateCode: map['ConsultationEvaluateCode'],
  2041. evaluateScore: double.parse(map['EvaluateScore'].toString()),
  2042. feedback: map['Feedback'],
  2043. token: map['Token'],
  2044. );
  2045. }
  2046. Map<String, dynamic> toJson() {
  2047. final map = super.toJson();
  2048. if(consultationEvaluateCode != null)
  2049. map['ConsultationEvaluateCode'] = consultationEvaluateCode;
  2050. map['EvaluateScore'] = evaluateScore;
  2051. if(feedback != null)
  2052. map['Feedback'] = feedback;
  2053. return map;
  2054. }
  2055. }
  2056. enum EvaluateGradeEnum {
  2057. UnSet,
  2058. Dissatisfaction,
  2059. General,
  2060. Satisfaction,
  2061. }
  2062. class ConsultationEvaluateDTO {
  2063. String? consultationEvaluateCode;
  2064. String? consultationRecordCode;
  2065. EvaluateGradeEnum evaluateGrade;
  2066. double evaluateScore;
  2067. String? feedback;
  2068. ConsultationEvaluateDTO({
  2069. this.consultationEvaluateCode,
  2070. this.consultationRecordCode,
  2071. this.evaluateGrade = EvaluateGradeEnum.UnSet,
  2072. this.evaluateScore = 0,
  2073. this.feedback,
  2074. });
  2075. factory ConsultationEvaluateDTO.fromJson(Map<String, dynamic> map) {
  2076. return ConsultationEvaluateDTO(
  2077. consultationEvaluateCode: map['ConsultationEvaluateCode'],
  2078. consultationRecordCode: map['ConsultationRecordCode'],
  2079. evaluateGrade: EvaluateGradeEnum.values.firstWhere((e) => e.index == map['EvaluateGrade']),
  2080. evaluateScore: double.parse(map['EvaluateScore'].toString()),
  2081. feedback: map['Feedback'],
  2082. );
  2083. }
  2084. Map<String, dynamic> toJson() {
  2085. final map = Map<String, dynamic>();
  2086. if(consultationEvaluateCode != null)
  2087. map['ConsultationEvaluateCode'] = consultationEvaluateCode;
  2088. if(consultationRecordCode != null)
  2089. map['ConsultationRecordCode'] = consultationRecordCode;
  2090. map['EvaluateGrade'] = evaluateGrade.index;
  2091. map['EvaluateScore'] = evaluateScore;
  2092. if(feedback != null)
  2093. map['Feedback'] = feedback;
  2094. return map;
  2095. }
  2096. }
  2097. class GetConsultationEvaluateRequest extends TokenRequest{
  2098. String? consultationRecordCode;
  2099. GetConsultationEvaluateRequest({
  2100. this.consultationRecordCode,
  2101. String? token,
  2102. }) : super(
  2103. token: token,
  2104. );
  2105. factory GetConsultationEvaluateRequest.fromJson(Map<String, dynamic> map) {
  2106. return GetConsultationEvaluateRequest(
  2107. consultationRecordCode: map['ConsultationRecordCode'],
  2108. token: map['Token'],
  2109. );
  2110. }
  2111. Map<String, dynamic> toJson() {
  2112. final map = super.toJson();
  2113. if(consultationRecordCode != null)
  2114. map['ConsultationRecordCode'] = consultationRecordCode;
  2115. return map;
  2116. }
  2117. }
  2118. class AcceptInvitationRequest extends TokenRequest{
  2119. String? consultationRecordCode;
  2120. bool isAgree;
  2121. String? refusalCause;
  2122. AcceptInvitationRequest({
  2123. this.consultationRecordCode,
  2124. this.isAgree = false,
  2125. this.refusalCause,
  2126. String? token,
  2127. }) : super(
  2128. token: token,
  2129. );
  2130. factory AcceptInvitationRequest.fromJson(Map<String, dynamic> map) {
  2131. return AcceptInvitationRequest(
  2132. consultationRecordCode: map['ConsultationRecordCode'],
  2133. isAgree: map['IsAgree'],
  2134. refusalCause: map['RefusalCause'],
  2135. token: map['Token'],
  2136. );
  2137. }
  2138. Map<String, dynamic> toJson() {
  2139. final map = super.toJson();
  2140. if(consultationRecordCode != null)
  2141. map['ConsultationRecordCode'] = consultationRecordCode;
  2142. map['IsAgree'] = isAgree;
  2143. if(refusalCause != null)
  2144. map['RefusalCause'] = refusalCause;
  2145. return map;
  2146. }
  2147. }
  2148. enum SyncTypeEnum {
  2149. InitiateLiveConsultation,
  2150. AcceptLiveConsultation,
  2151. RejectLiveConsultation,
  2152. CancelInitiatorLiveConsultation,
  2153. LeaveLiveConsultation,
  2154. CloseLiveConsultation,
  2155. MuteLiveConsultation,
  2156. SwitchLiveConsultationVideo,
  2157. JoinLiveConsultation,
  2158. NewworkErrLiveConsultation,
  2159. CancelInvitingInLiveConsultation,
  2160. InviteInLiveConsultation,
  2161. }
  2162. enum MongoDBActionTypeEnum {
  2163. InsertOne,
  2164. InsertOneAsync,
  2165. InsertMany,
  2166. InsertManyAsync,
  2167. DeleteOne,
  2168. DeleteOneAsync,
  2169. DeleteMany,
  2170. DeleteManyAsync,
  2171. FindOneAndDelete,
  2172. FindOneAndDeleteAsync,
  2173. ReplaceOne,
  2174. ReplaceOneAsync,
  2175. FindOneAndReplace,
  2176. FindOneAndReplaceAsync,
  2177. UpdateOne,
  2178. UpdateOneAsync,
  2179. UpdateMany,
  2180. UpdateManyAsync,
  2181. FindOneAndUpdate,
  2182. FindOneAndUpdateAsync,
  2183. }
  2184. class OperationLogDTO {
  2185. int id;
  2186. String? collectionName;
  2187. MongoDBActionTypeEnum actionType;
  2188. String? bsonContent;
  2189. String? filterContent;
  2190. DateTime? createTime;
  2191. String? code;
  2192. String? sourceUrl;
  2193. OperationLogDTO({
  2194. this.id = 0,
  2195. this.collectionName,
  2196. this.actionType = MongoDBActionTypeEnum.InsertOne,
  2197. this.bsonContent,
  2198. this.filterContent,
  2199. this.createTime,
  2200. this.code,
  2201. this.sourceUrl,
  2202. });
  2203. factory OperationLogDTO.fromJson(Map<String, dynamic> map) {
  2204. return OperationLogDTO(
  2205. id: map['Id'],
  2206. collectionName: map['CollectionName'],
  2207. actionType: MongoDBActionTypeEnum.values.firstWhere((e) => e.index == map['ActionType']),
  2208. bsonContent: map['BsonContent'],
  2209. filterContent: map['FilterContent'],
  2210. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  2211. code: map['Code'],
  2212. sourceUrl: map['SourceUrl'],
  2213. );
  2214. }
  2215. Map<String, dynamic> toJson() {
  2216. final map = Map<String, dynamic>();
  2217. map['Id'] = id;
  2218. if(collectionName != null)
  2219. map['CollectionName'] = collectionName;
  2220. map['ActionType'] = actionType.index;
  2221. if(bsonContent != null)
  2222. map['BsonContent'] = bsonContent;
  2223. if(filterContent != null)
  2224. map['FilterContent'] = filterContent;
  2225. if(createTime != null)
  2226. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  2227. if(code != null)
  2228. map['Code'] = code;
  2229. if(sourceUrl != null)
  2230. map['SourceUrl'] = sourceUrl;
  2231. return map;
  2232. }
  2233. }
  2234. class SyncReceiveServiceDataRequest {
  2235. SyncTypeEnum syncType;
  2236. String? serviceDataJson;
  2237. List<OperationLogDTO >? oplogs;
  2238. String? sourceUrl;
  2239. String? serverID;
  2240. SyncReceiveServiceDataRequest({
  2241. this.syncType = SyncTypeEnum.InitiateLiveConsultation,
  2242. this.serviceDataJson,
  2243. this.oplogs,
  2244. this.sourceUrl,
  2245. this.serverID,
  2246. });
  2247. factory SyncReceiveServiceDataRequest.fromJson(Map<String, dynamic> map) {
  2248. return SyncReceiveServiceDataRequest(
  2249. syncType: SyncTypeEnum.values.firstWhere((e) => e.index == map['SyncType']),
  2250. serviceDataJson: map['ServiceDataJson'],
  2251. oplogs: map['Oplogs'] != null ? (map['Oplogs'] as List).map((e)=>OperationLogDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2252. sourceUrl: map['SourceUrl'],
  2253. serverID: map['ServerID'],
  2254. );
  2255. }
  2256. Map<String, dynamic> toJson() {
  2257. final map = Map<String, dynamic>();
  2258. map['SyncType'] = syncType.index;
  2259. if(serviceDataJson != null)
  2260. map['ServiceDataJson'] = serviceDataJson;
  2261. if(oplogs != null)
  2262. map['Oplogs'] = oplogs;
  2263. if(sourceUrl != null)
  2264. map['SourceUrl'] = sourceUrl;
  2265. if(serverID != null)
  2266. map['ServerID'] = serverID;
  2267. return map;
  2268. }
  2269. }