AlarmMessageConfig.mm 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //
  2. // AlarmMessageConfig.m
  3. // FunSDKDemo
  4. //
  5. // Created by wujiangbo on 2018/12/1.
  6. // Copyright © 2018 wujiangbo. All rights reserved.
  7. //
  8. #import "AlarmMessageConfig.h"
  9. #import "FunSDK/Fun_MC.h"
  10. #import "AlarmMessageInfo.h"
  11. @implementation AlarmMessageConfig
  12. #pragma mark - 查找报警缩略图
  13. - (void)searchAlarmThumbnail:(NSString *)uId fileName:(NSString *)fileName
  14. {
  15. ChannelObject *channel = [[DeviceControl getInstance] getSelectChannel];
  16. XPMS_SEARCH_ALARMPIC_REQ _req;
  17. memset(&_req, 0, sizeof(_req));
  18. STRNCPY(_req.Uuid, SZSTR(channel.deviceMac));
  19. _req.ID = [uId longLongValue];
  20. memcpy(_req.Res, "_176x144.jpeg", 32);
  21. MC_SearchAlarmPic(self.msgHandle, [fileName UTF8String], &_req, 0);
  22. }
  23. #pragma mark - 查找报警图
  24. - (void)searchAlarmPic:(NSString *)uId fileName:(NSString *)fileName
  25. {
  26. ChannelObject *channel = [[DeviceControl getInstance] getSelectChannel];
  27. XPMS_SEARCH_ALARMPIC_REQ _req;
  28. memset(&_req, 0, sizeof(_req));
  29. STRNCPY(_req.Uuid, SZSTR(channel.deviceMac));
  30. _req.ID = [uId longLongValue];
  31. MC_SearchAlarmPic(self.msgHandle, [fileName UTF8String], &_req, 0);
  32. }
  33. #pragma mark - 查询报警消息
  34. -(void)searchAlarmInfo{
  35. ChannelObject *channel = [[DeviceControl getInstance] getSelectChannel];
  36. XPMS_SEARCH_ALARMINFO_REQ _req;
  37. memset(&_req, 0, sizeof(_req));
  38. STRNCPY(_req.Uuid, SZSTR(channel.deviceMac));
  39. _req.StarTime = [self startTime];
  40. _req.EndTime = [self endTime];
  41. _req.Channel = 0;
  42. _req.Number = 0;
  43. _req.Index = 0;
  44. MC_SearchAlarmInfo(self.msgHandle, &_req, 0);
  45. }
  46. - (struct SystemTime)startTime{
  47. NSDateComponents *components = [self getCurrentComponents];
  48. struct SystemTime startTime;
  49. memset(&startTime, 0, sizeof(startTime));
  50. startTime.year = (int)[components year];
  51. startTime.month = (int)[components month];
  52. startTime.day = (int)[components day];
  53. return startTime;
  54. }
  55. - (struct SystemTime)endTime{
  56. NSDateComponents *components = [self getCurrentComponents];
  57. struct SystemTime endTime;
  58. memset(&endTime, 0, sizeof(endTime));
  59. endTime.year = (int)[components year];
  60. endTime.month = (int)[components month];
  61. endTime.day = (int)[components day];
  62. endTime.hour = 23;
  63. endTime.second = 59;
  64. endTime.minute = 59;
  65. return endTime;
  66. }
  67. - (NSDateComponents *)getCurrentComponents{
  68. NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
  69. dateFormatter.dateFormat = @"YYYY/MM/dd";
  70. NSDate *date = [NSDate date];
  71. NSCalendar *calendar = [NSCalendar currentCalendar];
  72. return [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
  73. }
  74. #pragma mark - SDK回调
  75. -(void)OnFunSDKResult:(NSNumber *) pParam{
  76. NSInteger nAddr = [pParam integerValue];
  77. MsgContent *msg = (MsgContent *)nAddr;
  78. switch (msg->id) {
  79. case EMSG_MC_SearchAlarmInfo:{
  80. if (msg->param1 < 0) {
  81. }
  82. else{
  83. char *pStr = (char *)msg->pObject;
  84. NSMutableArray *dataArray = [[NSMutableArray alloc] initWithCapacity:0];
  85. for (int i = 0; i < msg->param3; ++i) {
  86. NSData *data = [[[NSString alloc]initWithUTF8String:pStr] dataUsingEncoding:NSUTF8StringEncoding];
  87. AlarmMessageInfo *json = [[AlarmMessageInfo alloc]init];
  88. [json parseJsonData:data];
  89. NSString *startTime = [json getStartTime]; //开始时间
  90. if (startTime) {
  91. [dataArray addObject:json];
  92. }
  93. pStr += (strlen(pStr) + 1);
  94. }
  95. if (self.delegate && [self.delegate respondsToSelector:@selector(getAlarmMessageConfigResult:message:)]) {
  96. [self.delegate getAlarmMessageConfigResult:msg->param1 message:dataArray];
  97. }
  98. }
  99. }
  100. break;
  101. case EMSG_MC_SearchAlarmPic:{
  102. [SVProgressHUD dismiss];
  103. if (msg->param1 < 0) {
  104. break;
  105. }
  106. //报警图
  107. NSString *imagePath = [NSString stringWithUTF8String:(char*)msg->szStr];
  108. if (self.delegate && [self.delegate respondsToSelector:@selector(searchAlarmPicConfigResult:imagePath:)]) {
  109. [self.delegate searchAlarmPicConfigResult:msg->param1 imagePath:imagePath];
  110. }
  111. }
  112. break;
  113. default:
  114. break;
  115. }
  116. }
  117. @end