Browse Source

同步Server接口更改

loki.wu 2 years ago
parent
commit
fb8ca410a5

+ 3 - 0
lib/rpc.dart

@@ -80,6 +80,9 @@ class JsonRpcProxy {
 	IdentityApplyService get identityApply =>
 	findService(() => new IdentityApplyService(currentHostAddress));
 
+	LabService get lab =>
+	findService(() => new LabService(currentHostAddress));
+
 	LoginService get login =>
 	findService(() => new LoginService(currentHostAddress));
 

+ 2 - 2
lib/services/authentication.m.dart

@@ -1032,8 +1032,8 @@ enum CustomerRpcCode {
 	WaitUpgradeIsEmpty,
 	JoinedByOtherDevice,
 	ApplyerIsBusy,
-	placeHolder_853,
-	placeHolder_854,
+	EmergencyDeviceNotExisted,
+	EmergencyDeviceNeverBinded,
 	placeHolder_855,
 	placeHolder_856,
 	placeHolder_857,

+ 5 - 0
lib/services/device.dart

@@ -295,5 +295,10 @@ class DeviceService extends JsonRpcClientBase {
 		return result;
 	}
 
+	Future<bool> modifyEmergencyDeviceCodeAsync(ModifyEmergencyDeviceCodeRequest request) async {
+		var rpcRst = await call("ModifyEmergencyDeviceCodeAsync", request);
+		return rpcRst;
+	}
+
 }
 

+ 29 - 0
lib/services/device.m.dart

@@ -127,6 +127,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 	String? organizationDirectorUserName;
 	String? organizationDirectorFullName;
 	List<DictionaryLanguageConfigDTO >? languageConfigs;
+	bool isEmergencyDevice;
 
 	DeviceExtendInfoDTO({
 		this.organizationName,
@@ -137,6 +138,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 		this.organizationDirectorUserName,
 		this.organizationDirectorFullName,
 		this.languageConfigs,
+		this.isEmergencyDevice = false,
 		String? deviceCode,
 		String? serialNumber,
 		String? password,
@@ -208,6 +210,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 			organizationDirectorUserName: map['OrganizationDirectorUserName'],
 			organizationDirectorFullName: map['OrganizationDirectorFullName'],
 			languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			isEmergencyDevice: map['IsEmergencyDevice'],
 			deviceCode: map['DeviceCode'],
 			serialNumber: map['SerialNumber'],
 			password: map['Password'],
@@ -256,6 +259,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 			map['OrganizationDirectorFullName'] = organizationDirectorFullName;
 		if(languageConfigs != null)
 			map['LanguageConfigs'] = languageConfigs;
+		map['IsEmergencyDevice'] = isEmergencyDevice;
 		return map;
 	}
 }
@@ -2238,4 +2242,29 @@ class GetModelsRequest extends TokenRequest{
 	}
 }
 
+class ModifyEmergencyDeviceCodeRequest extends TokenRequest{
+	String? emergencyDeviceCode;
+
+	ModifyEmergencyDeviceCodeRequest({
+		this.emergencyDeviceCode,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory ModifyEmergencyDeviceCodeRequest.fromJson(Map<String, dynamic> map) {
+		return ModifyEmergencyDeviceCodeRequest( 
+			emergencyDeviceCode: map['EmergencyDeviceCode'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(emergencyDeviceCode != null)
+			map['EmergencyDeviceCode'] = emergencyDeviceCode;
+		return map;
+	}
+}
+
 

+ 2 - 0
lib/services/index.dart

@@ -7,6 +7,7 @@ export 'device.dart';
 export 'education.dart';
 export 'email.dart';
 export 'identityApply.dart';
+export 'lab.dart';
 export 'liveConsultation.dart';
 export 'login.dart';
 export 'notificationdecoder.dart';
@@ -34,6 +35,7 @@ export 'deployPlatform.m.dart';
 export 'device.m.dart';
 export 'education.m.dart';
 export 'identityApply.m.dart';
+export 'lab.m.dart';
 export 'liveConsultation.m.dart';
 export 'login.m.dart';
 export 'notification.m.dart';

+ 49 - 0
lib/services/lab.dart

@@ -0,0 +1,49 @@
+import 'dart:core';
+
+import 'package:fis_jsonrpc/client_base.dart';
+import 'package:fis_common/json_convert.dart';
+
+import 'lab.m.dart';
+
+import 'liveConsultation.m.dart';
+
+
+class LabService extends JsonRpcClientBase {
+	LabService(
+		String host, {
+		String serviceName = "ILabService",
+		Map<String, String>? headers,
+		int? timeout,
+	}) : super(
+						host,
+						serviceName,
+						headers: headers,
+						timeout: timeout,
+				) {
+		/// 注册响应实体反序列化处理器
+		FJsonConvert.setDecoder((map) => RecordLaboratoryFileResult.fromJson(map));
+		FJsonConvert.setDecoder((map) => LabFolderDTO.fromJson(map));
+		FJsonConvert.setDecoder((map) => PageResult<RemedicalInfoDTO>.fromJson(map));
+		FJsonConvert.setDecoder((map) => RemedicalInfoDTO.fromJson(map));
+	}
+
+	Future<RecordLaboratoryFileResult> recordLaboratoryFile(RecordLaboratoryFileRequest request) async {
+		var rpcRst = await call("RecordLaboratoryFile", request);
+		var result = RecordLaboratoryFileResult.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
+	Future<List<LabFolderDTO>> getLabFolderListAsync(TokenRequest request) async {
+		var rpcRst = await call("GetLabFolderListAsync", request);
+		var result = (rpcRst as List).map((e)=>LabFolderDTO.fromJson(e as Map<String, dynamic>)).toList();
+		return result;
+	}
+
+	Future<PageResult<RemedicalInfoDTO>> getFileListByFolderAsync(GetFileListByFolderRequest request) async {
+		var rpcRst = await call("GetFileListByFolderAsync", request);
+		var result = PageResult<RemedicalInfoDTO>.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
+}
+

+ 132 - 0
lib/services/lab.m.dart

@@ -0,0 +1,132 @@
+import 'liveConsultation.m.dart';
+
+class RecordLaboratoryFileResult {
+	bool isSuccess;
+
+	RecordLaboratoryFileResult({
+		this.isSuccess = false,
+	});
+
+	factory RecordLaboratoryFileResult.fromJson(Map<String, dynamic> map) {
+		return RecordLaboratoryFileResult( 
+			isSuccess: map['IsSuccess'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		map['IsSuccess'] = isSuccess;
+		return map;
+	}
+}
+
+enum LabUploadTypeEnum {
+	DirectUpload,
+	ByTemplate,
+}
+
+class RecordLaboratoryFileRequest extends TokenRequest{
+	LabUploadTypeEnum uploadType;
+	String? fileUrl;
+	bool isComprehensiveAnalysis;
+	bool isSeparateAnalysis;
+	String? folderName;
+
+	RecordLaboratoryFileRequest({
+		this.uploadType = LabUploadTypeEnum.DirectUpload,
+		this.fileUrl,
+		this.isComprehensiveAnalysis = false,
+		this.isSeparateAnalysis = false,
+		this.folderName,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory RecordLaboratoryFileRequest.fromJson(Map<String, dynamic> map) {
+		return RecordLaboratoryFileRequest( 
+			uploadType: LabUploadTypeEnum.values.firstWhere((e) => e.index == map['UploadType']),
+			fileUrl: map['FileUrl'],
+			isComprehensiveAnalysis: map['IsComprehensiveAnalysis'],
+			isSeparateAnalysis: map['IsSeparateAnalysis'],
+			folderName: map['FolderName'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		map['UploadType'] = uploadType.index;
+		if(fileUrl != null)
+			map['FileUrl'] = fileUrl;
+		map['IsComprehensiveAnalysis'] = isComprehensiveAnalysis;
+		map['IsSeparateAnalysis'] = isSeparateAnalysis;
+		if(folderName != null)
+			map['FolderName'] = folderName;
+		return map;
+	}
+}
+
+class LabFolderDTO {
+	String? code;
+	String? name;
+	String? parentCode;
+
+	LabFolderDTO({
+		this.code,
+		this.name,
+		this.parentCode,
+	});
+
+	factory LabFolderDTO.fromJson(Map<String, dynamic> map) {
+		return LabFolderDTO( 
+			code: map['Code'],
+			name: map['Name'],
+			parentCode: map['ParentCode'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(code != null)
+			map['Code'] = code;
+		if(name != null)
+			map['Name'] = name;
+		if(parentCode != null)
+			map['ParentCode'] = parentCode;
+		return map;
+	}
+}
+
+class GetFileListByFolderRequest extends PageRequest{
+	String? folderCode;
+
+	GetFileListByFolderRequest({
+		this.folderCode,
+		int pageIndex = 0,
+		int pageSize = 0,
+		String? token,
+	}) : super(
+			pageIndex: pageIndex,
+			pageSize: pageSize,
+			token: token,
+		);
+
+	factory GetFileListByFolderRequest.fromJson(Map<String, dynamic> map) {
+		return GetFileListByFolderRequest( 
+			folderCode: map['FolderCode'],
+			pageIndex: map['PageIndex'],
+			pageSize: map['PageSize'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(folderCode != null)
+			map['FolderCode'] = folderCode;
+		return map;
+	}
+}
+
+

+ 9 - 0
lib/services/liveConsultation.m.dart

@@ -3926,6 +3926,7 @@ class CarotidResultDTO {
 enum BusinessTypeEnum {
 	RemoteDiagnosis,
 	LiveConsultation,
+	Lab,
 }
 
 class RemedicalInfoDTO extends BaseDTO{
@@ -4249,6 +4250,7 @@ class UserDTO extends UserBaseDTO{
 	String? language;
 	bool enableReportLabel;
 	List<AssociatedInfoDTO >? associatedInfos;
+	String? bindEmergencyDeviceCode;
 
 	UserDTO({
 		this.phone,
@@ -4281,6 +4283,7 @@ class UserDTO extends UserBaseDTO{
 		this.language,
 		this.enableReportLabel = false,
 		this.associatedInfos,
+		this.bindEmergencyDeviceCode,
 		String? userCode,
 		String? userName,
 		String? headImageUrl,
@@ -4326,6 +4329,7 @@ class UserDTO extends UserBaseDTO{
 			language: map['Language'],
 			enableReportLabel: map['EnableReportLabel'],
 			associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
 			userCode: map['UserCode'],
 			userName: map['UserName'],
 			headImageUrl: map['HeadImageUrl'],
@@ -4390,6 +4394,8 @@ class UserDTO extends UserBaseDTO{
 		map['EnableReportLabel'] = enableReportLabel;
 		if(associatedInfos != null)
 			map['AssociatedInfos'] = associatedInfos;
+		if(bindEmergencyDeviceCode != null)
+			map['BindEmergencyDeviceCode'] = bindEmergencyDeviceCode;
 		return map;
 	}
 }
@@ -4431,6 +4437,7 @@ class UserExtendDTO extends UserDTO{
 		String? language,
 		bool enableReportLabel = false,
 		List<AssociatedInfoDTO >? associatedInfos,
+		String? bindEmergencyDeviceCode,
 		String? userCode,
 		String? userName,
 		String? headImageUrl,
@@ -4467,6 +4474,7 @@ class UserExtendDTO extends UserDTO{
 			language: language,
 			enableReportLabel: enableReportLabel,
 			associatedInfos: associatedInfos,
+			bindEmergencyDeviceCode: bindEmergencyDeviceCode,
 			userCode: userCode,
 			userName: userName,
 			headImageUrl: headImageUrl,
@@ -4508,6 +4516,7 @@ class UserExtendDTO extends UserDTO{
 			language: map['Language'],
 			enableReportLabel: map['EnableReportLabel'],
 			associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
 			userCode: map['UserCode'],
 			userName: map['UserName'],
 			headImageUrl: map['HeadImageUrl'],

+ 51 - 5
lib/services/other.m.dart

@@ -15,6 +15,7 @@ import 'aIDiagnosis.m.dart';
 import 'storage.m.dart';
 import 'report.m.dart';
 import 'payment.m.dart';
+import 'lab.m.dart';
 import 'vinnoServer.m.dart';
 import 'position.m.dart';
 import 'rank.m.dart';
@@ -1839,6 +1840,7 @@ class SignUpRequest extends UserDTO{
 		String? language,
 		bool enableReportLabel = false,
 		List<AssociatedInfoDTO >? associatedInfos,
+		String? bindEmergencyDeviceCode,
 		String? userCode,
 		String? userName,
 		String? headImageUrl,
@@ -1875,6 +1877,7 @@ class SignUpRequest extends UserDTO{
 			language: language,
 			enableReportLabel: enableReportLabel,
 			associatedInfos: associatedInfos,
+			bindEmergencyDeviceCode: bindEmergencyDeviceCode,
 			userCode: userCode,
 			userName: userName,
 			headImageUrl: headImageUrl,
@@ -1914,6 +1917,7 @@ class SignUpRequest extends UserDTO{
 			language: map['Language'],
 			enableReportLabel: map['EnableReportLabel'],
 			associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
 			userCode: map['UserCode'],
 			userName: map['UserName'],
 			headImageUrl: map['HeadImageUrl'],
@@ -6239,6 +6243,7 @@ class ManageUserInfoDTO extends UserDTO{
 		String? language,
 		bool enableReportLabel = false,
 		List<AssociatedInfoDTO >? associatedInfos,
+		String? bindEmergencyDeviceCode,
 		String? userCode,
 		String? userName,
 		String? headImageUrl,
@@ -6275,6 +6280,7 @@ class ManageUserInfoDTO extends UserDTO{
 			language: language,
 			enableReportLabel: enableReportLabel,
 			associatedInfos: associatedInfos,
+			bindEmergencyDeviceCode: bindEmergencyDeviceCode,
 			userCode: userCode,
 			userName: userName,
 			headImageUrl: headImageUrl,
@@ -6323,6 +6329,7 @@ class ManageUserInfoDTO extends UserDTO{
 			language: map['Language'],
 			enableReportLabel: map['EnableReportLabel'],
 			associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
 			userCode: map['UserCode'],
 			userName: map['UserName'],
 			headImageUrl: map['HeadImageUrl'],
@@ -6398,6 +6405,7 @@ class ModifyUserRequest extends ManageUserInfoDTO{
 		String? language,
 		bool enableReportLabel = false,
 		List<AssociatedInfoDTO >? associatedInfos,
+		String? bindEmergencyDeviceCode,
 		String? userCode,
 		String? userName,
 		String? headImageUrl,
@@ -6443,6 +6451,7 @@ class ModifyUserRequest extends ManageUserInfoDTO{
 			language: language,
 			enableReportLabel: enableReportLabel,
 			associatedInfos: associatedInfos,
+			bindEmergencyDeviceCode: bindEmergencyDeviceCode,
 			userCode: userCode,
 			userName: userName,
 			headImageUrl: headImageUrl,
@@ -6492,6 +6501,7 @@ class ModifyUserRequest extends ManageUserInfoDTO{
 			language: map['Language'],
 			enableReportLabel: map['EnableReportLabel'],
 			associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
 			userCode: map['UserCode'],
 			userName: map['UserName'],
 			headImageUrl: map['HeadImageUrl'],
@@ -7874,11 +7884,6 @@ enum HeartbeatTypeEnum {
 	RTCState,
 }
 
-enum LabUploadTypeEnum {
-	DirectUpload,
-	ByTemplate,
-}
-
 enum LiveMemberStatusEnum {
 	Default,
 	Accepted,
@@ -11365,6 +11370,47 @@ class MeasuredFeatureDTO {
 	}
 }
 
+class MeasureExportRecordDTO {
+	String? languageCode;
+	List<String >? remedicalMeasuredInfoCodes;
+	String? exportFileToken;
+	DateTime? createTime;
+	DateTime? updateTime;
+
+	MeasureExportRecordDTO({
+		this.languageCode,
+		this.remedicalMeasuredInfoCodes,
+		this.exportFileToken,
+		this.createTime,
+		this.updateTime,
+	});
+
+	factory MeasureExportRecordDTO.fromJson(Map<String, dynamic> map) {
+		return MeasureExportRecordDTO( 
+			languageCode: map['LanguageCode'],
+			remedicalMeasuredInfoCodes: map['RemedicalMeasuredInfoCodes'] != null ? map['RemedicalMeasuredInfoCodes'].cast<String>().toList() : null,
+			exportFileToken: map['ExportFileToken'],
+			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
+			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(languageCode != null)
+			map['LanguageCode'] = languageCode;
+		if(remedicalMeasuredInfoCodes != null)
+			map['RemedicalMeasuredInfoCodes'] = remedicalMeasuredInfoCodes;
+		if(exportFileToken != null)
+			map['ExportFileToken'] = exportFileToken;
+		if(createTime != null)
+			map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
+		if(updateTime != null)
+			map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!);
+		return map;
+	}
+}
+
 class MeasureItemDTO {
 	String? name;
 	String? description;

+ 3 - 0
lib/services/user.m.dart

@@ -406,6 +406,7 @@ class UserInfoByCodeDTO extends UserDTO{
 		String? language,
 		bool enableReportLabel = false,
 		List<AssociatedInfoDTO >? associatedInfos,
+		String? bindEmergencyDeviceCode,
 		String? userCode,
 		String? userName,
 		String? headImageUrl,
@@ -442,6 +443,7 @@ class UserInfoByCodeDTO extends UserDTO{
 			language: language,
 			enableReportLabel: enableReportLabel,
 			associatedInfos: associatedInfos,
+			bindEmergencyDeviceCode: bindEmergencyDeviceCode,
 			userCode: userCode,
 			userName: userName,
 			headImageUrl: headImageUrl,
@@ -483,6 +485,7 @@ class UserInfoByCodeDTO extends UserDTO{
 			language: map['Language'],
 			enableReportLabel: map['EnableReportLabel'],
 			associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
 			userCode: map['UserCode'],
 			userName: map['UserName'],
 			headImageUrl: map['HeadImageUrl'],