// // XPGiftPresenter.m // xplan-ios // // Created by 冯硕 on 2021/11/9. // #import "XPGiftPresenter.h" ///Tool #import "AccountInfoStorage.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 { [Api requestNormalGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { NSArray * info = [GiftInfoModel modelsWithArray:data.data[@"gift"]]; [[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) { GiftReceiveInfoModel *receive = [GiftReceiveInfoModel modelWithJSON:data.data]; receive.sourceType = giftSource; [self.getView sendGiftSuccess:receive]; } targetUids:targetUids giftNum:giftNum sendType:giftSendTypeStr giftId:giftId giftSource:giftSourceStr giftType:giftTypeStr roomUid:roomUid msg:msg uid:uid]; } @end