roomData.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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,copy) NSString *openTopChatTime;
  74. @property(nonatomic,copy) NSString *integralNumber;
  75. @property(nonatomic,copy) NSString *modifyTime;
  76. @property(nonatomic,copy) NSString *loginTime;
  77. */
  78. @property(nonatomic,assign) NSTimeInterval createTime;//建立时间
  79. @property(nonatomic,assign) NSTimeInterval updateTime;//修改时间
  80. @property(nonatomic,assign) NSTimeInterval active;//最后一次互动时间
  81. @property(nonatomic,assign) NSTimeInterval talkTime;//禁言结束时间
  82. @property (nonatomic, assign) int offlineNoPushMsg;// 是否消息免打扰 1=是,0=否
  83. @property (nonatomic, assign) BOOL isSelected; // 是否选中
  84. @property (nonatomic, assign) BOOL checkBox; // 是否选中
  85. /**获取关心的人*/
  86. @property (nonatomic, assign) BOOL clicked; // 是否选中
  87. @property(nonatomic,assign) int sub;//是否屏bi
  88. @property(nonatomic,assign) long userId;//成员id
  89. @property(nonatomic,strong) NSString* userNickName;//成员昵称
  90. @property (nonatomic, strong) NSString * roomId;
  91. //@property (nonatomic, strong) NSString * userId;
  92. @property (nonatomic, strong) NSString * userName;
  93. @property (nonatomic, strong) NSString * cardName;
  94. @property (nonatomic, strong) NSString * lordRemarkName; // 群主修改的昵称
  95. @property (nonatomic, strong) NSNumber * role; //角色 1创建者,2管理员,3成员,4隐身人,5监控人
  96. @property (nonatomic, strong) NSString * idStr;
  97. @property (nonatomic, strong) NSString * onlinestate;
  98. @property (nonatomic, strong) NSNumber * grade; //头衔等级
  99. @property (nonatomic, strong) NSString * bubbleFontId;
  100. @property (nonatomic, strong) NSString * gradeIndex; //VIP等级
  101. -(void)getDataFromDict:(NSDictionary*)dict;
  102. -(BOOL)checkTableCreatedInDb:(NSString *)queryRoomId;
  103. -(BOOL)checkTableChatViewCreatedInDb:(NSString *)queryRoomId;
  104. +(NSArray <memberData *>*)getSelfMember:(NSString *)queryRoomId;
  105. -(BOOL)insert;
  106. -(BOOL)insertChatView;
  107. -(BOOL)remove;
  108. -(BOOL)update;
  109. //删除房间成员列表
  110. -(BOOL)deleteRoomMemeber;
  111. +(NSArray <memberData *>*)fetchAllMembers:(NSString *)queryRoomId;
  112. /**
  113. 返回排过序的群组成员列表
  114. @param queryRoomId 群组roomId
  115. @param sortByName 排序类型,YES只按cardName排序,NO先按role再按cardName排序
  116. @return 成员列表
  117. */
  118. +(NSArray <memberData *>*)fetchAllMembers:(NSString *)queryRoomId sortByName:(BOOL)sortByName;
  119. /**
  120. 返回排过序的非隐身人和监控人的群组成员列表
  121. @param queryRoomId 群组roomId
  122. @param sortByName 排序类型,YES只按cardName排序,NO先按role再按cardName排序
  123. @return 成员列表
  124. */
  125. +(NSArray <memberData *>*)fetchAllMembersAndHideMonitor:(NSString *)queryRoomId sortByName:(BOOL)sortByName;
  126. -(memberData *)searchMemberByName:(NSString *)cardName;
  127. // 查找群主
  128. + (memberData *)searchGroupOwner:(NSString *)roomId;
  129. // 获取群昵称
  130. - (memberData*)getCardNameById:(NSString*)aUserId;
  131. // 更新身份
  132. - (BOOL)updateRole;
  133. // 更新其他人身份
  134. - (BOOL)updateRoleByUserId:(long)userId role:(NSNumber *)role;
  135. // 更新群昵称
  136. - (BOOL)updateCardName;
  137. // 更新群昵称
  138. - (BOOL)updateUserNickName;
  139. // 更新在线状态
  140. - (BOOL)updateOnlinestate;
  141. +(NSMutableArray *)searchMemberByFilter:(NSString *)filter room:(NSString *)roomId;
  142. //获取搜索的成员列表数据
  143. +(memberData *)fetchMembersWithText:(NSString *)text withRoomId:(NSString *)roomId;
  144. //查找一个群成员
  145. -(memberData *)doFetchOneMember:(NSString*)sql roomId:(NSString *)roomId;
  146. @end