// // LuckyDrawDetailsViewController.m // Lighting // // Created by 曹云霄 on 2016/11/6. // Copyright © 2016年 上海勾芒科技有限公司. All rights reserved. // #import "LuckyDrawDetailsViewController.h" #import "NotDrawTableViewCell.h" #import "CustomWKWebViewController.h" #import "UsedDrawTableViewCell.h" #import "PromotionLuckDrawResultModel.h" @interface LuckyDrawDetailsViewController () @property (nonatomic,strong) RsLotteryRequest *drawModel; /** * 数据源 */ @property (nonatomic,strong) NSMutableArray *datasArray; @end @implementation LuckyDrawDetailsViewController #pragma mark - lazy - (RsLotteryRequest *)drawModel { if (!_drawModel) { _drawModel = [[RsLotteryRequest alloc]init]; _drawModel.winnerIdEquals = [Shoppersmanager manager].shoppers.employee.fid; DataPage *page = [[DataPage alloc]init]; page.rows = KROWS; page.page = ONE; page.order = SORTDIRECTION_DESC; _drawModel.page = page; switch (self.drawValue) { case ALLDRAW: { _drawModel.stateEquals = nil; } break; case NOTDRAW: { _drawModel.stateEquals = INITIAL; } break; case USEDDRAW: { _drawModel.stateEquals = ACCOMPLISHED; } break; default: break; } } return _drawModel; } - (NSMutableArray *)datasArray { if (!_datasArray) { _datasArray = [NSMutableArray array]; } return _datasArray; } #pragma mark -加载数据 - (void)loadWebDataSource { WS(weakSelf); if (self.pullPageIndex == ONE) { [self.datasArray removeAllObjects]; } self.drawModel.page.page = self.pullPageIndex; [self getDrawDatasCompleted:^(RsLotteryResponse *result) { if (weakSelf.pullPageIndex >= result.totalpages) { [weakSelf endRefresh:EndRefreshNotData]; }else { [weakSelf endRefresh:EndRefreshDefault]; } }]; } #pragma mark - 抽奖数据 - (void)getDrawDatasCompleted:(void(^)(RsLotteryResponse *result))completed { WS(weakSelf); [HTTP networkRequestWithURL:SERVERREQUESTURL(LOTTERYED) withRequestType:ZERO withParameter:self.drawModel withReturnValueBlock:^(id returnValue) { if (RESULT(returnValue)) { RsLotteryResponse *drawRecord = [[RsLotteryResponse alloc]initWithDictionary:RESPONSE(returnValue) error:nil]; completed(drawRecord); [weakSelf.datasArray addObjectsFromArray:drawRecord.list]; [weakSelf.tableView reloadData]; }else { [XBLoadingView showHUDViewWithText:MESSAGE(returnValue)]; } } withFailureBlock:^(NSError *error) { [weakSelf endRefresh:EndRefreshDefault]; [XBLoadingView showHUDViewWithText:error.localizedDescription]; }]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { RsAwardDraw *drawEntity = self.datasArray[indexPath.row]; if ([drawEntity.draw.state isEqualToString:@"initial"]) { NotDrawTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NotDrawTableViewCell" forIndexPath:indexPath]; cell.orderNumberLabel.text = drawEntity.draw.orderNumber; cell.drawButton.tag = indexPath.row; [cell.drawButton addTarget:self action:@selector(drawButtonClickAction:) forControlEvents:UIControlEventTouchUpInside]; return cell; } UsedDrawTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UsedDrawTableViewCell" forIndexPath:indexPath]; cell.orderNumber.text = drawEntity.draw.orderNumber; cell.drawTimeLabel.text = drawEntity.draw.drawDate; cell.trophyLabel.text = drawEntity.draw.awardDescription; return cell; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.datasArray.count; } #pragma mark - 去抽奖 - (void)drawButtonClickAction:(UIButton *)sender { RsAwardDraw *drawEntity = self.datasArray[sender.tag]; [self showLuckyDrawControl:drawEntity.draw.lotteryId andOrderNumber:drawEntity.draw.orderNumber andDrawid:drawEntity.draw.fid luckyDrawFinish:^(NSDictionary *dict) { if ([dict isKindOfClass:[NSDictionary class]]) { if ([BaseViewController isBlankString:dict[@"awardId"]]) { [XBLoadingView showHUDViewWithText:@"未中奖"]; }else { [XBLoadingView showHUDViewWithText:[NSString stringWithFormat:@"恭喜你获得了 %@",dict[@"description"]]]; } } }]; } #pragma mark - 抽奖界面 - (void)showLuckyDrawControl:(NSString *)lotteryId andOrderNumber:(NSString *)orderNumber andDrawid:(NSString *)drawid luckyDrawFinish:(void(^)(NSDictionary *dict))complete { CustomWKWebViewController *wkWebView = [[CustomWKWebViewController alloc]init]; NSString *server = [NSString stringWithFormat:SERVERREQUESTURL(DRAW),lotteryId,drawid,orderNumber]; NSString *newServer = [server stringByReplacingOccurrencesOfString:@"/app" withString:@""]; wkWebView.urlString = newServer; [wkWebView setLuckyDrawFinishBlock:^(NSDictionary *result) { complete(result); }]; [wkWebView setDismissLuckyDrawController:^{ }]; [self presentViewController:wkWebView animated:YES completion:nil]; } @end