|
//
// 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()<RemoteDelegate>
@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
|