Files
yinmeng-ios/xplan-ios/Main/ModuleKit/SendGiftView/Presenter/XPGiftPresenter.m
2021-11-19 14:13:08 +08:00

114 lines
3.5 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"
///Model
#import "WalletInfoModel.h"
#import "GiftReceiveInfoModel.h"
///P
#import "XPGiftProtocol.h"
@interface XPGiftPresenter ()
///
@property (nonatomic,weak) id view;
@end
@implementation XPGiftPresenter
///先这样写着 想好了在改
- (void)attatchView:(id)view {
self.view = view;
}
- (id)getView {
return self.view;
}
/// 获取用户钱包信息
- (void)getUserWallInfo {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
[Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
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];
return;
}
[Api requestNormalGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
NSArray * info = [GiftInfoModel modelsWithArray:data.data[@"gift"]];
///把礼物信息保存一下
[[XPGiftStorage shareStorage] saveGiftDatasource:info roomUid:roomUid];
[[self getView] getNormalGiftListSuccess:info];
} roomUid:roomUid];
}
/// 获取背包礼物
- (void)getPackGiftList {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
[Api requestPackGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
NSArray * info = [GiftInfoModel modelsWithArray:data.data];
[[self getView] getPacketGiftListSuccess:info];
} 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:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200 && data.data) {
GiftReceiveInfoModel *receive = [GiftReceiveInfoModel modelWithJSON:data.data];
receive.sourceType = giftSource;
receive.roomSendGiftType = roomSendType;
[self.getView sendGiftSuccess:receive originDic:data.data];
}
} targetUids:targetUids giftNum:giftNum sendType:giftSendTypeStr giftId:giftId giftSource:giftSourceStr giftType:giftTypeStr roomUid:roomUid msg:msg uid:uid];
}
@end