159 lines
6.0 KiB
Objective-C
159 lines
6.0 KiB
Objective-C
//
|
|
// XPGiftPresenter.m
|
|
// xplan-ios
|
|
//
|
|
// Created by 冯硕 on 2021/11/9.
|
|
//
|
|
|
|
#import "XPGiftPresenter.h"
|
|
///Tool
|
|
#import "AccountInfoStorage.h"
|
|
#import "XPGiftStorage.h"
|
|
#import "Api+Gift.h"
|
|
#import "XCHudTool.h"
|
|
///Model
|
|
#import "WalletInfoModel.h"
|
|
#import "GiftReceiveInfoModel.h"
|
|
#import "UserInfoModel.h"
|
|
#import "GiftLuckyBroadcastModel.h"
|
|
#import "GiftTwelveStarFirstModel.h"
|
|
///P
|
|
#import "XPGiftProtocol.h"
|
|
|
|
@interface XPGiftPresenter ()
|
|
///
|
|
@property (nonatomic,weak) id view;
|
|
@end
|
|
|
|
@implementation XPGiftPresenter
|
|
/// 获取用户信息
|
|
/// @param uid 查询的用户的uid
|
|
- (void)getUserInfo:(NSString *)uid {
|
|
if (uid == nil) {
|
|
return;
|
|
}
|
|
[Api getUserInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
UserInfoModel * infoModel = [UserInfoModel modelWithDictionary:data.data];
|
|
[[self getView] onGetUserInfoSuccess:infoModel];
|
|
}] uid:uid];
|
|
}
|
|
|
|
/// 获取用户钱包信息
|
|
- (void)getUserWallInfo {
|
|
NSString * uid = [AccountInfoStorage instance].getUid;
|
|
NSString * ticket = [AccountInfoStorage instance].getTicket;
|
|
[Api getUserWalletInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data];
|
|
[[self getView] getUserWalletInfo:model];
|
|
}] uid:uid ticket:ticket];
|
|
}
|
|
|
|
|
|
/// 获取普通的礼物
|
|
/// @param roomUid 房主的uid 获取房间专属礼物
|
|
- (void)getNormalGiftList:(NSString *)roomUid {
|
|
///先不请求接口 从缓存中获取
|
|
NSArray * arrary = [[XPGiftStorage shareStorage] getGiftDatasource:roomUid];
|
|
if (arrary.count > 0) {
|
|
[[self getView] getNormalGiftListSuccess:arrary];
|
|
}
|
|
|
|
[Api requestNormalGiftList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
NSArray *luckyBagGift = [GiftInfoModel modelsWithArray:data.data[@"luckyBagGift"]]; // 福袋礼物
|
|
NSArray *vipGift = [GiftInfoModel modelsWithArray:data.data[@"vipGift"]]; // 贵族礼物
|
|
NSArray *luckyPoolGift = [GiftInfoModel modelsWithArray:data.data[@"luckyPoolGift"]];// 福袋奖池礼物
|
|
NSArray *normalGift = [GiftInfoModel modelsWithArray:data.data[@"normalGift"]]; // 普通面板礼物
|
|
NSArray *weekStarGift = [GiftInfoModel modelsWithArray:data.data[@"weekStarGift"]]; // 周星礼物
|
|
NSArray *drawGift = [GiftInfoModel modelsWithArray:data.data[@"drawGift"]]; // 涂鸦礼物
|
|
NSArray *penaltyGift = [GiftInfoModel modelsWithArray:data.data[@"penaltyGift"]]; // 惩罚礼物
|
|
NSArray *anchorGift = [GiftInfoModel modelsWithArray:data.data[@"singlePopularGift"]]; // 个播礼物
|
|
NSMutableArray *info = [NSMutableArray array];
|
|
NSMutableArray *totalInfo = [NSMutableArray array];
|
|
[info addObjectsFromArray:luckyBagGift];
|
|
[info addObjectsFromArray:vipGift];
|
|
[info addObjectsFromArray:normalGift];
|
|
[info addObjectsFromArray:weekStarGift];
|
|
[info addObjectsFromArray:drawGift];
|
|
[info addObjectsFromArray:anchorGift];
|
|
[info addObjectsFromArray:penaltyGift];
|
|
[totalInfo addObjectsFromArray:info];
|
|
[totalInfo addObjectsFromArray:luckyPoolGift];
|
|
///把礼物信息保存一下
|
|
[[XPGiftStorage shareStorage] saveGiftDatasource:info roomUid:roomUid];
|
|
[[XPGiftStorage shareStorage] writeGiftToDirectory:totalInfo];
|
|
[[self getView] getNormalGiftListSuccess:info];
|
|
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
|
[[self getView] getNormalGiftListFail:msg];
|
|
}] roomUid:roomUid];
|
|
}
|
|
|
|
|
|
/// 获取背包礼物
|
|
- (void)getPackGiftList {
|
|
NSString * uid = [AccountInfoStorage instance].getUid;
|
|
NSString * ticket = [AccountInfoStorage instance].getTicket;
|
|
[Api requestPackGiftList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
NSArray * info = [GiftInfoModel modelsWithArray:data.data];
|
|
[[self getView] getPacketGiftListSuccess:info];
|
|
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
|
[[self getView] getPacketGiftListFail:msg];
|
|
}] uid:uid ticket:ticket];
|
|
}
|
|
|
|
|
|
/// 送礼物
|
|
/// @param targetUids 送礼物的人
|
|
/// @param giftNum 礼物的个数
|
|
/// @param sendType 送的类型
|
|
/// @param giftId 送礼物的id
|
|
/// @param giftSource 送礼物的来源
|
|
/// @param giftType 礼物的类型
|
|
/// @param roomSendType 赠送的类型
|
|
/// @param roomUid 房主的uid
|
|
/// @param msg 喊话的内容
|
|
- (void)sendGift:(NSString *)targetUids
|
|
giftNum:(NSString *)giftNum
|
|
sendType:(GiftSendType)sendType
|
|
giftId:(NSString *)giftId
|
|
giftSource:(GiftSourceType)giftSource
|
|
giftType:(GiftType)giftType
|
|
roomSendType:(RoomSendGiftType)roomSendType
|
|
roomUid:(NSString *)roomUid
|
|
msg:(NSString *)msg
|
|
{
|
|
NSString * uid = [AccountInfoStorage instance].getUid;
|
|
NSString * giftSourceStr = [NSString stringWithFormat:@"%ld", giftSource];
|
|
NSString * giftTypeStr = [NSString stringWithFormat:@"%ld", giftType];
|
|
NSString * giftSendTypeStr = [NSString stringWithFormat:@"%ld", sendType];
|
|
if (roomUid.length <=0) {
|
|
roomUid = @"";
|
|
}
|
|
[Api requestSendGift:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
GiftReceiveInfoModel *receive = [GiftReceiveInfoModel modelWithJSON:data.data];
|
|
receive.sourceType = giftSource;
|
|
receive.roomSendGiftType = roomSendType;
|
|
NSArray * array = [targetUids componentsSeparatedByString:@","];
|
|
[self.getView sendGiftSuccess:receive originDic:data.data uidCount:array.count];
|
|
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
|
[[self getView] sendGiftFailWithCode:code msg:msg];
|
|
}] targetUids:targetUids giftNum:giftNum sendType:giftSendTypeStr giftId:giftId giftSource:giftSourceStr giftType:giftTypeStr roomUid:roomUid msg:msg uid:uid];
|
|
}
|
|
|
|
///全服福袋记录记录
|
|
- (void)luckyGiftBroadcastRecord {
|
|
[Api requestLuckGiftServerBagRecord:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
NSArray * array = [GiftLuckyBroadcastModel modelsWithArray:data.data];
|
|
[[self getView] luckyGiftBroadcastRecordSuccess:array];
|
|
}]];
|
|
}
|
|
|
|
///获取十二星座礼物banner
|
|
- (void)getTwelveStarLastRankFirst:(NSString *)roomUid {
|
|
[Api requestTwelveStarFirst:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
|
GiftTwelveStarFirstModel * model = [GiftTwelveStarFirstModel modelWithDictionary:data.data];
|
|
[[self getView] getTwelveStarLastRankFirstSuccess:model];
|
|
}] roomUid:roomUid];
|
|
}
|
|
|
|
@end
|