RebateViewController.m 12.7 KB
Newer Older
曹云霄's avatar
曹云霄 committed
1 2 3 4 5 6 7 8 9
//
//  RebateViewController.m
//  Lighting
//
//  Created by 曹云霄 on 16/8/26.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "RebateViewController.h"
曹云霄's avatar
曹云霄 committed
10 11
#import "RebateDetailsViewController.h"
#import "WithdrawalTableViewController.h"
12 13
#import "CardViewController.h"
#import "CardDetailsViewController.h"
14 15
#import "LuckyDrawViewController.h"
#import "LuckyDrawDetailsViewController.h"
16 17
#import "PaymentWithdrawalMainViewController.h"
#import "BindingBankCARDViewController.h"
曹云霄's avatar
曹云霄 committed
18 19 20 21 22 23 24 25 26

@interface RebateViewController ()

/**
 *  头像
 */
@property (weak, nonatomic) IBOutlet UIImageView *headerImageView;

/**
27
 *  总资产
曹云霄's avatar
曹云霄 committed
28 29
 */
@property (weak, nonatomic) IBOutlet UILabel *currentAmountLabel;
30 31 32 33 34
/*******************************/
/**
 *  产品返利
 */
@property (weak, nonatomic) IBOutlet UILabel *productRebateAmountLabel;
曹云霄's avatar
曹云霄 committed
35 36 37 38

/**
 *  昨日收益
 */
39
@property (weak, nonatomic) IBOutlet UILabel *productRebateYesterdayAmountLabel;
曹云霄's avatar
曹云霄 committed
40 41 42 43

/**
 *  历史收益
 */
44
@property (weak, nonatomic) IBOutlet UILabel *productRebateHistoryAmountLabel;
曹云霄's avatar
曹云霄 committed
45

曹云霄's avatar
曹云霄 committed
46 47 48
/**
 *  冻结金额
 */
49
@property (weak, nonatomic) IBOutlet UILabel *productRebateFreezeAmountLabel;
曹云霄's avatar
曹云霄 committed
50

曹云霄's avatar
曹云霄 committed
51
/**
52
 提现
曹云霄's avatar
曹云霄 committed
53
 */
54
@property (weak, nonatomic) IBOutlet UIButton *productRebateButton;
曹云霄's avatar
曹云霄 committed
55

56
/*******************************/
曹云霄's avatar
曹云霄 committed
57
/**
58
 *  欧普奖励
曹云霄's avatar
曹云霄 committed
59
 */
60
@property (weak, nonatomic) IBOutlet UILabel *oppleRewardAmountLabel;
曹云霄's avatar
曹云霄 committed
61 62

/**
63
 *  昨日收益
曹云霄's avatar
曹云霄 committed
64
 */
65
@property (weak, nonatomic) IBOutlet UILabel *oppleRewardYesterdayAmountLabel;
曹云霄's avatar
曹云霄 committed
66 67

/**
68
 *  历史收益
曹云霄's avatar
曹云霄 committed
69
 */
70
@property (weak, nonatomic) IBOutlet UILabel *oppleRewardHistoryAmountLabel;
曹云霄's avatar
曹云霄 committed
71 72

/**
73
 *  冻结金额
曹云霄's avatar
曹云霄 committed
74
 */
75
@property (weak, nonatomic) IBOutlet UILabel *oppleRewardFreezeAmountLabel;
曹云霄's avatar
曹云霄 committed
76 77

/**
78
 提现
曹云霄's avatar
曹云霄 committed
79
 */
80 81 82
@property (weak, nonatomic) IBOutlet UIButton *oppleRewardButton;

/*******************************/
曹云霄's avatar
曹云霄 committed
83

84 85 86 87 88
/**
 *  我的卡劵包
 */
@property (weak, nonatomic) IBOutlet UIView *cardBackgroundView;

89 90 91 92 93 94
/**
 *  我的抽奖
 */
@property (weak, nonatomic) IBOutlet UIView *drawBackgroundView;

/**
95
 返利数据
96
 */
97 98
@property (nonatomic,strong) EarningsResponse *resultEntity;

99

100
@end
101

102 103 104 105
//欧普奖励
NSString *const commission = @"commission";
//红包
NSString *const redPackage = @"redPackage";
曹云霄's avatar
曹云霄 committed
106 107 108 109


@implementation RebateViewController

曹云霄's avatar
曹云霄 committed
110
- (void)viewDidAppear:(BOOL)animated
111
{
曹云霄's avatar
曹云霄 committed
112
    [super viewDidAppear:animated];
113
    [[NSNotificationCenter defaultCenter] postNotificationName:PROMPTDRAWINFORMATION object:@(0)];
114 115 116
    [self getRebateDatasFromUser];
}

曹云霄's avatar
曹云霄 committed
117 118 119 120 121 122 123 124 125 126 127 128 129
- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self setupChildViewController];
    [self uiConfigAction];
}

#pragma mark - UI
- (void)uiConfigAction
{
    [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:[Shoppersmanager manager].Shoppers.employee.picture] placeholderImage:ReplaceImage];
}

130
#pragma mark - 添加卡劵、抽奖控制器
曹云霄's avatar
曹云霄 committed
131 132
- (void)setupChildViewController
{
133
    // 我的卡劵
曹云霄's avatar
曹云霄 committed
134
    CardViewController *cardVc = [[[self class] getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"CardViewController"];
135 136
    [self addChildViewController:cardVc];
    [self.cardBackgroundView addSubview:cardVc.view];
137 138 139
    
    // 我的抽奖
    LuckyDrawDetailsViewController *draw = [[[self class] getMainStoryboardClass]instantiateViewControllerWithIdentifier:@"LuckyDrawDetailsViewController"];
140
    [self addChildViewController:draw];
141
    draw.drawValue = ZERO;
142 143 144
    [self.drawBackgroundView addSubview:draw.view];
}

145
#pragma mark - 布局
146 147
- (void)viewDidLayoutSubviews
{
148 149
    CardViewController *cardVc = self.childViewControllers[0];
    cardVc.view.frame = CGRectMake(10, 40, (self.cardBackgroundView.mj_w-20), self.cardBackgroundView.mj_h-50);
150

151 152
    LuckyDrawDetailsViewController *draw = self.childViewControllers[1];
    draw.view.frame = CGRectMake(10, 40, (self.drawBackgroundView.mj_w-20), self.drawBackgroundView.mj_h-50);
曹云霄's avatar
曹云霄 committed
153 154 155
}


曹云霄's avatar
曹云霄 committed
156 157 158 159
#pragma mark - 查询返利信息
- (void)getRebateDatasFromUser
{
    WS(weakSelf);
曹云霄's avatar
曹云霄 committed
160
    [XBLoadingView showHUDViewWithDefault];
161 162
    NSString *url = [NSString stringWithFormat:@"%@/%@",REBATE,[Shoppersmanager manager].Shoppers.employee.fid];
    [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:SERVERREQUESTURL(url) WithRequestType:ONE WithParameter:nil WithReturnValueBlock:^(id returnValue) {
曹云霄's avatar
曹云霄 committed
163
        
曹云霄's avatar
曹云霄 committed
164
        [XBLoadingView hideHUDViewWithDefault];
曹云霄's avatar
曹云霄 committed
165
        if ([returnValue[@"code"] isEqualToNumber:@0]) {
166 167
            weakSelf.resultEntity = [[EarningsResponse alloc]initWithDictionary:returnValue[@"data"] error:nil];
            [weakSelf setUpRichTextString:weakSelf.resultEntity];
曹云霄's avatar
曹云霄 committed
168 169
        }else
        {
曹云霄's avatar
曹云霄 committed
170
            [XBLoadingView showHUDViewWithText:returnValue[@"message"]];
曹云霄's avatar
曹云霄 committed
171 172
        }
        
173
    } WithFailureBlock:^(NSError *error) {
曹云霄's avatar
曹云霄 committed
174
        [XBLoadingView showHUDViewWithText:error.localizedDescription];
曹云霄's avatar
曹云霄 committed
175 176 177
    }];
}

178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
#pragma mark - 设置富文本字符串<赋值>
- (void)setUpRichTextString:(EarningsResponse *)response
{
    //总资产
    NSMutableAttributedString *totalAssets = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%2f",[response.accountTotal floatValue]+[response.redPackageAccountTotal floatValue]]];
    [totalAssets addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(totalAssets.length-3, 3)];
    self.currentAmountLabel.attributedText = totalAssets;
    //产品返利
    NSMutableAttributedString *productRebate = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%.2f",[response.accountTotal floatValue]]];
    [productRebate addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(productRebate.length-3, 3)];
    self.productRebateAmountLabel.attributedText = productRebate;
    //欧普奖励
    NSMutableAttributedString *oppleReward = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%.2f",[response.redPackageAccountTotal floatValue]]];
    [oppleReward addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(oppleReward.length-3, 3)];
    self.oppleRewardAmountLabel.attributedText = oppleReward;
    self.currentAmountLabel.text = [NSString stringWithFormat:@"%.2f",[response.redPackageAccountTotal floatValue] + [response.accountTotal floatValue]];
    self.productRebateAmountLabel.text = [NSString stringWithFormat:@"%.2f",[response.accountTotal floatValue]];
195
     self.productRebateYesterdayAmountLabel.text = [NSString stringWithFormat:@"昨日收益:%.2f",[response.yesterdayEarnings floatValue]];
196
     self.productRebateHistoryAmountLabel.text = [NSString stringWithFormat:@"历史收益:%.2f",[response.historyEarning floatValue]];
197
    self.productRebateFreezeAmountLabel.text = [NSString stringWithFormat:@"冻结金额:%.2f",[response.applytotal floatValue]];
198 199 200 201 202 203
    self.oppleRewardYesterdayAmountLabel.text = [NSString stringWithFormat:@"昨日收益:%.2f",[response.redPackageYesterdayEarnings floatValue]];
    self.oppleRewardHistoryAmountLabel.text = [NSString stringWithFormat:@"历史收益:%.2f",[response.redPackageHistoryEarning floatValue]];
    self.oppleRewardFreezeAmountLabel.text = [NSString stringWithFormat:@"冻结金额:%.2f",[response.redPackageApplytotal floatValue]];
    self.oppleRewardAmountLabel.text = [NSString stringWithFormat:@"%.2f",[response.redPackageAccountTotal floatValue]];
}

曹云霄's avatar
曹云霄 committed
204

205
#pragma mark - 提现<tag == 100 产品返利><tag == 101 欧普奖励>
曹云霄's avatar
曹云霄 committed
206
- (IBAction)withdrawalButtonClickAction:(UIButton *)sender {
207 208 209 210

    if (!self.resultEntity.bankCards.count) {
        [self showUnboundedAlertView];
    }
211 212 213 214
//    if (!self.resultEntity.isUsable) {
//        [self promptCustomerTitle:@"我知道了" withMessage:@"只能在周二和周五发起提现申请!" finish:nil];
//        return;
//    }
曹云霄's avatar
曹云霄 committed
215
    WS(weakSelf);
曹云霄's avatar
曹云霄 committed
216
    RebateDetailsViewController *rebateDetails = [[[self class] getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"RebateDetailsViewController"];
217 218
    rebateDetails.rebateAmount = (sender.tag == 100)?[self.resultEntity.accountTotal floatValue]:[self.resultEntity.redPackageAccountTotal floatValue];
    rebateDetails.billType = (sender.tag == 100)?commission:redPackage;
219
    rebateDetails.bankCardNumber = [[self.resultEntity.bankCards firstObject] bankAccount];
曹云霄's avatar
曹云霄 committed
220
    [rebateDetails setShowApplyDetails:^(TOApplyBillEntity *entity) {
221
        WithdrawalTableViewController *detailVC = [[[self class] getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"WithdrawalTableViewController"];
曹云霄's avatar
曹云霄 committed
222
        detailVC.model = entity;
曹云霄's avatar
曹云霄 committed
223 224 225 226 227
        [weakSelf.navigationController pushViewController:detailVC animated:YES];
    }];
    [self.navigationController pushViewController:rebateDetails animated:YES];
}

228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279
#pragma mark - 收支明细
- (IBAction)paymentDetailsClickAction:(UIButton *)sender {
    
    PaymentWithdrawalMainViewController *controller = [[[self class] getMainStoryboardClass]instantiateViewControllerWithIdentifier:@"PaymentWithdrawalMainViewController"];
    [self.navigationController pushViewController:controller animated:YES];
}

#pragma mark - 提现账户
- (IBAction)withdrawalAccountClickAction:(UIButton *)sender {
    
    if (self.resultEntity.bankCards.count) {
        [self haveBindingBankCARDS];
    }else {
        [self showUnboundedAlertView];
    }
}

#pragma mark - 未绑定银行卡
- (void)showUnboundedAlertView
{
    UIAlertController *alertView = [UIAlertController alertControllerWithTitle:nil message:@"您还没有绑定提现账户" preferredStyle:UIAlertControllerStyleAlert];
    [alertView addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];
    [alertView addAction:[UIAlertAction actionWithTitle:@"去绑定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        BindingBankCARDViewController *bindingVC = [[[self class] getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"BindingBankCARDViewController"];
        [self.navigationController pushViewController:bindingVC animated:YES];
    }]];
    [self presentViewController:alertView animated:YES completion:nil];
}

#pragma mark - 已绑定银行卡
- (void)haveBindingBankCARDS
{
    TOBankCardEntity *entity = self.resultEntity.bankCards[0];
    NSString *bankCard = [NSString stringWithFormat:@"您已绑定提现账户\n%@(**** %@)",entity.bankCardType,[entity.bankAccount substringWithRange:NSMakeRange(entity.bankAccount.length-4, 4)]];
    UIAlertController *alertView = [UIAlertController alertControllerWithTitle:nil message:bankCard preferredStyle:UIAlertControllerStyleAlert];
    [alertView addAction:[UIAlertAction actionWithTitle:@"解除绑定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        [self removeBindingBankCARDS];
    }]];
    [alertView addAction:[UIAlertAction actionWithTitle:@"重新绑定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        BindingBankCARDViewController *bindingVC = [[[self class] getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"BindingBankCARDViewController"];
        [self.navigationController pushViewController:bindingVC animated:YES];
    }]];
    [alertView addAction:[UIAlertAction actionWithTitle:@"返回" style:UIAlertActionStyleCancel handler:nil]];
    [self presentViewController:alertView animated:YES completion:nil];
}

#pragma mark - 解除绑定银行卡
- (void)removeBindingBankCARDS
{
    [XBLoadingView showHUDViewWithDefault];
    WS(weakSelf);
     TOBankCardEntity *entity = self.resultEntity.bankCards[0];
280
    [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:[NSString stringWithFormat:SERVERREQUESTURL(UNBINDING),entity.bankAccount] WithRequestType:ONE WithParameter:nil WithReturnValueBlock:^(id returnValue) {
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297
        
        [XBLoadingView hideHUDViewWithDefault];
        if ([returnValue[@"code"] isEqualToNumber:@0]) {
            [XBLoadingView showHUDViewWithSuccessText:@"解除绑定成功" completeBlock:^{
                [weakSelf getRebateDatasFromUser];
            }];
        }else {
            [XBLoadingView showHUDViewWithText:returnValue[@"message"]];
        }
        
    } WithFailureBlock:^(NSError *error) {
        [XBLoadingView hideHUDViewWithDefault];
        [XBLoadingView showHUDViewWithText:error.localizedDescription];
    }];
}


298 299 300
#pragma mark - 更多卡劵
- (IBAction)moreCardButtonClickAction:(UIButton *)sender {
    
301
    CardDetailsViewController *cardDetails = [[[self class] getMainStoryboardClass]instantiateViewControllerWithIdentifier:@"CardDetailsViewController"];
302 303
    [self.navigationController pushViewController:cardDetails animated:YES];
}
曹云霄's avatar
曹云霄 committed
304

305 306 307
#pragma mark - 更多抽奖信息
- (IBAction)moreDrawButtonClickAction:(UIButton *)sender {
    
308
    LuckyDrawViewController *luckDrawDetails = [[[self class]  getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"LuckyDrawViewController"];
309 310 311
    [self.navigationController pushViewController:luckDrawDetails animated:YES];
}

曹云霄's avatar
曹云霄 committed
312 313


曹云霄's avatar
曹云霄 committed
314
@end