// // viewModel.m // ThePaperHD // // Created by liyuan on 15/7/16. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "messageViewModel.h" #define LETTERLISTTAG 1001 #define LETTERINFOTAG 1002 #define NEXTURLTAG 1003 #define PUSHMSGTAG 1004 #define PUSHMSGNEXTURLTAG 1005 #define REFRESHMSGTAG 1006 #define MYASKTAG 1007 #define MYFOCUSTAG 1008 #define MYANSWERTAG 1009 #define CATETAG 1010 #define MYASKNEXTURL 1011 #define MYFOCUSNEXTURL 1012 #define MYANSWERNEXTURL 1013 @interface messageViewModel() @end @implementation messageViewModel @synthesize letterDic = _letterDic; #pragma mark -- setData -(void)setLetterDic:(NSDictionary *)dict{ _letterDic = dict; if (_letterDic) { [Remote doJsonAction:LETTERINFOTAG requestUrl:letterInfoURL parameter:_letterDic delegate:self]; }else{ [Remote doJsonAction:LETTERLISTTAG requestUrl:letterListURL parameter:nil delegate:self]; } } -(void)startWaitCursor:(int)actionTag{ } -(void)stopWaitCursor:(int)actionTag{ } -(void)setNextUrl:(NSString *)url{ [Remote doJsonAction:NEXTURLTAG requestUrl:url parameter:nil delegate:self]; } -(void)setPushMsgDic:(NSDictionary *)pushMsgDic{ [Remote doJsonAction:PUSHMSGTAG requestUrl:pushMsgListURL parameter:nil delegate:self]; } -(void)setPushMsgUrl:(NSString *)url{ [Remote doJsonAction:PUSHMSGNEXTURLTAG requestUrl:url parameter:nil delegate:self]; } -(void)setMsgMark:(NSDictionary *)dic{ [Remote doJsonAction:REFRESHMSGTAG requestUrl:getMsgMarkURL parameter:dic delegate:self]; } -(void)setMyAskDic:(NSDictionary *)myAskDic{ NSDictionary *dic = @{@"ctype":@(2)}; [Remote doJsonAction:MYASKTAG requestUrl:myQaListURL parameter:dic delegate:self]; } -(void)setMyAskNextUrl:(NSString *)url{ [Remote doJsonAction:MYASKNEXTURL requestUrl:url parameter:nil delegate:self]; } -(void)setMyFocusDic:(NSDictionary *)myFocusDic{ [Remote doJsonAction:MYFOCUSTAG requestUrl:myAttentionListURL parameter:nil delegate:self]; } -(void)setMyFocusNextUrl:(NSString *)url{ [Remote doJsonAction:MYFOCUSNEXTURL requestUrl:url parameter:nil delegate:self]; } -(void)setMyAnswerDic:(NSDictionary *)myAnswerDic{ [Remote doJsonAction:MYANSWERTAG requestUrl:getReplyedMePageURL parameter:nil delegate:self]; } -(void)setMyAnswerNextUrl:(NSString *)url{ [Remote doJsonAction:MYANSWERNEXTURL requestUrl:url parameter:nil delegate:self]; } -(void)setCateDic:(NSDictionary *)cateDic{ [Remote doJsonAction:CATETAG requestUrl:getTopicCategorysURL parameter:nil delegate:self]; } -(void)remoteResponsSuccess:(int)actionTag withResponsData:(id)responsData{ if (LETTERLISTTAG == actionTag) { [self saveLetteList:responsData]; }else if (LETTERINFOTAG == actionTag){ [self saveLetteInfo:responsData]; }else if (NEXTURLTAG == actionTag){ [self saveNextUrl:responsData]; }else if (PUSHMSGTAG == actionTag){ [self savePushList:responsData]; }else if (PUSHMSGNEXTURLTAG == actionTag){ [self savePushNextUrl:responsData]; }else if (REFRESHMSGTAG == actionTag){ [self saveMsgMark:responsData]; }else if (MYFOCUSTAG == actionTag){ [self saveMyFocus:responsData]; }else if(MYASKTAG == actionTag){ [self saveMyAsk:responsData]; }else if(MYANSWERTAG == actionTag){ [self saveMyAnswer:responsData]; }else if (CATETAG == actionTag){ [self saveCate:responsData]; }else if (MYASKNEXTURL ==actionTag){ [self saveMyAskNextUrl:responsData]; }else if (MYFOCUSNEXTURL == actionTag){ [self saveFocusNextUrl:responsData]; }else if (MYANSWERNEXTURL == actionTag){ [self saveMyAnswerNextUrl:responsData]; } } -(void) remoteResponsFailed:(int)actionTag withMessage:(NSString *)message resultCode:(NSString *)code{ // ShowTextMessage(message); if ([self.delegate respondsToSelector:@selector(returnNoData)]) { [self.delegate returnNoData]; } } #pragma mark -- save data -(void) saveLetteList:(id)responsData{ NSMutableArray *letterList = [NSMutableArray array]; NSMutableArray *tempList = responsData[@"letterList"]; [tempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { letterBO *letter = setJsonDicToDataModel(obj, [letterBO class]); [letterList addObject:letter]; }]; if ([self.delegate respondsToSelector:@selector(returnletterList:nextUrl:)]) { [self.delegate returnletterList:letterList nextUrl:responsData[@"nextUrl"]]; } } -(void) saveLetteInfo:(id)responsData{ letterBO *letterBo = setJsonDicToDataModel(responsData[@"letter"], [letterBO class]); if ([self.delegate respondsToSelector:@selector(returnletterInfo:)]) { [self.delegate returnletterInfo:letterBo]; } } -(void) saveNextUrl:(id) responsData{ NSMutableArray *allTempList = responsData[@"letterList"]; NSMutableArray *allList = [NSMutableArray array]; [allTempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { letterBO *letterBo = setJsonDicToDataModel(obj, [letterBO class]); [allList addObject:letterBo]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnNextData:nextUrl:)]) { [self.delegate returnNextData:allList nextUrl:url]; } } -(void) savePushList:(id) responsData{ NSMutableArray *alltempList = responsData[@"msgList"]; NSMutableArray *allList = [NSMutableArray array]; [alltempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { letterBO *letterBo = setJsonDicToDataModel(obj, [letterBO class]); [allList addObject:letterBo]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnPushMsgList:nextUrl:)]) { [self.delegate returnPushMsgList:allList nextUrl:url]; } } -(void) savePushNextUrl:(id) responsData{ NSMutableArray *alltempList = responsData[@"msgList"]; NSMutableArray *allList = [NSMutableArray array]; [alltempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { letterBO *letterBo = setJsonDicToDataModel(obj, [letterBO class]); [allList addObject:letterBo]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnPushMsgNextUrl:nextUrl:)]) { [self.delegate returnPushMsgNextUrl:allList nextUrl:url]; } } -(void) saveMsgMark:(id) responsData{ NSMutableDictionary *dic = responsData[@"data"]; if([self.delegate respondsToSelector:@selector(returnMsgMark:)]){ [self.delegate returnMsgMark:dic]; } } -(void) saveMyAsk:(id) responsData{ NSArray *qaTempList = responsData[@"qaList"]; NSMutableArray *qaArray = [NSMutableArray array]; [qaTempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { commentObjectVO *commentBO = setJsonDicToDataModel(obj, [commentObjectVO class]); commentBO.isExpand = @"0"; NSString *newNums = obj[@"newNums"]; if (newNums) { commentBO.unNums = newNums; } [qaArray addObject:commentBO]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnMyAskList:nextUrl:)]) { [self.delegate returnMyAskList:qaArray nextUrl:url]; } } -(void) saveMyAskNextUrl:(id) responsData{ NSArray *qaTempList = responsData[@"qaList"]; NSMutableArray *qaArray = [NSMutableArray array]; [qaTempList enumerateObjectsUsingBlock:^(NSDictionary* obj, NSUInteger idx, BOOL *stop) { commentObjectVO *commentBO = setJsonDicToDataModel(obj, [commentObjectVO class]); [qaArray addObject:commentBO]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnMyAskNextUrl:nextUrl:) ]) { [self.delegate returnMyAskNextUrl:qaArray nextUrl:url]; } } -(void) saveMyFocus:(id) responsData{ NSArray *qaTempList = responsData[@"qaList"]; NSMutableArray *qaArray = [NSMutableArray array]; [qaTempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { commentObjectVO *commentBO = setJsonDicToDataModel(obj, [commentObjectVO class]); NSString *newNums = obj[@"newNums"]; if (newNums) { commentBO.unNums = newNums; } [qaArray addObject:commentBO]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnMyFocusList:nextUrl:)]) { [self.delegate returnMyFocusList:qaArray nextUrl:url]; } } -(void) saveMyAnswer:(id) responsData{ NSArray *qaTempList = responsData[@"qaList"]; NSMutableArray *qaArray = [NSMutableArray array]; [qaTempList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { commentObjectVO *commentBO = setJsonDicToDataModel(obj, [commentObjectVO class]); NSString *newNums = obj[@"newNums"]; if (newNums) { commentBO.unNums = newNums; } //回复我的页面,长回复默认全展示,不需要展开按钮(bug:4725) commentBO.isExpand = nil; [qaArray addObject:commentBO]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnmyAnswerList:nextUrl:)]) { [self.delegate returnmyAnswerList:qaArray nextUrl:url]; } } -(void) saveMyAnswerNextUrl:(id) responsData{ NSArray *qaTempList = responsData[@"qaList"]; NSMutableArray *qaArray = [NSMutableArray array]; [qaTempList enumerateObjectsUsingBlock:^(NSDictionary* obj, NSUInteger idx, BOOL *stop) { commentObjectVO *commentBO = setJsonDicToDataModel(obj, [commentObjectVO class]); [qaArray addObject:commentBO]; }]; NSString *url = responsData[@"nextUrl"]; if([self.delegate respondsToSelector:@selector(returnMyAnswerNextUrl:nextUrl:)]){ [self.delegate returnMyAnswerNextUrl:qaArray nextUrl:url]; } } -(void) saveFocusNextUrl:(id) responsData{ NSArray *qaTempList = responsData[@"qaList"]; NSMutableArray *qaArray = [NSMutableArray array]; [qaTempList enumerateObjectsUsingBlock:^(NSDictionary* obj, NSUInteger idx, BOOL *stop) { commentObjectVO *commentBO = setJsonDicToDataModel(obj, [commentObjectVO class]); [qaArray addObject:commentBO]; }]; NSString *url = responsData[@"nextUrl"]; if ([self.delegate respondsToSelector:@selector(returnMyFocusNextUrl:nextUrl:)]) { [self.delegate returnMyFocusNextUrl:qaArray nextUrl:url]; } } -(void) saveCate:(id) responsData{ NSMutableArray *cateList = [NSMutableArray array]; NSArray *tempCataList = responsData[@"dataList"]; [tempCataList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { categoryBO *cate = setJsonDicToDataModel(obj, [categoryBO class]); [cateList addObject:cate]; }]; if ([self.delegate respondsToSelector:@selector(returnCateList:)]) { [self.delegate returnCateList:cateList]; } } @end