Files
midi_ios/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+RedPacket.m

120 lines
4.8 KiB
Mathematica
Raw Normal View History

2025-10-13 14:16:49 +08:00
//
// QXRoomViewController+RedPacket.m
// QXLive
//
// Created by on 2025/10/13.
//
#import "QXRoomViewController+RedPacket.h"
#import "QXMineNetwork.h"
@implementation QXRoomViewController (RedPacket)
-(void)recievedRedPacket:(QXRedPacketModel *)model{
2025-10-15 17:21:09 +08:00
self.redBagTagView.hidden = NO;
2025-10-13 14:16:49 +08:00
[[QXRedPacketManager sharedManager] addRedPacket:model];
}
2025-10-17 11:41:09 +08:00
-(void)redPacketDidFinished:(NSString *)redpacket_id{
[[QXRedPacketManager sharedManager] removeRedPacket:redpacket_id];
NSArray *arr = [QXRedPacketManager sharedManager].allRedPackets;
if (self.redbagListView) {
self.redbagListView.dataArray = arr;
}
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",arr.count];
}
2025-10-13 14:16:49 +08:00
-(void)initRedpacketManager{
[QXRedPacketManager sharedManager].delegate = self;
2025-10-15 17:21:09 +08:00
[[QXRedPacketManager sharedManager] startCheckTimer];
//
[self getRedBagList];
2025-10-13 14:16:49 +08:00
}
-(void)getRedBagList{
2025-10-15 17:21:09 +08:00
MJWeakSelf
[QXMineNetwork getRedpacketListWithRoomId:self.roomId successBlock:^(NSArray<QXRedPacketModel *> * _Nonnull list) {
if (list.count > 0) {
weakSelf.redBagTagView.count = [NSString stringWithFormat:@"%ld",list.count];
weakSelf.redBagTagView.hidden = NO;
[[QXRedPacketManager sharedManager] addRedPackets:list];
}else{
[[QXRedPacketManager sharedManager] removeAllRedpackets];
}
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
}];
2025-10-13 14:16:49 +08:00
}
#pragma mark - QXRedPacketManagerDelegate
///
2025-10-15 17:21:09 +08:00
-(void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount{
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
}
///
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId remainingCount:(NSInteger)remainingCount{
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
2025-10-13 14:16:49 +08:00
}
2025-10-15 17:21:09 +08:00
2025-10-13 14:16:49 +08:00
///
2025-10-15 17:21:09 +08:00
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount{
if (self.redbagDrawView.redpacketModel != nil && self.redbagDrawView.redpacketModel.countdown > 0) {
if (self.redbagDrawView.redpacketModel.type.intValue == 1) {
[self.redbagDrawView changeViewType:(QXRedBagDrawTypeOpen)];
}else{
if (self.redbagDrawView.isFromToComment) {
[self.redbagDrawView changeViewType:(QXRedBagDrawTypeOpen)];
}
}
}
2025-10-13 14:16:49 +08:00
}
2025-10-15 17:21:09 +08:00
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPackets:(NSArray<QXRedPacketModel *> *)redPackets remainingCount:(NSInteger)remainingCount{
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
}
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacketTime:(long)time redPacket:(QXRedPacketModel *)redPacket {
///
if (self.redbagDrawView.redpacketModel != nil && self.redbagDrawView.redpacketModel.countdown > 0 && time>=0) {
if (self.redbagDrawView.redpacketModel.type.intValue == 1) {
//
if ([self.redbagDrawView.redpacketModel.conditions containsString:@"1"]) {
//
if (self.roomModel.user_info.is_collect.intValue == 1) {
///
2025-10-17 11:41:09 +08:00
if (redPacket == self.redbagDrawView.redpacketModel) {
self.redbagDrawView.needTime = time;
}
2025-10-15 17:21:09 +08:00
}
}else{
2025-10-17 11:41:09 +08:00
if (redPacket == self.redbagDrawView.redpacketModel) {
self.redbagDrawView.needTime = time;
}
2025-10-15 17:21:09 +08:00
}
}else{
if (self.redbagDrawView.isFromToComment) {
//
if ([self.redbagDrawView.redpacketModel.conditions containsString:@"1"]) {
//
if (self.roomModel.user_info.is_collect.intValue == 1) {
///
2025-10-17 11:41:09 +08:00
if (redPacket == self.redbagDrawView.redpacketModel) {
self.redbagDrawView.needTime = time;
}
2025-10-15 17:21:09 +08:00
}
}else{
2025-10-17 11:41:09 +08:00
if (redPacket == self.redbagDrawView.redpacketModel) {
self.redbagDrawView.needTime = time;
}
2025-10-15 17:21:09 +08:00
}
}
}
}
2025-10-13 14:16:49 +08:00
2025-10-15 17:21:09 +08:00
///
if (self.redbagListView.dataArray.count > 0) {
NSInteger index = [self.redbagListView.dataArray indexOfObject:redPacket];
[self.redbagListView updateRedpacketTimeWithIndex:index time:time];
}
2025-10-13 14:16:49 +08:00
}
2025-10-15 17:21:09 +08:00
2025-10-13 14:16:49 +08:00
@end