红包bug修复

This commit is contained in:
liyuhua
2023-10-27 16:17:05 +08:00
parent 6b1f150b65
commit 71cbfd649b
31 changed files with 282 additions and 83 deletions

View File

@@ -24,6 +24,7 @@
#import "AttachmentModel.h"
#import "FirstRechargeModel.h"
#import "TreasureFairyLimitModel.h"
#import "XPRedPacketResultModel.h"
///View
#import "XPRoomHalfWebView.h"
#import "XPCandyTreeViewController.h"
@@ -94,10 +95,40 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.stackView addArrangedSubview:self.redPacketView];
[self.stackView addArrangedSubview:self.lookLoveImageView];
[self.stackView addArrangedSubview:self.joinDatingView];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(openRedPacketResult) name:@"kOpenRedPacketResult" object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(openRedPacketResult:) name:@"kOpenRedPacketResult" object:nil];
}
-(void)openRedPacketResult{
self.redPacketView.hidden = YES;
-(void)openRedPacketResult:(NSNotification *)not{
XPRedPacketResultModel *resultModel = not.object;
self.redPacketView.redPacketModel.result = [resultModel mj_JSONObject];
// [Api getRedPacket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
// self.redPacketView.userInteractionEnabled = YES;
// if(code == 200){
// XPRedPacketModel *redModel = [XPRedPacketModel modelWithJSON:data.data];
// redModel.timestamp = data.timestamp;
// redModel.sendUserNick = data.data[@"nick"];
// redModel.sendUserAvatar = data.data[@"avatar"];
// redModel.redEnvelopePosition = data.data[@"position"];
// [self.redPacketList replaceObjectAtIndex:[self.redPacketList indexOfObject:self.redPacketView.redPacketModel] withObject:redModel];
// self.redPacketView.redPacketModel = redModel;
// if(redModel.state == 2 || redModel.state == 6){
// [XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomActivityContainerView3")];
// self.redPacketView.hidden = YES;
// return;
// }
// if(self.openRedPacketHandle){
// self.openRedPacketHandle(self.redPacketView.redPacketModel);
// }
// }
// } redEnvelopeId:self.redPacketView.redPacketModel.redEnvelopeId];
//
// [self.redPacketList removeObject:self.self.redPacketView.redPacketModel];
// if(self.redPacketList.count == 0){
// self.redPacketView.hidden = YES;
// return;
// }
// self.redPacketView.redPacketModel = self.redPacketList.firstObject;
// self.redPacketView.hidden = NO;
// self.redPacketView.pi_redNum = @(self.redPacketList.count).stringValue;
}
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -243,15 +274,13 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.pi_cycleScrollView setAutoScroll:NO];
}
}
-(void)setRedPacketModel:(XPRedPacketModel *)redPacketModel{
_redPacketModel = redPacketModel;
self.redPacketView.hidden = NO;
self.redPacketView.redPacketModel = _redPacketModel;
}
-(void)setPi_redNum:(NSString *)pi_redNum{
_pi_redNum = pi_redNum;
self.redPacketView.pi_redNum = pi_redNum;
- (void)setRedPacketList:(NSMutableArray *)redPacketList{
_redPacketList = redPacketList;
if(_redPacketList.count > 0){
self.redPacketView.redPacketModel = _redPacketList.firstObject;
self.redPacketView.hidden = NO;
self.redPacketView.pi_redNum = @(_redPacketList.count).stringValue;
}
}
#pragma mark - RoomGuestDelegat
- (void)onRoomUpdate {
@@ -468,27 +497,50 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
}
-(void)openRedPacketAction{
self.redPacketView.userInteractionEnabled = NO;
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
[Api requestRedPacket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[XNDJTDDLoadingTool showLoading];
[Api getRedPacket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
self.redPacketView.userInteractionEnabled = YES;
[XNDJTDDLoadingTool hideHUD];
if(code == 200){
NSArray *array = [XPRedPacketModel modelsWithArray:data.data];
for (XPRedPacketModel *model in array) {
model.timestamp = data.timestamp;
}
if(array.count > 0){
XPRedPacketModel *redModel = array.firstObject;
XPRedPacketModel *redModel = [XPRedPacketModel modelWithJSON:data.data];
redModel.timestamp = data.timestamp;
redModel.sendUserNick = data.data[@"nick"];
redModel.sendUserAvatar = data.data[@"avatar"];
redModel.redEnvelopePosition = data.data[@"position"];
if(redModel.state == 2 || redModel.state == 6){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomActivityContainerView3")];
self.redPacketView.hidden = YES;
[self.redPacketList removeObject:self.self.redPacketView.redPacketModel];
if(self.redPacketList.count == 0){
self.redPacketView.hidden = YES;
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomActivityContainerView3")];
return;
}
self.redPacketView.redPacketModel = self.redPacketList.firstObject;
self.redPacketView.hidden = NO;
self.redPacketView.pi_redNum = @(self.redPacketList.count).stringValue;
if(self.openRedPacketHandle){
self.openRedPacketHandle(self.redPacketView.redPacketModel);
}
return;
}
if(self.openRedPacketHandle){
self.openRedPacketHandle(self.redPacketModel);
[self.redPacketList replaceObjectAtIndex:[self.redPacketList indexOfObject:self.redPacketView.redPacketModel] withObject:redModel];
NSInteger count = 0;
for (XPRedPacketModel *obj in self.redPacketList) {
if(obj.state != 3 || obj.state != 4){
count = count + 1;
}
}
self.redPacketView.pi_redNum = @(count).stringValue;
self.redPacketView.redPacketModel = redModel;
if(self.openRedPacketHandle){
self.openRedPacketHandle(self.redPacketView.redPacketModel);
}
}
} uid:[NSString stringWithFormat:@"%ld",roomInfo.uid] isShowKind:@"1"];
} redEnvelopeId:self.redPacketView.redPacketModel.redEnvelopeId];
}
#pragma mark - Getters And Setters
- (SDCycleScrollView *)pi_cycleScrollView {