device.dart 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import 'dart:core';
  2. import 'package:fis_jsonrpc/client_base.dart';
  3. import 'package:fis_common/json_convert.dart';
  4. import 'device.m.dart';
  5. import 'authentication.m.dart';
  6. class DeviceService extends JsonRpcClientBase {
  7. DeviceService(
  8. String host, {
  9. String serviceName = "IDeviceService",
  10. Map<String, String>? headers,
  11. int? timeout,
  12. }) : super(
  13. host,
  14. serviceName,
  15. headers: headers,
  16. timeout: timeout,
  17. ) {
  18. /// 注册响应实体反序列化处理器
  19. FJsonConvert.setDecoder((map) => DeviceInfoDTO.fromJson(map));
  20. FJsonConvert.setDecoder((map) => PageCollection<DeviceInfoDTO>.fromJson(map));
  21. FJsonConvert.setDecoder((map) => DictionaryDTO.fromJson(map));
  22. FJsonConvert.setDecoder((map) => DeviceExtendInfoDTO.fromJson(map));
  23. }
  24. Future<DeviceInfoDTO> createDeviceInfoAsync(CreateDeviceRequest request) async {
  25. var rpcRst = await call("CreateDeviceInfoAsync", request);
  26. var result = DeviceInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
  27. return result;
  28. }
  29. Future<DeviceInfoDTO> getDeviceInfoAsync(GetDeviceRequest request) async {
  30. var rpcRst = await call("GetDeviceInfoAsync", request);
  31. var result = DeviceInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
  32. return result;
  33. }
  34. Future<PageCollection<DeviceInfoDTO>> getDeviceInfoPageAsync(PageRequest request) async {
  35. var rpcRst = await call("GetDeviceInfoPageAsync", request);
  36. var result = PageCollection<DeviceInfoDTO>.fromJson(rpcRst as Map<String, dynamic>);
  37. return result;
  38. }
  39. Future<bool> bindDeviceAsync(BindDeviceRequest request) async {
  40. var rpcRst = await call("BindDeviceAsync", request);
  41. return rpcRst;
  42. }
  43. Future<bool> alterDeviceAsync(AlterDeviceRequest request) async {
  44. var rpcRst = await call("AlterDeviceAsync", request);
  45. return rpcRst;
  46. }
  47. Future<String> createDictionaryItemAsync(CreateDictionaryItemRequest request) async {
  48. var rpcRst = await call("CreateDictionaryItemAsync", request);
  49. return rpcRst;
  50. }
  51. Future<List<DictionaryDTO>> findDeviceModelItemsAsync(FindDeviceModelItemsRequest request) async {
  52. var rpcRst = await call("FindDeviceModelItemsAsync", request);
  53. var result = (rpcRst as List).map((e)=>DictionaryDTO.fromJson(e as Map<String, dynamic>)).toList();
  54. return result;
  55. }
  56. Future<List<DictionaryDTO>> findDeviceTypeItemsAsync(FindDeviceTypeItemsRequest request) async {
  57. var rpcRst = await call("FindDeviceTypeItemsAsync", request);
  58. var result = (rpcRst as List).map((e)=>DictionaryDTO.fromJson(e as Map<String, dynamic>)).toList();
  59. return result;
  60. }
  61. Future<bool> createShareDeviceToUserAsync(CreateShareDeviceToUserRequest request) async {
  62. var rpcRst = await call("CreateShareDeviceToUserAsync", request);
  63. return rpcRst;
  64. }
  65. Future<bool> deleteShareDeviceToUserAsync(DeleteShareDeviceToUserRequest request) async {
  66. var rpcRst = await call("DeleteShareDeviceToUserAsync", request);
  67. return rpcRst;
  68. }
  69. Future<bool> removeDeviceRelevancyAsync(RemoveDeviceRelevancyRequest request) async {
  70. var rpcRst = await call("RemoveDeviceRelevancyAsync", request);
  71. return rpcRst;
  72. }
  73. Future<List<DeviceExtendInfoDTO>> getPersonDeviceListAsync(TokenRequest request) async {
  74. var rpcRst = await call("GetPersonDeviceListAsync", request);
  75. var result = (rpcRst as List).map((e)=>DeviceExtendInfoDTO.fromJson(e as Map<String, dynamic>)).toList();
  76. return result;
  77. }
  78. Future<List<DeviceInfoDTO>> findDevicesByOrganizationCodeAsync(FindDevicesByOrganizationCodeRequest request) async {
  79. var rpcRst = await call("FindDevicesByOrganizationCodeAsync", request);
  80. var result = (rpcRst as List).map((e)=>DeviceInfoDTO.fromJson(e as Map<String, dynamic>)).toList();
  81. return result;
  82. }
  83. }