CardViewController.m 3.59 KB
Newer Older
Sandy's avatar
Sandy committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
//
//  CardViewController.m
//  Car
//
//  Created by Javen on 2016/12/28.
//  Copyright © 2016年 上海勾芒信息科技. All rights reserved.
//

#import "CardViewController.h"
#import "HttpCilent.h"
#import "CardView.h"
#import "CardModel.h"
@interface CardViewController ()
@property(weak, nonatomic) IBOutlet UITextField *textFieldCardNumber;
@property(weak, nonatomic) IBOutlet CardView *cardView;
@property(weak, nonatomic) IBOutlet UIImageView *imgNoCardBg;
@property(weak, nonatomic) IBOutlet UILabel *labelFindCard;
@property(weak, nonatomic) IBOutlet UIButton *btnConfirm;
@property (strong, nonatomic) CardModel *card;

@end

@implementation CardViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  [self configUI];
  [self noCard];
  if (self.cardNumber) {
    self.textFieldCardNumber.text = self.cardNumber;
    [self httpCardWithNumber:self.cardNumber];
  }
}

- (void)noCard {
  self.cardView.hidden = YES;
  self.labelFindCard.hidden = YES;
  self.imgNoCardBg.hidden = NO;
  self.btnConfirm.hidden = YES;
}

- (void)findCard {
  self.cardView.hidden = NO;
  self.labelFindCard.hidden = NO;
  self.imgNoCardBg.hidden = YES;
  self.btnConfirm.hidden = NO;
}

- (void)configUIWithCard {
  [self findCard];
  self.cardView.model = self.card;
  if ([self.card.state isEqualToString:@"used"]) {
53
    self.btnConfirm.enabled = NO;
Sandy's avatar
Sandy committed
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
  }

}

- (void)configUI {
  self.title = @"核销卡券";
  UIBarButtonItem *rightBtn =
      [[UIBarButtonItem alloc] initWithTitle:@"确认查询"
                                       style:UIBarButtonItemStyleDone
                                      target:self
                                      action:@selector(actionCard)];
  self.navigationItem.rightBarButtonItem = rightBtn;
}

- (void)httpCardWithNumber:(NSString *)number {
  NSString *url = kStrPrefix(number, kGetTicketUrl);
  [MBProgressHUD j_loading:@"查询中…"];
  WS(weakSelf);
  [kHttp GET:url
      parameters:nil
        complete:^(id _Nullable response, NSError *_Nullable error) {
          [MBProgressHUD j_hideLoadingView];
          if (kRsSuccess(response)) {
            weakSelf.card = [[CardModel alloc] initWithDictionary:response[@"data"] error:nil];
            [weakSelf configUIWithCard];
          } else {
            kShowRsMsg(response);
          }
        }];
}

- (void)actionCard {
  HIDE_KEYBOARD;
  kCanNotBeNil(self.textFieldCardNumber.text, @"卡券号不能为空!");
  [self httpCardWithNumber:self.textFieldCardNumber.text];
}
/*
 扫描二维码
 */
- (IBAction)actionScan:(id)sender {
  [self.navigationController popViewControllerAnimated:YES];
}

/**
 确认销券
 */
- (IBAction)actionOffset:(id)sender {
  WS(weakSelf);
  [self alertTitle:@"确认销券?" msg:nil okAction:^(UIAlertAction * _Nullable action) {
    [weakSelf httpCheckCard];
  } cancelAction:nil];
}

/**
 销券
 */
- (void)httpCheckCard {
  CheckTicketRequest *param = [[CheckTicketRequest alloc] init];
  [MBProgressHUD j_loading];
  param.checkDate = [[NSDate date] httpParameterString];
  param.checkManId = kUser.fid;
  param.checkManName = kUser.realName;
  param.ticketNumber = self.card.ticketNumber;
117
  WS(weakSelf);
Sandy's avatar
Sandy committed
118 119 120 121
  [kHttp POST:kCheckTicketUrl parameters:[param toDictionary] complete:^(id  _Nullable response, NSError * _Nullable error) {
    [MBProgressHUD j_hideLoadingView];
    if (kRsSuccess(response)) {
      [MBProgressHUD j_textOnly:@"销券成功!"];
122 123
      weakSelf.card.state = @"used";
      [weakSelf configUIWithCard];
Sandy's avatar
Sandy committed
124 125 126 127 128 129 130 131 132 133 134
    }else{
      kShowRsMsg(response);
    }
  }];
}

- (void)didReceiveMemoryWarning {
  [super didReceiveMemoryWarning];
  // Dispose of any resources that can be recreated.
}
@end