123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972 |
- //
- // JXRelayVC.m
- // shiku_im
- //
- // Created by p on 2017/6/27.
- // Copyright © 2017年 Reese. All rights reserved.
- //
- #import "JXRelayVC.h"
- #import "JXChatViewController.h"
- #import "JXRoomPool.h"
- #import "JXRoomObject.h"
- #import "JXCell.h"
- #import "addMsgVC.h"
- #import "QCheckBox.h"
- typedef enum : NSUInteger {
- RelayType_msg = 1,
- RelayType_myFriend,
- RelayType_myGroup,
- } RelayType;
- @interface JXRelayVC ()<QCheckBoxDelegate>
- @property (nonatomic, strong) NSMutableArray *msgArray;
- @property (nonatomic, strong) NSMutableArray *myFriendArray;
- @property (nonatomic, strong) NSMutableArray *myGroupArray;
- @property (nonatomic, assign) RelayType type;
- @property (nonatomic, strong) JXRoomObject *chatRoom;
- @property (nonatomic, assign) NSInteger selectIndex;
- @property (nonatomic, strong) UIButton *doneBtn;
- @property (nonatomic, strong) UIButton *cancelBtn;
- @property (nonatomic, strong) NSMutableArray *checkBoxs;
- @property (nonatomic, strong) NSMutableArray *selectArr;
- @end
- @implementation JXRelayVC
- - (void)viewDidLoad {
- [super viewDidLoad];
- self.heightHeader = JX_SCREEN_TOP;
- self.heightFooter = 0;
- self.isGotoBack = YES;
- //self.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, JX_SCREEN_HEIGHT-JX_SCREEN_BOTTOM);
- [self createHeadAndFoot];
- self.title = Localized(@"JX_SelectTheSendingObject");
- _msgArray = [NSMutableArray array];
- _myFriendArray = [NSMutableArray array];
- _myGroupArray = [NSMutableArray array];
- _checkBoxs = [NSMutableArray array];
- _selectArr = [NSMutableArray array];
-
- self.type = RelayType_msg;
-
- [self getLocData];
-
- if (self.isMoreSel) {
- self.cancelBtn = [[UIButton alloc] initWithFrame:CGRectMake(15, JX_SCREEN_TOP - 34, 34, 24)];
- [self.cancelBtn setTitle:Localized(@"JX_Cencal") forState:UIControlStateNormal];
- [self.cancelBtn setTitleColor:THESIMPLESTYLE ? [UIColor blackColor] : [UIColor whiteColor] forState:UIControlStateNormal];
- self.cancelBtn.titleLabel.font = [UIFont systemFontOfSize:16.0];
- [self.cancelBtn addTarget:self action:@selector(cancelBtnAction:) forControlEvents:UIControlEventTouchUpInside];
- self.cancelBtn.hidden = YES;
- [self.tableHeader addSubview:self.cancelBtn];
-
- self.doneBtn = [[UIButton alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH - 60-10, JX_SCREEN_TOP - 34, 60, 24)];
- [self.doneBtn setTitle:Localized(@"JX_Multiselect") forState:UIControlStateNormal];
- [self.doneBtn setTitle:Localized(@"JX_Finish") forState:UIControlStateSelected];
- [self.doneBtn setTitleColor:THESIMPLESTYLE ? [UIColor blackColor] : [UIColor whiteColor] forState:UIControlStateNormal];
- self.doneBtn.titleLabel.font = [UIFont systemFontOfSize:16.0];
- [self.doneBtn addTarget:self action:@selector(doneBtnAction:) forControlEvents:UIControlEventTouchUpInside];
- [self.tableHeader addSubview:self.doneBtn];
-
- [self setDoneBtnFrame];
- }
- }
- - (void)setDoneBtnFrame {
- CGSize size = [self.doneBtn.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:self.doneBtn.titleLabel.font}];
-
- self.doneBtn.frame = CGRectMake(JX_SCREEN_WIDTH-size.width-15, self.doneBtn.frame.origin.y, size.width, self.doneBtn.frame.size.height);
- }
- - (void)doneBtnAction:(UIButton *)btn {
-
-
- if (self.cancelBtn.hidden) {
- self.gotoBackBtn.hidden = YES;
- self.cancelBtn.hidden = NO;
- [self.tableView reloadData];
- }else {
-
- BOOL flag = NO;
- for (NSInteger i = 0; i < _selectArr.count; i ++) {
-
- JXMsgAndUserObject *p = _selectArr[i];
- p.user.msgsNew = [NSNumber numberWithInt:0];
- [p.user update];
- [p.message updateNewMsgsTo0];
-
- if ([p.user.talkTime intValue] > 0) {
-
- memberData *member = [[memberData alloc] init];
- member = [member getCardNameById:MY_USER_ID];
-
- if ([member.role intValue] !=2 && [member.role intValue] !=1) {
- if (_selectArr.count == 1) {
- [g_App showAlert:Localized(@"HAS_BEEN_BANNED")];
- return;
- }
- [JXMyTools showTipView:[NSString stringWithFormat:@"%@被禁言",p.user.userNickname]];
- continue;
- }
- }
-
- for (NSInteger j = 0; j < _relayMsgArray.count; j ++) {
- JXMessageObject *msg = _relayMsgArray[j];
- [self relay:msg withUserObj:p];
- }
-
- if ([p.user.userId isEqualToString:self.chatPerson.userId]) {
- flag = YES;
- }
- }
-
- // [g_notify postNotificationName:kRefreshChatLogNotif object:nil];
- [g_server showMsg:Localized(@"JX_SendComplete")];
- [self actionQuit];
- }
-
- self.doneBtn.selected = !self.doneBtn.selected;
-
- [self setDoneBtnFrame];
- }
- - (void)cancelBtnAction:(UIButton *)btn {
-
- self.gotoBackBtn.hidden = NO;
- self.cancelBtn.hidden = YES;
- self.doneBtn.selected = NO;
- [_selectArr removeAllObjects];
- [self.tableView reloadData];
-
- [self setDoneBtnFrame];
- }
- - (void) relay:(JXMessageObject *)msg withUserObj:(JXMsgAndUserObject *)userObj{
-
- if (msg.content.length > 0) {
- JXMessageObject *msg1 = [[JXMessageObject alloc]init];
- msg1 = [msg copy];
- msg1.messageId = nil;
- msg1.timeSend = [NSDate date];
- msg1.fromId = nil;
- msg1.fromUserId = MY_USER_ID;
- msg1.fromUserName = g_myself.userNickname;
- if([userObj.user.roomFlag boolValue]){
- msg1.isGroup = YES;
- }
- else{
- msg1.isGroup = NO;
- }
- msg1.toUserId = userObj.user.userId;
- // msg.content = relayMsg.content;
- // msg.type = relayMsg.type;
- msg1.isSend = [NSNumber numberWithInt:transfer_status_ing];
- msg1.isRead = [NSNumber numberWithBool:NO];
- msg1.isReadDel = [NSNumber numberWithInt:NO];
-
-
- NSString *roomJid = nil;
- if ([userObj.user.roomFlag boolValue]) {
- roomJid = userObj.user.userId;
- }
- //发往哪里
- [msg1 insert:roomJid];
- [g_xmpp sendMessage:msg1 roomName:roomJid];//发送消息
-
- if ([userObj.user.userId isEqualToString:self.chatPerson.userId]) {
- [self.chatVC showOneMsg:msg1];
- }
- }
- }
- - (void) getLocData {
- NSMutableArray* p = [[JXMessageObject sharedInstance] fetchRecentChat];
- // if (p.count>0 || _page == 0) {
- if (p.count>0) {
- for(NSInteger i = 0; i < p.count; i ++) {
- JXMsgAndUserObject *obj = p[i];
- if ([obj.user.userId isEqualToString:FRIEND_CENTER_USERID]) {
- continue;
- }
-
- if ([obj.user.roomFlag intValue]==1) {
- [_msgArray addObject:obj];
- }
-
- }
- //让数组按时间排序
- [self sortArrayWithTime];
-
- // NSMutableArray *tempAArr=[NSMutableArray arrayWithCapacity:0];
- // [_msgArray enumerateObjectsUsingBlock:^(JXMsgAndUserObject * obj, NSUInteger idx, BOOL * _Nonnull stop) {
- //
- // if (obj.user.groupType.length>0) {
- // [tempAArr addObject:obj];
- // }
- // }];
- // _msgArray=tempAArr;
- [_table reloadData];
- self.isShowFooterPull = p.count>=PAGE_SHOW_COUNT;
- }
- [p removeAllObjects];
-
- NSMutableArray *array = [[JXUserObject sharedInstance] fetchAllFriendsFromLocal];
- for(NSInteger i = 0; i < array.count; i ++) {
- JXUserObject *user = array[i];
- if ([user.userId isEqualToString:FRIEND_CENTER_USERID]) {
- continue;
- }
- JXMsgAndUserObject *obj = [[JXMsgAndUserObject alloc] init];
- obj.user = user;
-
- [_myFriendArray addObject:obj];
- }
-
- [g_server listHisRoom:0 pageSize:1000 toView:self];
-
- [self.tableView reloadData];
- }
- //数据(CELL)按时间顺序重新排列
- - (void)sortArrayWithTime{
-
- for (int i = 0; i<[_msgArray count]; i++)
- {
-
- for (int j=i+1; j<[_msgArray count]; j++)
- {
- JXMsgAndUserObject * dicta = (JXMsgAndUserObject*) [_msgArray objectAtIndex:i];
- NSDate * a = dicta.message.timeSend ;
- // NSLog(@"a = %d",[dicta.user.msgsNew intValue]);
- JXMsgAndUserObject * dictb = (JXMsgAndUserObject*) [_msgArray objectAtIndex:j];
- NSDate * b = dictb.message.timeSend ;
- // NSLog(@"b = %d",b);
-
- if ([[a laterDate:b] isEqualToDate:b])
- {
- // - (NSDate *)earlierDate:(NSDate *)anotherDate;
- // 与anotherDate比较,返回较早的那个日期
- //
- // - (NSDate *)laterDate:(NSDate *)anotherDate;
- // 与anotherDate比较,返回较晚的那个日期
- // JXMsgAndUserObject * dictc = dicta;
-
- [_msgArray replaceObjectAtIndex:i withObject:dictb];
- [_msgArray replaceObjectAtIndex:j withObject:dicta];
- }
-
- }
-
- }
-
- }
- - (void)didSelectedCheckBox:(QCheckBox *)checkbox checked:(BOOL)checked{
-
- NSMutableArray *array = [NSMutableArray array];
- switch (self.type) {
- case RelayType_msg:
- array = _msgArray;
- break;
- case RelayType_myFriend:
- array = _myFriendArray;
- break;
- case RelayType_myGroup:
- array = _myGroupArray;
-
- break;
- default:
- break;
- }
- JXMsgAndUserObject *p;
- p =[array objectAtIndex:checkbox.tag % 100000-1];
- if(checked){
- BOOL flag = NO;
- for (NSInteger i = 0; i < _selectArr.count; i ++) {
- JXMsgAndUserObject *selUser = _selectArr[i];
- if ([selUser.user.userId isEqualToString:p.user.userId]) {
- flag = YES;
- return;
- }
- }
-
- [_selectArr addObject:p];
- }
- else{
- for (NSInteger i = 0; i < _selectArr.count; i ++) {
- JXMsgAndUserObject *selUser = _selectArr[i];
- if ([selUser.user.userId isEqualToString:p.user.userId]) {
-
- [_selectArr removeObject:selUser];
- break;
- }
- }
- }
- NSString *str =[NSString stringWithFormat:@"%@(%ld)",Localized(@"JX_Finish"),_selectArr.count];
- [self.doneBtn setTitle:str forState:UIControlStateSelected];
- [self setDoneBtnFrame];
- }
- #pragma mark ---------tableView协议----------------
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- if (self.type != RelayType_myGroup) {
- if (indexPath.section == 0) {
- UITableViewCell *cell=nil;
- // NSString* cellName = [NSString stringWithFormat:@"msg_%d_%ld",_refreshCount,(long)indexPath.row];
- NSString* cellName = [NSString stringWithFormat:@"tableViewCell"];
-
- cell = [tableView dequeueReusableCellWithIdentifier:cellName];
- if (!cell) {
- cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
- }
- UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, 53.5, JX_SCREEN_WIDTH, LINE_WH)];
- line.backgroundColor = THE_LINE_COLOR;
- [cell.contentView addSubview:line];
-
- cell.textLabel.font = SYSFONT(15.0);
- if (self.type == RelayType_msg) {
- cell.textLabel.text = Localized(@"JXRelay_CreateNewChat");
- }else if (self.type == RelayType_myFriend) {
- cell.textLabel.text = Localized(@"JXRelay_chooseGroup");
- }
-
-
- return cell;
- }
- }
-
- if (self.type == RelayType_msg && self.isShare && indexPath.row == 0) {
- UITableViewCell *cell=nil;
- NSString* cellName = [NSString stringWithFormat:@"tableViewCell"];
-
- cell = [tableView dequeueReusableCellWithIdentifier:cellName];
- if (!cell) {
- cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
- }
- UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, 53.5, JX_SCREEN_WIDTH, LINE_WH)];
- line.backgroundColor = THE_LINE_COLOR;
- [cell.contentView addSubview:line];
-
- cell.textLabel.font = SYSFONT(15.0);
- cell.textLabel.text = Localized(@"JX_ShareLifeCircle");
- return cell;
- }
-
- NSString* cellName = [NSString stringWithFormat:@"relayCell_%d",(int)indexPath.row];
- JXCell *relayCell = [tableView dequeueReusableCellWithIdentifier:cellName];
- if (!relayCell) {
- relayCell = [[JXCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
- }
-
- JXMsgAndUserObject * obj = nil;
- switch (self.type) {
- case RelayType_msg:
- if (self.isShare) {
- obj = (JXMsgAndUserObject*) [_msgArray objectAtIndex:indexPath.row - 1];
- }else {
- obj = (JXMsgAndUserObject*) [_msgArray objectAtIndex:indexPath.row];
- }
- break;
- case RelayType_myFriend:
- obj = (JXMsgAndUserObject*) [_myFriendArray objectAtIndex:indexPath.row];
- break;
- case RelayType_myGroup:
- obj = (JXMsgAndUserObject*) [_myGroupArray objectAtIndex:indexPath.row];
- break;
-
- default:
- break;
- }
-
- relayCell.title = obj.user.userNickname;
- // relayCell.subtitle = [NSString stringWithFormat:@"%@",obj.user.userId];
- relayCell.userId = [NSString stringWithFormat:@"%@",obj.user.userId];
- NSString * roomIdStr = obj.user.roomId;
- relayCell.roomId = roomIdStr;
- [relayCell headImageViewImageWithUserId:relayCell.userId roomId:roomIdStr];
- relayCell.isSmall = YES;
-
- if (self.doneBtn && self.doneBtn.selected) {
- QCheckBox* btn = [[QCheckBox alloc] initWithDelegate:self];
- btn.frame = CGRectMake(13, 18.5, 22, 22);
- btn.tag = (indexPath.section+1) * 100000 + (indexPath.row+1);
- [relayCell addSubview:btn];
-
-
- relayCell.headImageView.frame = CGRectMake(48, relayCell.headImageView.frame.origin.y, relayCell.headImageView.frame.size.width, relayCell.headImageView.frame.size.height);
- relayCell.lbTitle.frame = CGRectMake(CGRectGetMaxX(relayCell.headImageView.frame)+14, relayCell.lbTitle.frame.origin.y, relayCell.lbTitle.frame.size.width, relayCell.lbTitle.frame.size.height);
-
- [_checkBoxs addObject:btn];
- }else {
- for (NSInteger i = 0; i < _checkBoxs.count; i ++) {
- QCheckBox *btn = _checkBoxs[i];
- [btn removeFromSuperview];
- }
- relayCell.headImageView.frame = CGRectMake(14, relayCell.headImageView.frame.origin.y, relayCell.headImageView.frame.size.width, relayCell.headImageView.frame.size.height);
- relayCell.lbTitle.frame = CGRectMake(CGRectGetMaxX(relayCell.headImageView.frame)+14, relayCell.lbTitle.frame.origin.y, relayCell.lbTitle.frame.size.width, relayCell.lbTitle.frame.size.height);
- }
-
- return relayCell;
- }
- -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- {
- if (self.type == RelayType_myGroup) {
-
- return 1;
- }else {
- return 2;
- }
- }
- -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- {
- if (self.type == RelayType_myGroup) {
- return _myGroupArray.count;
- }
-
- if (section == 0) {
-
- return 1;
- }else {
-
- switch (self.type) {
- case RelayType_msg:
- if (self.isShare) {
- return _msgArray.count + 1;
- }else {
- return _msgArray.count;
- }
- break;
- case RelayType_myFriend:
- return _myFriendArray.count;
- break;
- case RelayType_myGroup:
- return _myGroupArray.count;
- break;
- default:
- return 0;
- break;
- }
- }
- }
- -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- return 59;
- }
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
- [tableView deselectRowAtIndexPath:indexPath animated:YES];
- if (self.doneBtn.selected) {
-
- // QCheckBox *checkBox = nil;
- // for (NSInteger i = 0; i < _checkBoxs.count; i ++) {
- // QCheckBox *btn = _checkBoxs[i];
- // if (btn.tag / 10000 == indexPath.section && btn.tag % 10000 == indexPath.row) {
- // checkBox = btn;
- // break;
- // }
- // }
-
- JXCell *cell = [tableView cellForRowAtIndexPath:indexPath];
- QCheckBox *checkBox = [cell viewWithTag:(indexPath.section + 1) * 100000 + (indexPath.row + 1)];
- if (checkBox) {
- checkBox.selected = !checkBox.selected;
- [self didSelectedCheckBox:checkBox checked:checkBox.selected];
-
- return;
- }
- }
-
- [super tableView:tableView didSelectRowAtIndexPath:indexPath];
- if (indexPath.section == 0) {
- switch (self.type) {
- case RelayType_msg:{
- self.type = RelayType_myFriend;
- }
- break;
- case RelayType_myFriend:{
- self.type = RelayType_myGroup;
- }
- break;
- case RelayType_myGroup:{
- JXMsgAndUserObject *obj = _myGroupArray[indexPath.row];
-
- self.selectIndex = indexPath.row;
- [g_server getRoom:obj.user.roomId toView:self];
- }
- break;
- default:
- break;
- }
- [self.tableView reloadData];
- }else {
-
- if (self.type == RelayType_msg && self.isShare && indexPath.row == 0) {
-
- JXMessageObject *msg = self.relayMsgArray.lastObject;
- NSDictionary * msgDict = [[[SBJsonParser alloc]init]objectWithString:msg.objectId];
-
- addMsgVC* vc = [[addMsgVC alloc] init];
- //在发布信息后调用,并使其刷新
- vc.block = ^{
- // [self scrollToPageUp];
- };
- vc.shareUr = [msgDict objectForKey:@"url"];
- vc.shareTitle = [msgDict objectForKey:@"title"];
- vc.shareIcon = [msgDict objectForKey:@"imageUrl"];
- vc.dataType = weibo_dataType_share;
- vc.delegate = self;
- // vc.didSelect = @selector(hideKeyShowAlert);
- // [g_window addSubview:vc.view];
- [g_navigation pushViewController:vc animated:YES];
- vc.view.hidden = NO;
-
- [self actionQuit];
-
- return;
- }
-
-
- NSMutableArray *array = [NSMutableArray array];
- switch (self.type) {
- case RelayType_msg:
- array = _msgArray;
- break;
- case RelayType_myFriend:
- array = _myFriendArray;
- break;
- case RelayType_myGroup:
- array = _myGroupArray;
-
- break;
- default:
- break;
- }
- JXMsgAndUserObject *p;
- if (self.type == RelayType_msg && self.isShare) {
- p = [array objectAtIndex:indexPath.row - 1];
- }else {
- p =[array objectAtIndex:indexPath.row];
- }
- p.user.msgsNew = [NSNumber numberWithInt:0];
- [p.user update];
- [p.message updateNewMsgsTo0];
-
-
- if ([p.user.roomFlag boolValue]) {
-
- self.selectIndex = indexPath.row;
- [g_server getRoom:p.user.roomId toView:self];
- if ([self.relayDelegate respondsToSelector:@selector(shareSuccess)]) {
- [self.relayDelegate shareSuccess];
- }
- return;
- }
-
-
- if (self.isCourse) {
- if([p.user.roomFlag boolValue]) {
- self.selectIndex = indexPath.row;
- [g_server getRoom:p.user.roomId toView:self];
- }else {
- if ([self.relayDelegate respondsToSelector:@selector(relay:MsgAndUserObject:)]) {
- [self.relayDelegate relay:self MsgAndUserObject:p];
-
- [self actionQuit];
- }
- }
-
- return;
- }
- if ([self.relayDelegate respondsToSelector:@selector(shareSuccess)]) {
- [self.relayDelegate shareSuccess];
- }
-
- _useObjectP22=p;
- [self sendRelayMsg:p];
-
-
- }
-
-
-
- }
- - (void)shareMessage:(JXMsgAndUserObject *)p tempUrl:(int)shareType{
-
-
- JXChatViewC *sendView=[JXChatViewC alloc];
- sendView.yunGoldtigerPush=[_yunMoney intValue];
- sendView.title = p.user.userNickname;
- if([p.user.roomFlag intValue] > 0 || p.user.roomId.length > 0){
- if(g_xmpp.isLogined != 1){
- // 掉线后点击title重连
- [g_xmpp showXmppOfflineAlert];
- return;
- }
-
-
- if ([p.user.groupStatus intValue] == 1) {
- [g_server showMsg:Localized(@"JX_OutOfTheGroup1")];
- return;
- }
-
- if ([p.user.groupStatus intValue] == 2) {
- [g_server showMsg:Localized(@"JX_DissolutionGroup1")];
- return;
- }
- sendView.roomJid = p.user.userId;
- sendView.roomId = p.user.roomId;
- sendView.chatRoom = [[JXXMPP sharedInstance].roomPool joinRoom:p.user.userId title:p.user.userNickname lastDate:nil isNew:NO];
-
- if (p.user.roomFlag) {
- NSDictionary * groupDict = [p.user toDictionary];
- roomData * roomdata = [[roomData alloc] init];
- [roomdata getDataFromDict:groupDict];
- sendView.room = roomdata;
- }
- }
-
- sendView.isShare = self.isShare;
- sendView.shareSchemes = self.shareSchemes;
- sendView.chatPerson = p.user;
- sendView = [sendView init];
-
- // [g_App.window addSubview:sendView.view];
- sendView.relayMsgArray = _relayMsgArray;
- sendView.view.hidden = NO;
- [g_navigation pushViewController:sendView animated:YES];
-
- [self actionQuit];
-
- }
- - (void)sendRelayMsg:(JXMsgAndUserObject *)p {
- _useObjectP=p;
- [g_notify postNotificationName:kActionRelayQuitVC object:nil];
- if ([_yunMoney intValue]==10) { //运转金
-
- long time = (long)[[NSDate date] timeIntervalSince1970];
- time = (time *1000 + g_server.timeDifference);
- NSString *salt = [NSString stringWithFormat:@"%ld", time];
-
- NSString *membership=[[NSUserDefaults standardUserDefaults] objectForKey:@"membershipAccount_ID"];
-
- [g_server getUser:salt membershipAccount:membership toView:self];
-
-
-
- }else if ([_yunMoney intValue]==20) { //从金管家过来
-
- long time = (long)[[NSDate date] timeIntervalSince1970];
- time = (time *1000 + g_server.timeDifference);
- NSString *salt = [NSString stringWithFormat:@"%ld", time];
- [g_server vipGainCoin:salt andToView:self];
-
- }else if ([_yunMoney intValue]==30) { //从金管家过来
-
- long time = (long)[[NSDate date] timeIntervalSince1970];
- time = (time *1000 + g_server.timeDifference);
- NSString *salt = [NSString stringWithFormat:@"%ld", time];
- // [g_server getMyCoinsss:salt andToView:self];
- [g_server gainAllAward:salt andToView:self];
-
- }else if ([_yunMoney intValue]==40) { //从金管家过来
-
- [self shareMessage:p tempUrl:9100];
-
- }else {
-
-
- [self shareMessage:p tempUrl:0];
- }
-
-
- }
-
- -(void)showChatView:(NSInteger)index{
- [_wait stop];
- JXMsgAndUserObject *obj = _myGroupArray[index];
-
- if (self.isCourse) {
- self.selectIndex = index;
- [g_server getRoom:obj.user.roomId toView:self];
- return;
- }
-
- JXChatViewC *sendView=[JXChatViewC alloc];
- sendView.title = obj.user.userNickname;
- sendView.roomJid = obj.user.userId;
- sendView.roomId = obj.user.roomId;
- sendView.chatRoom = _chatRoom;
- sendView.chatPerson = obj.user;
-
- sendView = [sendView init];
- // [g_App.window addSubview:sendView.view];
- [g_navigation pushViewController:sendView animated:YES];
- sendView.relayMsgArray =_relayMsgArray;
-
- [self actionQuit];
- }
- -(void) didServerResultSucces:(JXConnection*)aDownload dict:(NSDictionary*)dict array:(NSArray*)array1{
- [_wait hide];
-
- [self stopLoading];
-
- if([aDownload.action isEqualToString:act_reliefReceiveRelief])
- {
- [_relayMsgArray removeAllObjects];
- NSMutableArray *tempArr=[NSMutableArray array];
-
- JXMessageObject *msg=[JXMessageObject new];
- msg.type = [NSNumber numberWithInt:kWCMessageTypeText];
- msg.fromUserId = MY_USER_ID;
- msg.fromUserName = g_server.myself.userNickname;
- msg.timeSend = [NSDate date];
- msg.tempChat=8100;
-
- msg.content=[NSString stringWithFormat:@"我刚刚领取了%@元转运金,赶紧去领取!===jixin%@",_yunGetMoney==nil?@"1":_yunGetMoney,@"LNNumberScrollAnimatedView"];
- [tempArr addObject:msg];
- _relayMsgArray = tempArr;
-
- _useObjectP= _useObjectP22;
- _useObjectP.message.content=[NSString stringWithFormat:@"我刚刚领取了%@元转运金,赶紧去领取!===jixin%@",_yunGetMoney,@"LNNumberScrollAnimatedView"];
-
- [self shareMessage:_useObjectP tempUrl:0];
-
- }
-
- if([aDownload.action isEqualToString:act_GainUserCoin])
- {
- // long time = (long)[[NSDate date] timeIntervalSince1970];
- // time = (time *1000 + g_server.timeDifference);
- // NSString *salt = [NSString stringWithFormat:@"%ld", time];
- // [g_server vipGainCoin:salt andToView:self];
-
- [_relayMsgArray removeAllObjects];
- NSMutableArray *tempArr=[NSMutableArray array];
-
- JXMessageObject *msg=[JXMessageObject new];
-
- msg.type = [NSNumber numberWithInt:kWCMessageTypeText];
- msg.fromUserId = MY_USER_ID;
- msg.fromUserName = g_server.myself.userNickname;
- msg.timeSend = [NSDate date];
- msg.tempChat=7100;
-
- NSString *coinStr=[NSString stringWithFormat:@"%@",dict[@"coinNum"]];
-
- msg.content=[NSString stringWithFormat:@" 我刚刚参与了“金管家”活动 领取了%@ 元彩金,好爽啊! 你还在等什么?点击查看一同 领取!===jixin%@",coinStr,@"JXGoldMangVc"];
- [tempArr addObject:msg];
- _relayMsgArray = tempArr;
-
- _useObjectP= _useObjectP22;
- _useObjectP.message.content=[NSString stringWithFormat:@" 我刚刚参与了“金管家”活动 领取了%@元彩金,好爽啊! 你还在等什么?点击查看一同 领取!===jixin%@",dict[@"coinNum"],@"JXGoldMangVc"];
-
- [self shareMessage:_useObjectP tempUrl:0];
-
- }
- if([aDownload.action isEqualToString:act_GainAllAward])
- {
-
- [_relayMsgArray removeAllObjects];
- NSMutableArray *tempArr=[NSMutableArray array];
-
- JXMessageObject *msg=[JXMessageObject new];
-
- msg.type = [NSNumber numberWithInt:kWCMessageTypeText];
- msg.fromUserId = MY_USER_ID;
- msg.fromUserName = g_server.myself.userNickname;
- msg.timeSend = [NSDate date];
- msg.tempChat=6100;
-
- NSString *coinStr=[NSString stringWithFormat:@"%@",dict[@"totalCoin"]];
-
- if ([coinStr intValue]<=0) {
- [SVProgressHUD showWithStatus:@"您的周礼金为0元 不能分享"];
- [SVProgressHUD dismissWithDelay:1.0];
-
-
- return;
- }
-
-
- msg.content=[NSString stringWithFormat:@"我刚刚完成每日任务获得了%@元 元礼金,点击立即参与!===jixin%@",coinStr,@"JXApplyViewController"];
- [tempArr addObject:msg];
- _relayMsgArray = tempArr;
-
- _useObjectP= _useObjectP22;
- _useObjectP.message.content=[NSString stringWithFormat:@"我刚刚完成每日任务获得了%@元 元礼金,点击立即参与!===jixin%@",coinStr,@"JXApplyViewController"];
-
- [self shareMessage:_useObjectP tempUrl:0];
-
- }
-
- if([aDownload.action isEqualToString:act_roomListHis] ){
-
- [_myGroupArray removeAllObjects];
- for (int i = 0; i < [array1 count]; i++) {
- NSDictionary *dict=array1[i];
-
-
- JXUserObject* user = [[JXUserObject alloc]init];
- user.userNickname = [dict objectForKey:@"name"];
- user.userId = [dict objectForKey:@"jid"];
- user.userDescription = [dict objectForKey:@"desc"];
- user.roomId = [dict objectForKey:@"id"];
-
- JXMsgAndUserObject *obj = [[JXMsgAndUserObject alloc] init];
- obj.user = user;
- [_myGroupArray addObject:obj];
-
- }
-
- }
- if( [aDownload.action isEqualToString:act_roomGet] ){
-
- JXUserObject* user = [[JXUserObject alloc]init];
- [user getDataFromDict:dict];
-
- NSDictionary * groupDict = [user toDictionary];
- roomData * roomdata = [[roomData alloc] init];
- [roomdata getDataFromDict:groupDict];
-
- [roomdata getDataFromDict:dict];
-
- memberData *data = [roomdata getMember:g_myself.userId];
- if ([user.talkTime longLongValue] > 0 && !([data.role integerValue] == 1 || [data.role integerValue] == 2)) {
-
- [g_App showAlert:Localized(@"HAS_BEEN_BANNED")];
- return;
- }
-
- if (!roomdata.allowSpeakCourse && !([data.role integerValue] == 1 || [data.role integerValue] == 2)) {
-
- [g_App showAlert:Localized(@"JX_SendLecture")];
- return;
- }
-
- if (!roomdata.allowSendCard && !([data.role integerValue] == 1 || [data.role integerValue] == 2)) {
-
- [g_App showAlert:Localized(@"JX_DisabledShowCard")];
- return;
- }
- if ([data.role integerValue] == 4) {
-
- [JXMyTools showTipView:@"不能转发到你是隐身人的群组"];
- return;
- }
-
- NSMutableArray *array = [NSMutableArray array];
- switch (self.type) {
- case RelayType_msg:
- array = _msgArray;
- break;
- case RelayType_myFriend:
- array = _myFriendArray;
- break;
- case RelayType_myGroup:
- array = _myGroupArray;
-
- break;
- default:
- break;
- }
- JXMsgAndUserObject *p=[array objectAtIndex:self.selectIndex];
-
- if (self.isCourse) {
- if ([data.role integerValue] == 1 || [data.role integerValue] == 2 || roomdata.allowSpeakCourse) {
- if ([user.talkTime longLongValue] > 0) {
-
- [g_App showAlert:Localized(@"HAS_BEEN_BANNED")];
- return;
- }
- if ([self.relayDelegate respondsToSelector:@selector(relay:MsgAndUserObject:)]) {
-
-
-
- [self.relayDelegate relay:self MsgAndUserObject:p];
-
- [self actionQuit];
- }
- return;
- }
- [g_App showAlert:Localized(@"JX_SendLecture")];
- }else {
-
-
- _useObjectP22=p;
- [self sendRelayMsg:p];
- }
-
-
- }
- }
- -(int) didServerResultFailed:(JXConnection*)aDownload dict:(NSDictionary*)dict{
-
- [_wait hide];
- return show_error;
- }
- -(int) didServerConnectError:(JXConnection*)aDownload error:(NSError *)error{//error为空时,代表超时
- [_wait hide];
- return show_error;
- }
- -(void) didServerConnectStart:(JXConnection*)aDownload{
- [_wait start];
- }
- - (void)actionQuit {
- if (self.isShare) {
- [self dismissViewControllerAnimated:YES completion:nil];
- }
- else if (self.isUrl) {
- [self.view removeFromSuperview];
- }
- else {
- [super actionQuit];
- }
- }
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- /*
- #pragma mark - Navigation
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
- // Get the new view controller using [segue destinationViewController].
- // Pass the selected object to the new view controller.
- }
- */
- @end
|