IntegralDetailsViewController.m 8.15 KB
Newer Older
1 2 3 4 5 6 7 8 9
//
//  IntegralDetailsViewController.m
//  Lighting
//
//  Created by 曹云霄 on 2016/11/21.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "IntegralDetailsViewController.h"
10 11
#import "IntegralDetailsTableViewCell.h"
#import "prizeDetailsTableViewCell.h"
曹云霄's avatar
曹云霄 committed
12
#import "PrizeExchangeDetailsViewController.h"
13

14
@interface IntegralDetailsViewController ()<UITableViewDelegate,UITableViewDataSource,DZNEmptyDataSetSource,DZNEmptyDataSetDelegate>
15 16 17 18
/**
 数据源
 */
@property (nonatomic,strong) NSMutableArray *datasArray;
19

曹云霄's avatar
曹云霄 committed
20

21 22 23 24
@end

@implementation IntegralDetailsViewController

25

26 27
- (void)viewDidLoad {
    [super viewDidLoad];
28 29 30
    
    [self uiConfigAction];
    [self setUpRefreshAction];
31 32
}

33 34 35
#pragma mark - UI
- (void)uiConfigAction
{
曹云霄's avatar
曹云霄 committed
36
    self.integralDetailsTableView.rowHeight = (self.cellType == PrizeTableView)?90:70;
37
    self.integralDetailsTableView.tableFooterView = [UIView new];
38
    if (self.cellType == PrizeTableView) {
39
        self.integralDetailsTableView.frame = CGRectMake(0, 64, ScreenWidth, ScreenHeight-64);
曹云霄's avatar
曹云霄 committed
40 41
        self.integralDetailsTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        self.integralDetailsTableView.backgroundColor = RGB(237, 238, 239, 1);
42
    }
43 44 45 46 47 48 49 50 51
}

#pragma mark - 设置刷新
- (void)setUpRefreshAction
{
    WS(weakSelf);
    MjRefreshHeaderCustom *headerRefresh = [MjRefreshHeaderCustom headerWithRefreshingBlock:^{
        [weakSelf.integralDetailsTableView.mj_footer resetNoMoreData];
        switch (weakSelf.cellType) {
52
            case IntrgralTableView:
53
            {
54
                [weakSelf.integralDetailsTableView.mj_footer resetNoMoreData];
55 56 57
                [weakSelf queryIntegralDetails:YES];
            }
                break;
58
            case PrizeTableView:
59 60 61 62 63 64 65 66 67 68 69 70
            {
                [weakSelf queryPrizeDetails:YES];
            }
                break;
                
            default:
                break;
        }
    }];
    headerRefresh.stateLabel.hidden = YES;
    headerRefresh.lastUpdatedTimeLabel.hidden = YES;
    self.integralDetailsTableView.mj_header = headerRefresh;
曹云霄's avatar
曹云霄 committed
71
     [self.integralDetailsTableView.mj_header beginRefreshing];
72 73
    MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
        switch (weakSelf.cellType) {
74
            case IntrgralTableView:
75
            {
76
                [weakSelf.integralDetailsTableView.mj_footer endRefreshingWithNoMoreData];
77 78
            }
                break;
79
            case PrizeTableView:
80
            {
曹云霄's avatar
曹云霄 committed
81
                [weakSelf.integralDetailsTableView.mj_footer endRefreshingWithNoMoreData];
82 83 84 85 86 87 88 89 90
            }
                break;
                
            default:
                break;
        }
    }];
    footer.automaticallyHidden = YES;
    self.integralDetailsTableView.mj_footer = footer;
91
}
92 93 94 95
#pragma mark - 查询积分明细
- (void)queryIntegralDetails:(BOOL)isRemove
{
    WS(weakSelf);
96
    [XBLoadingView showHUDViewWithDefault];;
97
    NSString *url = [NSString stringWithFormat:SERVERREQUESTURL(INTEGRALQUERY),[Shoppersmanager manager].Shoppers.employee.fid];
98
    [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:url WithRequestType:ONE WithParameter:nil WithReturnValueBlock:^(id returnValue) {
99
        
100
        [XBLoadingView hideHUDViewWithDefault];
101
        [weakSelf endRefreshingForTableView:weakSelf.integralDetailsTableView];
102 103
        weakSelf.integralDetailsTableView.emptyDataSetSource = weakSelf;
        weakSelf.integralDetailsTableView.emptyDataSetDelegate = weakSelf;
104
        if ([returnValue[@"code"] isEqualToNumber:@0]) {
105 106 107
            if (isRemove) {
                [weakSelf.datasArray removeAllObjects];
            }
108 109 110 111 112 113
            RsScoreDetails *integralDatas = [[RsScoreDetails alloc]initWithDictionary:returnValue[@"data"] error:nil];
            [weakSelf.datasArray addObjectsFromArray:integralDatas.recoreds];
            if (weakSelf.returnIntegralDetailsBlock) {
                weakSelf.returnIntegralDetailsBlock(integralDatas);
            }
        }else {
114
            [XBLoadingView showHUDViewWithText:returnValue[@"message"]];
115 116 117
        }
        [weakSelf.integralDetailsTableView reloadData];
        
118
    }WithFailureBlock:^(NSError *error) {
119
        [weakSelf endRefreshingForTableView:weakSelf.integralDetailsTableView];
120
        [XBLoadingView showHUDViewWithText:error.localizedDescription];
121 122 123 124 125 126
    }];
}

#pragma mark - 查询兑奖明细
- (void)queryPrizeDetails:(BOOL)isRemove
{
127
    WS(weakSelf);
128
    [XBLoadingView showHUDViewWithDefault];;
129
    NSString *url = [NSString stringWithFormat:SERVERREQUESTURL(ALLEXCHANGERECORD),[Shoppersmanager manager].Shoppers.employee.fid];
130
    [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:url WithRequestType:ONE WithParameter:nil WithReturnValueBlock:^(id returnValue) {
131
        
132
        [XBLoadingView hideHUDViewWithDefault];
133 134 135 136
        [weakSelf endRefreshingForTableView:weakSelf.integralDetailsTableView];
        weakSelf.integralDetailsTableView.emptyDataSetSource = weakSelf;
        weakSelf.integralDetailsTableView.emptyDataSetDelegate = weakSelf;
        if ([returnValue[@"code"] isEqualToNumber:@0]) {
曹云霄's avatar
曹云霄 committed
137 138
            if (isRemove) {
                [weakSelf.datasArray removeAllObjects];
139
            }
曹云霄's avatar
曹云霄 committed
140 141
            RsPrizeBillResponse *integralDatas = [[RsPrizeBillResponse alloc]initWithDictionary:returnValue[@"data"] error:nil];
            [weakSelf.datasArray addObjectsFromArray:integralDatas.bills];
142
        }else {
143
            [XBLoadingView showHUDViewWithText:returnValue[@"message"]];
144 145 146 147 148
        }
        [weakSelf.integralDetailsTableView reloadData];
        
    } WithFailureBlock:^(NSError *error) {
        [weakSelf endRefreshingForTableView:weakSelf.integralDetailsTableView];
149
        [XBLoadingView showHUDViewWithText:error.localizedDescription];
150
    }];
151 152 153 154 155
}

#pragma mark - <UITableViewDataSource,UITableViewDelegate>
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
156 157 158 159 160 161 162 163 164 165 166 167
    switch (self.cellType) {
        case IntrgralTableView:
        {
            IntegralDetailsTableViewCell *integralCell = [tableView dequeueReusableCellWithIdentifier:@"IntegralDetailsTableViewCell" forIndexPath:indexPath];
            integralCell.integralEntity = self.datasArray[indexPath.row];
            integralCell.selectionStyle = UITableViewCellSelectionStyleNone;
            return integralCell;
        }
            break;
        case PrizeTableView:
        {
            prizeDetailsTableViewCell *prizeCell = [tableView dequeueReusableCellWithIdentifier:@"prizeDetailsTableViewCell" forIndexPath:indexPath];
曹云霄's avatar
曹云霄 committed
168 169
            prizeCell.prizeListModel = self.datasArray[indexPath.row];
            prizeCell.backgroundColor = [UIColor clearColor];
170 171 172 173 174 175 176 177
            return prizeCell;
        }
            break;
            
        default:
            break;
    }
    return nil;
178 179 180 181 182 183 184 185 186
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.datasArray.count;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
曹云霄's avatar
曹云霄 committed
187 188 189 190
    switch (self.cellType) {
        case PrizeTableView:
        {
            PrizeExchangeDetailsViewController *exchangeDetails = [[[self class] getGuideIntegralStoryboardClass] instantiateViewControllerWithIdentifier:@"PrizeExchangeDetailsViewController"];
191 192
            RsPrizeBill *bill = self.datasArray[indexPath.row];
            exchangeDetails.isDelivery = ![bill.bill.state isEqualToString:TOPRIZEBILLENTITYSTATE_REQUESTED];
193
            exchangeDetails.prizeBillNumber = bill.bill.billnumber;
曹云霄's avatar
曹云霄 committed
194 195 196 197 198 199 200
            [self.navigationController pushViewController:exchangeDetails animated:YES];
        }
            break;
            
        default:
            break;
    }
201 202
}

203 204 205 206 207 208 209 210 211 212
#pragma mark -友好界面
- (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView
{
    return kNoDataImage;
}

- (BOOL)emptyDataSetShouldAllowScroll:(UIScrollView *)scrollView
{
    return YES;
}
213

214 215 216 217
- (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView
{
    return [[NSAttributedString alloc]initWithString:@"暂无数据~" attributes:nil];
}
218 219


220 221 222 223 224 225 226
#pragma mark - lazy
- (NSMutableArray *)datasArray
{
    if (!_datasArray) {
        _datasArray = [NSMutableArray array];
    }
    return _datasArray;
227 228 229
}

@end