From 9bb42176be4737ca9bb8fcfca736a8685f6ffccf Mon Sep 17 00:00:00 2001 From: fengshuo <963787902@qq.com> Date: Sun, 30 Oct 2022 23:13:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E9=87=91=E5=B8=81?= =?UTF-8?q?=E5=BC=80=E9=80=9A=E8=B4=B5=E6=97=8F=E6=98=BE=E7=A4=BA=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Model/EnterPrieseRechargeTypeItemModel.h | 2 + .../XPEnterpriseChargeTypeTableViewCell.m | 24 +++++++ .../View/Noble/Model/NobleRechargeModel.h | 2 + .../SubViews/XPNobleRechargeTableViewCell.h | 2 + .../SubViews/XPNobleRechargeTableViewCell.m | 2 +- .../Noble/View/SubViews/XPNobleRechargeView.h | 2 + .../Noble/View/SubViews/XPNobleRechargeView.m | 71 +++++++++++++++++-- .../Noble/View/XPNobleCenterViewController.m | 1 + 8 files changed, 99 insertions(+), 7 deletions(-) diff --git a/xplan-ios/Main/Mine/View/EnterpriseRecharge/Model/EnterPrieseRechargeTypeItemModel.h b/xplan-ios/Main/Mine/View/EnterpriseRecharge/Model/EnterPrieseRechargeTypeItemModel.h index 29448263..fbb41eae 100644 --- a/xplan-ios/Main/Mine/View/EnterpriseRecharge/Model/EnterPrieseRechargeTypeItemModel.h +++ b/xplan-ios/Main/Mine/View/EnterpriseRecharge/Model/EnterPrieseRechargeTypeItemModel.h @@ -25,6 +25,8 @@ typedef NS_ENUM(NSInteger, RechargeType) { @property (nonatomic,assign) BOOL isSelect; ///是否是最后一个 @property (nonatomic,assign) BOOL isLastOne; +///副标题 +@property (nonatomic,copy) NSString *subTitle; @end NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Mine/View/EnterpriseRecharge/View/Cell/XPEnterpriseChargeTypeTableViewCell.m b/xplan-ios/Main/Mine/View/EnterpriseRecharge/View/Cell/XPEnterpriseChargeTypeTableViewCell.m index adf3b2eb..0650cebd 100644 --- a/xplan-ios/Main/Mine/View/EnterpriseRecharge/View/Cell/XPEnterpriseChargeTypeTableViewCell.m +++ b/xplan-ios/Main/Mine/View/EnterpriseRecharge/View/Cell/XPEnterpriseChargeTypeTableViewCell.m @@ -18,6 +18,8 @@ @property (nonatomic,strong) UIImageView *logoImageView; ///显示支付名 @property (nonatomic,strong) UILabel *titleLabel; +///钻石余额 +@property (nonatomic,strong) UILabel *subtitleLabel; ///选中的支付 @property (nonatomic,strong) UIButton *chooseButton; ///分割线 @@ -40,6 +42,7 @@ self.selectionStyle = UITableViewCellSelectionStyleNone; [self.contentView addSubview:self.logoImageView]; [self.contentView addSubview:self.titleLabel]; + [self.contentView addSubview:self.subtitleLabel]; [self.contentView addSubview:self.chooseButton]; [self.contentView addSubview:self.lineView]; } @@ -56,6 +59,11 @@ make.centerY.mas_equalTo(self.logoImageView); make.left.mas_equalTo(self.logoImageView.mas_right).offset(10); }]; + + [self.subtitleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.titleLabel.mas_right).offset(10); + make.bottom.equalTo(self.titleLabel); + }]; [self.chooseButton mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(18, 18)); @@ -78,6 +86,12 @@ _titleLabel.text = _rechargeTypeModel.title; _chooseButton.selected = _rechargeTypeModel.isSelect; self.lineView.hidden = _rechargeTypeModel.isLastOne; + if (_rechargeTypeModel.subTitle.length > 0) { + self.subtitleLabel.text = _rechargeTypeModel.subTitle; + self.subtitleLabel.hidden = NO; + } else { + self.subtitleLabel.hidden = YES; + } } } @@ -98,6 +112,16 @@ return _titleLabel; } +- (UILabel *)subtitleLabel { + if (!_subtitleLabel) { + _subtitleLabel = [[UILabel alloc] init]; + _subtitleLabel.font = [UIFont systemFontOfSize:10]; + _subtitleLabel.textColor = [ThemeColor secondTextColor]; + _subtitleLabel.hidden = YES; + } + return _subtitleLabel; +} + - (UIButton *)chooseButton { if (!_chooseButton) { _chooseButton = [UIButton buttonWithType:UIButtonTypeCustom]; diff --git a/xplan-ios/Main/Mine/View/Noble/Model/NobleRechargeModel.h b/xplan-ios/Main/Mine/View/Noble/Model/NobleRechargeModel.h index 3e149668..85ad321d 100644 --- a/xplan-ios/Main/Mine/View/Noble/Model/NobleRechargeModel.h +++ b/xplan-ios/Main/Mine/View/Noble/Model/NobleRechargeModel.h @@ -23,6 +23,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,assign) CGFloat money; ///原价 @property (nonatomic,assign) CGFloat oriPrice; +///换算率 +@property (nonatomic,assign) NSInteger rate; @end diff --git a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.h b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.h index b4fe3433..1661883c 100644 --- a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.h +++ b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.h @@ -18,6 +18,8 @@ NS_ASSUME_NONNULL_BEGIN @interface XPNobleRechargeTableViewCell : UITableViewCell +///钻石数 +@property (nonatomic,assign) CGFloat diamondNum; ///默认的充值类型 @property (nonatomic,assign) RechargeDefaultPayType type; ///当前选中的支付类型 diff --git a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.m b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.m index d41ff94f..a934a6a1 100644 --- a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.m +++ b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeTableViewCell.m @@ -205,6 +205,7 @@ if (_type == RechargeDefaultPayType_Coin) { self.currentItem = self.coinPayItem; } + self.coinPayItem.subTitle = [NSString stringWithFormat:@"(%.2f钻石)", _diamondNum > 0 ? _diamondNum : 0]; [self.tableView reloadData]; } @@ -238,7 +239,6 @@ EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init]; zfbItem.imageName = @"mine_recharge_alipay"; zfbItem.title = @"支付宝"; - zfbItem.isSelect = YES; zfbItem.type = RechargeType_ZFB; _aliPayItem = zfbItem; } diff --git a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.h b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.h index d5d28f48..8a4ea4c3 100644 --- a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.h +++ b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.h @@ -16,6 +16,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,copy) NSString *chargeMoney; ///房主的uid @property (nonatomic,copy) NSString *roomUid; +///利率 +@property (nonatomic,assign) NSInteger rate; @end NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.m b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.m index 70ff678b..c2612487 100644 --- a/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.m +++ b/xplan-ios/Main/Mine/View/Noble/View/SubViews/XPNobleRechargeView.m @@ -34,6 +34,10 @@ @interface XPNobleRechargeView () /// @property (nonatomic,strong) UILabel *titleLabel; +///支付容器 +@property (nonatomic,strong) UIStackView *moneyStackView; +///钻石 +@property (nonatomic,strong) UIImageView *diamondImageView; ///显示金额 @property (nonatomic,strong) UILabel *moneyLabel; ///列表 @@ -46,6 +50,8 @@ @property (nonatomic,assign) RechargeDefaultPayType payType; ///当前选中的支付渠道 @property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem; +///钱包信息 +@property (nonatomic,strong) WalletInfoModel *walletInfo; @end @implementation XPNobleRechargeView @@ -69,18 +75,18 @@ } else { self.payType = RechargeDefaultPayType_ZFB; } - [self.tableView reloadData]; NSString * uid = [AccountInfoStorage instance].getUid; NSString * ticket = [AccountInfoStorage instance].getTicket; [Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { if (code == 200) { WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data]; - if (model.diamonds.integerValue > self.chargeMoney.integerValue) { + self.walletInfo = model; + if (model.diamonds.integerValue >= (self.chargeMoney.integerValue * 10)) { self.payType = RechargeDefaultPayType_Coin; } - [self.tableView reloadData]; } + [self.tableView reloadData]; } uid:uid ticket:ticket]; } channelType:@"1"]; @@ -90,9 +96,12 @@ - (void)initSubViews { self.backgroundColor = [ThemeColor appCellBackgroundColor]; [self addSubview:self.titleLabel]; - [self addSubview:self.moneyLabel]; + [self addSubview:self.moneyStackView]; [self addSubview:self.tableView]; [self addSubview:self.payButton]; + + [self.moneyStackView addArrangedSubview:self.diamondImageView]; + [self.moneyStackView addArrangedSubview:self.moneyLabel]; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, 416 + kSafeAreaBottomHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(12, 12)]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.path = path.CGPath; @@ -109,10 +118,17 @@ make.centerX.mas_equalTo(self.mas_centerX); make.top.mas_equalTo(87); }]; - [self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) { + [self.moneyStackView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.mas_centerX); make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(20); + make.height.mas_equalTo(30); }]; + + [self.diamondImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(20); + make.height.mas_equalTo(20); + }]; + [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(10); make.left.right.mas_equalTo(self); @@ -137,13 +153,24 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { XPNobleRechargeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNobleRechargeTableViewCell class])]; cell.delegate = self; - cell.type = self.payType; + cell.diamondNum = self.walletInfo.diamonds.floatValue; + if (self.payType > 0) { + cell.type = self.payType; + } + return cell; } #pragma mark - XPNobleRechargeTableViewCell - (void)xPNobleRechargeTableViewCell:(XPNobleRechargeTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo { self.currentItem = itemInfo; + if (self.currentItem.type == RechargeType_Coin) { + self.diamondImageView.hidden = NO; + self.moneyLabel.text = [NSString stringWithFormat:@"%.0f", _chargeMoney.floatValue * _rate]; + } else { + self.diamondImageView.hidden = YES; + self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney]; + } } #pragma mark - Event Response @@ -230,6 +257,17 @@ } } +- (void)setPayType:(RechargeDefaultPayType)payType { + _payType = payType; + if (_payType == RechargeDefaultPayType_Coin) { + self.diamondImageView.hidden = NO; + self.moneyLabel.text = [NSString stringWithFormat:@"%.0f", _chargeMoney.floatValue * 10]; + } else { + self.diamondImageView.hidden = YES; + self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney]; + } +} + - (UILabel *)titleLabel { if (!_titleLabel) { _titleLabel = [[UILabel alloc] init]; @@ -241,6 +279,27 @@ return _titleLabel; } +- (UIStackView *)moneyStackView { + if (!_moneyStackView) { + _moneyStackView = [[UIStackView alloc] init]; + _moneyStackView.axis = UILayoutConstraintAxisHorizontal; + _moneyStackView.distribution = UIStackViewDistributionFill; + _moneyStackView.alignment = UIStackViewAlignmentCenter; + _moneyStackView.spacing = 2; + } + return _moneyStackView; +} + +- (UIImageView *)diamondImageView { + if (!_diamondImageView) { + _diamondImageView = [[UIImageView alloc] init]; + _diamondImageView.userInteractionEnabled = YES; + _diamondImageView.image = [UIImage imageNamed:@"common_diamond"]; + _diamondImageView.hidden = YES; + } + return _diamondImageView; +} + - (UILabel *)moneyLabel { if (!_moneyLabel) { _moneyLabel = [[UILabel alloc] init]; diff --git a/xplan-ios/Main/Mine/View/Noble/View/XPNobleCenterViewController.m b/xplan-ios/Main/Mine/View/Noble/View/XPNobleCenterViewController.m index f8e4a420..f1ab9fd2 100644 --- a/xplan-ios/Main/Mine/View/Noble/View/XPNobleCenterViewController.m +++ b/xplan-ios/Main/Mine/View/Noble/View/XPNobleCenterViewController.m @@ -384,6 +384,7 @@ - (void)onOpenNobleButtonClick:(UITapGestureRecognizer *)button { [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick]; XPNobleRechargeView * rechargetView =[[XPNobleRechargeView alloc] init]; + rechargetView.rate = self.rechargeModel.rate; rechargetView.chargeMoney = [NSString stringWithFormat:@"%.0f", self.rechargeModel.money]; rechargetView.chargeProdId = self.rechargeModel.chargeProdId; rechargetView.roomUid = [NSString stringWithFormat:@"%ld", self.roomUid];