roomData.h 7.1 KB

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