修复bug

This commit is contained in:
liyuhua
2023-10-24 19:01:30 +08:00
parent d0f6157bc8
commit be77a3a048
28 changed files with 309 additions and 90 deletions

View File

@@ -10,7 +10,14 @@
#import "PIRedPacketChooseTypeView.h"
#import "PIInputScrollingView.h"
#import "PIInputEntireServerScrollingView.h"
@interface PIRoomSendRedPacketItemVC ()<PIRedPacketChooseTypeViewDelegate>
#import "XPRoomRedPacketPresenter.h"
#import "UserInfoModel.h"
#import "XPRoomRedPacketPwdView.h"
#import "XPMinePayPwdViewController.h"
#import "RoomInfoModel.h"
@interface PIRoomSendRedPacketItemVC ()<PIRedPacketChooseTypeViewDelegate,XPRoomRedPacketPwdViewDelegate>
///host
@property (nonatomic,weak) id<RoomHostDelegate>hostDelegate;
///
@property(nonatomic,strong) PIInputRedPacketView *pi_priceView;
///
@@ -29,16 +36,25 @@
@property(nonatomic,strong) PIInputScrollingView *scrollingView;
///
@property(nonatomic,strong) PIInputEntireServerScrollingView *serverInputView;
///
@property(nonatomic,assign) PIRoomSendRedPacketItemVCType type;
///
@property(nonatomic,assign) PIRedPacketChooseTypeViewType sendRedType;
@property(nonatomic,strong) UserInfoModel *userInfo;
@property(nonatomic,assign) BOOL pi_isHaveUser;
@end
@implementation PIRoomSendRedPacketItemVC
- (XPRoomRedPacketPresenter *)createPresenter {
return [[XPRoomRedPacketPresenter alloc] init];
}
- (BOOL)isHiddenNavBar {
return YES;
}
-(instancetype)initWithType:(PIRoomSendRedPacketItemVCType)type{
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate type:(PIRoomSendRedPacketItemVCType)type{
self = [super init];
if(self){
self.hostDelegate = delegate;
self.type = type;
}
return self;
@@ -47,8 +63,11 @@
[super viewDidLoad];
[self installUI];
[self installConstraints];
[self.presenter getUserModel];
}
-(void)installUI{
self.sendRedType = Red_Packet_Choose_type_Normal;
self.view.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.pi_priceView];
[self.view addSubview:self.pi_numView];
@@ -128,6 +147,14 @@
make.centerX.equalTo(self.view);
}];
}
///
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo {
if(self.pi_isHaveUser == NO){
self.userInfo = userInfo;
return;
}
}
#pragma mark - JXPagingViewListViewDelegate
- (UIScrollView *)listScrollView {
return self.chooseTypeView.collectionView;
@@ -142,14 +169,8 @@
}
#pragma mark- PIRedPacketChooseTypeViewDelegate
- (void)chooseRedPacketType:(PIRedPacketChooseTypeViewType)type{
self.sendRedType = type;
switch (type) {
case Red_Packet_Choose_type_Normal:
{
self.scrollingView.hidden = YES;
self.promptlyBtn.hidden = NO;
self.limitBtn.hidden = NO;
}
break;
case Red_Packet_Choose_type_Scrolling:
{
self.scrollingView.hidden = NO;
@@ -158,9 +179,96 @@
}
break;
default:
{
self.scrollingView.hidden = YES;
self.promptlyBtn.hidden = NO;
self.limitBtn.hidden = NO;
}
break;
}
}
-(void)choooseEffectiveConditionAction:(UIButton *)sender{
if(sender == self.promptlyBtn){
self.promptlyBtn.selected = YES;
self.promptlyBtn.layer.borderWidth = 1;
self.promptlyBtn.backgroundColor = UIColorRGBAlpha(0xFF285C, 0.06);
self.promptlyBtn.titleLabel.font = kFontMedium(16);
self.limitBtn.selected = NO;
self.limitBtn.layer.borderWidth = 0;
self.limitBtn.backgroundColor = UIColorFromRGB(0xF8F8FA);
self.limitBtn.titleLabel.font = kFontRegular(16);
return;
}
self.limitBtn.selected = YES;
self.limitBtn.layer.borderWidth = 1;
self.limitBtn.backgroundColor = UIColorRGBAlpha(0xFF285C, 0.06);
self.limitBtn.titleLabel.font = kFontMedium(16);
self.promptlyBtn.selected = NO;
self.promptlyBtn.layer.borderWidth = 0;
self.promptlyBtn.backgroundColor = UIColorFromRGB(0xF8F8FA);
self.promptlyBtn.titleLabel.font = kFontRegular(16);
}
-(void)onReleaseButtonClick{
//
NSInteger packetCount = [self.pi_priceView.redPacketNum integerValue];
if (packetCount <= 0) {
[self showErrorToast:YMLocalizedString(@"XPRoomSendRedPacketViewController17")];
return;
}
//
NSInteger diamonCount = [self.pi_numView.redPacketNum integerValue];
if (diamonCount <= 0) {
[self showErrorToast:YMLocalizedString(@"XPRoomSendRedPacketViewController18")];
return;
}
if (diamonCount % 10 != 0) {
[self showErrorToast:YMLocalizedString(@"XPRoomSendRedPacketViewController19")];
return;
}
self.pi_isHaveUser = YES;
if(self.userInfo == nil){
[self.presenter getUserModel];
return;
}
if (self.userInfo.isBindPaymentPwd) {
XPRoomRedPacketPwdView *pwdView = [[XPRoomRedPacketPwdView alloc] init];
pwdView.diamonCount = @(packetCount * diamonCount).stringValue;
pwdView.delegate = self;
[TTPopup popupView:pwdView style:TTPopupStyleAlert];
} else {
XPMinePayPwdViewController *vc = [[XPMinePayPwdViewController alloc] init];
vc.userInfo = self.userInfo;
[self.navigationController pushViewController:vc animated:YES];
}
}
#pragma mark - XPRoomRedPacketPwdViewDelegate
- (void)xPRoomRedPacketPwdViewPwdComplete:(NSString *)pwd {
[TTPopup dismiss];
NSString *roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
NSString *type = self.type == Room_Send_Red_Packet_Type_Lobby ? @"1" : @"2";
NSArray *kindList = @[@"1",@"2",@"3",@"4"];
NSString *kind = [kindList safeObjectAtIndex1:self.sendRedType];
NSString *message = self.serverInputView.getContent.length ? self.serverInputView.getContent : YMLocalizedString(@"XPRoomSendRedPacketViewController4");
if(self.sendRedType == Red_Packet_Choose_type_Scrolling && self.serverInputView.getContent.length == 0){
[self showErrorToast:YMLocalizedString(@"PIRoomSendRedPacketItemVC7")];
return;
}
[self.presenter sendRedPacketWithNum:self.pi_numView.redPacketNum goldNum:self.pi_priceView.redPacketNum roomUid:roomUid type:type password:pwd message:message kind:kind];
}
- (void)xPRoomRedPacketPwdViewPwdForgetBtnClick {
XPMinePayPwdViewController *vc = [[XPMinePayPwdViewController alloc] init];
vc.userInfo = self.hostDelegate.getUserInfo;
[self.navigationController pushViewController:vc animated:YES];
}
///
- (void)sendRedPacketSuccess {
[self showSuccessToast:YMLocalizedString(@"XPRoomSendRedPacketViewController3")];
[self dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark -
- (PIInputRedPacketView *)pi_priceView{
if(!_pi_priceView){
@@ -200,6 +308,7 @@
_promptlyBtn.layer.masksToBounds = YES;
_promptlyBtn.layer.borderColor = UIColorFromRGB(0xFF285C).CGColor;
_promptlyBtn.layer.borderWidth = 1;
[_promptlyBtn addTarget:self action:@selector(choooseEffectiveConditionAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _promptlyBtn;
}
@@ -215,6 +324,7 @@
_limitBtn.layer.masksToBounds = YES;
_limitBtn.layer.borderColor = UIColorFromRGB(0xFF285C).CGColor;
_limitBtn.layer.borderWidth = 0;
[_limitBtn addTarget:self action:@selector(choooseEffectiveConditionAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _limitBtn;
}
@@ -222,6 +332,7 @@
if(!_sendBtn){
_sendBtn = [UIButton new];
[_sendBtn setBackgroundImage:kImage(@"pi_red_packet_send") forState:UIControlStateNormal];
[_sendBtn addTarget:self action:@selector(onReleaseButtonClick) forControlEvents:UIControlEventTouchUpInside];
}
return _sendBtn;
}