roomData.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. //
  2. // roomData.h
  3. // shiku_im
  4. //
  5. // Created by flyeagleTang on 15-2-6.
  6. // Copyright (c) 2015年 Reese. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class memberData;
  10. @interface roomData : NSObject{
  11. NSString* _tableName;
  12. NSString* _userIdOld;
  13. }
  14. @property(nonatomic,assign) int countryId;//国家
  15. @property(nonatomic,assign) int provinceId;//省份
  16. @property(nonatomic,assign) int cityId;//城市
  17. @property(nonatomic,assign) int areaId;//区域
  18. @property(nonatomic,assign) int category;//类别
  19. @property(nonatomic,assign) int maxCount;//最大成员数
  20. @property(nonatomic,assign) NSInteger curCount;//当前成员数
  21. @property(nonatomic,assign) NSTimeInterval createTime;//建立时间
  22. @property(nonatomic,assign) NSTimeInterval updateTime;//修改时间
  23. @property(nonatomic,assign) long updateUserId;//修改人
  24. @property(nonatomic,strong) NSString* room_Jid;//ID
  25. @property(nonatomic,strong) NSString* roomJid;//ID
  26. @property(nonatomic,strong) NSString* roomId;//ID
  27. @property(nonatomic,strong) NSString* name;//名字
  28. @property(nonatomic,strong) NSString* desc;//说明
  29. @property(nonatomic,strong) NSString* subject;//主题
  30. @property(nonatomic,strong) NSString* note;//公告
  31. @property(nonatomic,assign) long userId;//建立人
  32. @property(nonatomic,strong) NSString* userNickName;//建立人昵称
  33. @property (nonatomic, strong) NSString * lordRemarkName; // 群主修改的昵称
  34. @property(nonatomic,assign) BOOL showRead; //群内消息是否发送已读 回执 显示数量 0不显示 1要求显示
  35. //@property (nonatomic,strong) NSString* call;//群音频会议号码
  36. @property (nonatomic, assign) BOOL isLook; // 是否公开 0:公开 1:不公开
  37. @property (nonatomic, assign) BOOL isNeedVerify; // 邀请进群是否需要验证,1:需要 0:不需要 默认不需要
  38. @property (nonatomic, assign) BOOL showMember; // 显示群成员给普通用户,1:显示 0:不显示 默认显示
  39. @property (nonatomic, assign) BOOL allowSendCard; // 允许私聊,1:允许 0:不允许 默认允许
  40. @property (nonatomic, assign) BOOL allowHostUpdate; // 允许群主修改群属性 1:允许 0:不允许 默认允许
  41. @property (nonatomic, assign) BOOL allowInviteFriend; // 允许普通成员邀请好友,1:允许 0:不允许 默认允许
  42. @property (nonatomic, assign) BOOL allowUploadFile; // 允许群成员上传群共享文件,1:允许 0:不允许 默认允许
  43. @property (nonatomic, assign) BOOL allowConference; // 允许成员召开会议,1:允许 0:不允许 默认允许
  44. @property (nonatomic, assign) BOOL allowSpeakCourse; // 允许群成员发起讲课,1:允许 0:不允许 默认允许
  45. @property (nonatomic, assign) BOOL isAttritionNotice; // 群组减员通知,1:开启通知 0:不通知 默认通知
  46. @property (nonatomic, assign) long long talkTime; // 全员禁言时间
  47. @property (nonatomic,copy) NSString *groupType; // 修改了
  48. //@property (nonatomic,strong) NSDictionary *groupType;
  49. @property (nonatomic,assign) BOOL isOpenTopChat; // 是否置顶
  50. @property (nonatomic,assign) BOOL offlineNoPushMsg;// 是否消息免打扰
  51. @property (nonatomic,assign) BOOL isSecretGroup;// 是否为私密群组
  52. @property (nonatomic, copy) NSString *chatKeyGroup; // 群组消息秘钥
  53. @property (nonatomic,strong) NSString* chatRecordTimeOut; // 消息保留天数
  54. @property(nonatomic,assign) double longitude;
  55. @property(nonatomic,assign) double latitude;
  56. @property(nonatomic,strong) NSMutableArray* members; //房间成员列表
  57. @property(nonatomic,assign) BOOL isAttritionRecall; //是否是开启防群测回
  58. @property(nonatomic,assign) BOOL isOpenIntegral;//是否开启群头衔
  59. -(void)getDataFromDict:(NSDictionary*)dict;
  60. -(BOOL)isMember:(NSString*)theUserId;
  61. -(NSString*)getNickNameInRoom;
  62. -(memberData*)getMember:(NSString*)theUserId;
  63. -(void)setNickNameForUser:(JXUserObject*)user;
  64. -(NSString *)roomDataToNSString;
  65. /**
  66. 群头像,多个成员头像拼接
  67. */
  68. -(void)roomHeadImageToView:(UIImageView *)toView;
  69. +(void)roomHeadImageRoomId:(NSString *)roomId toView:(UIImageView *)toView;
  70. @end
  71. @interface memberData : NSObject{
  72. }
  73. @property(nonatomic,assign) NSTimeInterval createTime;//建立时间
  74. @property(nonatomic,assign) NSTimeInterval updateTime;//修改时间
  75. @property(nonatomic,assign) NSTimeInterval active;//最后一次互动时间
  76. @property(nonatomic,assign) NSTimeInterval talkTime;//禁言结束时间
  77. @property (nonatomic, assign) int offlineNoPushMsg;// 是否消息免打扰 1=是,0=否
  78. @property (nonatomic, assign) BOOL isSelected; // 是否选中
  79. @property (nonatomic, assign) BOOL checkBox; // 是否选中
  80. /**获取关心的人*/
  81. @property (nonatomic, assign) BOOL clicked; // 是否选中
  82. @property(nonatomic,assign) int sub;//是否屏bi
  83. @property(nonatomic,assign) long userId;//成员id
  84. @property(nonatomic,strong) NSString* userNickName;//成员昵称
  85. @property (nonatomic, strong) NSString * roomId;
  86. //@property (nonatomic, strong) NSString * userId;
  87. @property (nonatomic, strong) NSString * userName;
  88. @property (nonatomic, strong) NSString * cardName;
  89. @property (nonatomic, strong) NSString * lordRemarkName; // 群主修改的昵称
  90. @property (nonatomic, strong) NSNumber * role; //角色 1创建者,2管理员,3成员,4隐身人,5监控人
  91. @property (nonatomic, strong) NSString * idStr;
  92. @property (nonatomic, strong) NSString * onlinestate;
  93. @property (nonatomic, strong) NSNumber * grade; //头衔等级
  94. @property (nonatomic, strong) NSString * bubbleFontId;
  95. @property (nonatomic, strong) NSString * gradeIndex; //VIP等级
  96. -(void)getDataFromDict:(NSDictionary*)dict;
  97. -(BOOL)checkTableCreatedInDb:(NSString *)queryRoomId;
  98. +(NSArray <memberData *>*)getSelfMember:(NSString *)queryRoomId;
  99. -(BOOL)insert;
  100. -(BOOL)insertChatView;
  101. -(BOOL)remove;
  102. -(BOOL)update;
  103. //删除房间成员列表
  104. -(BOOL)deleteRoomMemeber;
  105. +(NSArray <memberData *>*)fetchAllMembers:(NSString *)queryRoomId;
  106. /**
  107. 返回排过序的群组成员列表
  108. @param queryRoomId 群组roomId
  109. @param sortByName 排序类型,YES只按cardName排序,NO先按role再按cardName排序
  110. @return 成员列表
  111. */
  112. +(NSArray <memberData *>*)fetchAllMembers:(NSString *)queryRoomId sortByName:(BOOL)sortByName;
  113. /**
  114. 返回排过序的非隐身人和监控人的群组成员列表
  115. @param queryRoomId 群组roomId
  116. @param sortByName 排序类型,YES只按cardName排序,NO先按role再按cardName排序
  117. @return 成员列表
  118. */
  119. +(NSArray <memberData *>*)fetchAllMembersAndHideMonitor:(NSString *)queryRoomId sortByName:(BOOL)sortByName;
  120. -(memberData *)searchMemberByName:(NSString *)cardName;
  121. // 查找群主
  122. + (memberData *)searchGroupOwner:(NSString *)roomId;
  123. // 获取群昵称
  124. - (memberData*)getCardNameById:(NSString*)aUserId;
  125. // 更新身份
  126. - (BOOL)updateRole;
  127. // 更新其他人身份
  128. - (BOOL)updateRoleByUserId:(long)userId role:(NSNumber *)role;
  129. // 更新群昵称
  130. - (BOOL)updateCardName;
  131. // 更新群昵称
  132. - (BOOL)updateUserNickName;
  133. // 更新在线状态
  134. - (BOOL)updateOnlinestate;
  135. +(NSMutableArray *)searchMemberByFilter:(NSString *)filter room:(NSString *)roomId;
  136. //获取搜索的成员列表数据
  137. +(memberData *)fetchMembersWithText:(NSString *)text withRoomId:(NSString *)roomId;
  138. //查找一个群成员
  139. -(memberData *)doFetchOneMember:(NSString*)sql roomId:(NSString *)roomId;
  140. @end