// // MedalsPresenter.m // YuMi // // Created by P on 2025/6/17. // #import "MedalsPresenter.h" #import "Api+Medals.h" @implementation MedalsPresenter - (NSInteger)pageSize { return 8; } - (NSInteger)rankListSize { return 2; } - (void)userMedals:(NSInteger)uid page:(NSInteger)page type:(NSInteger)type { @kWeakify(self); [Api medalMine:[self createHttpCompletion:^(BaseModel * _Nonnull data) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(userMedalsSuccess:)]) { UserMedalsModel *m = [UserMedalsModel modelWithJSON:data.data]; [[self getView] userMedalsSuccess:m]; } } fail:^(NSInteger code, NSString * _Nullable msg) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(userMedalsFailure)]) { [[self getView] userMedalsFailure]; } } showLoading:YES errorToast:YES] pageNo:@(page) pageSize:@([self pageSize]) uid:@(uid) type:@(type)]; } - (void)squareMedals:(NSInteger)page type:(NSInteger)type { @kWeakify(self); [Api medalSquare:[self createHttpCompletion:^(BaseModel * _Nonnull data) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(squareMedalsSuccess:)]) { NSArray *m = [MedalSeriesVo modelsWithArray:data.data]; [[self getView] squareMedalsSuccess:m]; } } fail:^(NSInteger code, NSString * _Nullable msg) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(squareMedalsFailure)]) { [[self getView] squareMedalsFailure]; } } showLoading:YES errorToast:YES] pageNo:@(page) pageSize:@([self pageSize]) type:@(type)]; } - (void)mineAllMedals:(NSInteger)page { @kWeakify(self); [Api medalMineAll:[self createHttpCompletion:^(BaseModel * _Nonnull data) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(mineAllMedalsSuccess:)]) { MineAllMedalModel *m = [MineAllMedalModel modelWithJSON:data.data]; [[self getView] mineAllMedalsSuccess:m]; } } fail:^(NSInteger code, NSString * _Nullable msg) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(mineAllMedalsFailure)]) { [[self getView] mineAllMedalsFailure]; } } showLoading:YES errorToast:YES] pageNo:@(page) pageSize:@([self pageSize])]; } - (void)updateMedalUseStatus:(NSString *)medalId isUse:(BOOL)isUse { @kWeakify(self); [Api medalUseMedal:[self createHttpCompletion:^(BaseModel * _Nonnull data) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(useMedalSuccess)]) { [[self getView] useMedalSuccess]; } } fail:^(NSInteger code, NSString * _Nullable msg) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(userMedalsFailure)]) { [[self getView] userMedalsFailure]; } } showLoading:YES errorToast:YES] id:medalId useStatus:@(isUse == YES ? 1 : 0)]; } - (void)rankList:(NSInteger)page { @kWeakify(self); [Api medalRank:[self createHttpCompletion:^(BaseModel * _Nonnull data) { @kStrongify(self); if ([[self getView] respondsToSelector:@selector(rankListSuccess:)]) { [[self getView] rankListSuccess:[MedalsRankModel modelWithJSON:data.data]]; } } fail:^(NSInteger code, NSString * _Nullable msg) { if ([[self getView] respondsToSelector:@selector(rankListFailure)]) { [[self getView] rankListFailure]; } } showLoading:YES errorToast:YES] pageNo:@(page) pageSize:@([self rankListSize])]; } @end