Files
yinmeng-ios/xplan-ios/Main/ModuleKit/SendGiftView/Presenter/XPGiftPresenter.m

114 lines
3.5 KiB
Mathematica
Raw Normal View History

2021-11-10 18:42:27 +08:00
//
// XPGiftPresenter.m
// xplan-ios
//
// Created by on 2021/11/9.
//
#import "XPGiftPresenter.h"
///Tool
#import "AccountInfoStorage.h"
2021-11-17 19:29:14 +08:00
#import "XPGiftStorage.h"
#import "Api+Gift.h"
///Model
#import "WalletInfoModel.h"
2021-11-16 16:31:24 +08:00
#import "GiftReceiveInfoModel.h"
///P
#import "XPGiftProtocol.h"
@interface XPGiftPresenter ()
///
@property (nonatomic,weak) id view;
@end
2021-11-10 18:42:27 +08:00
@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 {
2021-11-17 19:29:14 +08:00
///
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) {
2021-11-12 19:30:53 +08:00
NSArray * info = [GiftInfoModel modelsWithArray:data.data[@"gift"]];
2021-11-17 19:29:14 +08:00
///
[[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];
}
2021-11-10 18:42:27 +08:00
2021-11-16 16:31:24 +08:00
///
/// @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) {
2021-11-16 19:56:37 +08:00
if (code == 200 && data.data) {
GiftReceiveInfoModel *receive = [GiftReceiveInfoModel modelWithJSON:data.data];
receive.sourceType = giftSource;
receive.roomSendGiftType = roomSendType;
[self.getView sendGiftSuccess:receive originDic:data.data];
}
2021-11-16 16:31:24 +08:00
} targetUids:targetUids giftNum:giftNum sendType:giftSendTypeStr giftId:giftId giftSource:giftSourceStr giftType:giftTypeStr roomUid:roomUid msg:msg uid:uid];
}
2021-11-10 18:42:27 +08:00
@end