Files
WebApp/ShenQi/Model/InviteCodeModelData.m
2024-12-20 17:49:45 +08:00

151 lines
7.2 KiB
Objective-C

//
// InviteCodeModelData.m
//
// Created by Yao on 2024/11/9
// Copyright (c) 2024 zL. All rights reserved.
//
#import "InviteCodeModelData.h"
NSString *const kInviteCodeModelDataId = @"id";
NSString *const kInviteCodeModelDataName = @"name";
NSString *const kInviteCodeModelDataBankName = @"bankName";
NSString *const kInviteCodeModelDataInviteCode = @"inviteCode";
NSString *const kInviteCodeModelDataInviteNum = @"inviteNum";
NSString *const kInviteCodeModelDataBalance = @"balance";
NSString *const kInviteCodeModelDataBankNo = @"bankNo";
NSString *const kInviteCodeModelDataUserId = @"userId";
NSString *const kInviteCodeModelDataIncome = @"income";
NSString *const kInviteCodeModelDataBankId = @"bankId";
NSString *const kInviteCodeModelDataStatus = @"status";
NSString *const kInviteCodeModelDataDeviceCode = @"deviceCode";
@interface InviteCodeModelData ()
- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
@end
@implementation InviteCodeModelData
@synthesize identifier = _identifier;
@synthesize name = _name;
@synthesize bankName = _bankName;
@synthesize inviteCode = _inviteCode;
@synthesize inviteNum = _inviteNum;
@synthesize balance = _balance;
@synthesize bankNo = _bankNo;
@synthesize userId = _userId;
@synthesize income = _income;
@synthesize bankId = _bankId;
@synthesize status = _status;
@synthesize deviceCode = _deviceCode;
+ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict {
return [[self alloc] initWithDictionary:dict];
}
- (instancetype)initWithDictionary:(NSDictionary *)dict {
self = [super init];
// This check serves to make sure that a non-NSDictionary object
// passed into the model class doesn't break the parsing.
if (self && [dict isKindOfClass:[NSDictionary class]]) {
self.identifier = [[self objectOrNilForKey:kInviteCodeModelDataId fromDictionary:dict] intValue];
self.name = [self objectOrNilForKey:kInviteCodeModelDataName fromDictionary:dict];
self.bankName = [self objectOrNilForKey:kInviteCodeModelDataBankName fromDictionary:dict];
self.inviteCode = [self objectOrNilForKey:kInviteCodeModelDataInviteCode fromDictionary:dict];
self.inviteNum = [[self objectOrNilForKey:kInviteCodeModelDataInviteNum fromDictionary:dict] intValue];
self.balance = [[self objectOrNilForKey:kInviteCodeModelDataBalance fromDictionary:dict] doubleValue];
self.bankNo = [self objectOrNilForKey:kInviteCodeModelDataBankNo fromDictionary:dict];
self.userId = [[self objectOrNilForKey:kInviteCodeModelDataUserId fromDictionary:dict] intValue];
self.income = [[self objectOrNilForKey:kInviteCodeModelDataIncome fromDictionary:dict] doubleValue];
self.bankId = [[self objectOrNilForKey:kInviteCodeModelDataBankId fromDictionary:dict] intValue];
self.status = [[self objectOrNilForKey:kInviteCodeModelDataStatus fromDictionary:dict] intValue];
self.deviceCode = [self objectOrNilForKey:kInviteCodeModelDataDeviceCode fromDictionary:dict];
}
return self;
}
- (NSDictionary *)dictionaryRepresentation {
NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
[mutableDict setValue:[NSNumber numberWithInteger:self.identifier] forKey:kInviteCodeModelDataId];
[mutableDict setValue:self.name forKey:kInviteCodeModelDataName];
[mutableDict setValue:self.bankName forKey:kInviteCodeModelDataBankName];
[mutableDict setValue:self.inviteCode forKey:kInviteCodeModelDataInviteCode];
[mutableDict setValue:[NSNumber numberWithInteger:self.inviteNum] forKey:kInviteCodeModelDataInviteNum];
[mutableDict setValue:[NSNumber numberWithDouble:self.balance] forKey:kInviteCodeModelDataBalance];
[mutableDict setValue:self.bankNo forKey:kInviteCodeModelDataBankNo];
[mutableDict setValue:[NSNumber numberWithInteger:self.userId] forKey:kInviteCodeModelDataUserId];
[mutableDict setValue:[NSNumber numberWithDouble:self.income] forKey:kInviteCodeModelDataIncome];
[mutableDict setValue:[NSNumber numberWithInteger:self.bankId] forKey:kInviteCodeModelDataBankId];
[mutableDict setValue:[NSNumber numberWithInteger:self.status] forKey:kInviteCodeModelDataStatus];
[mutableDict setValue:self.deviceCode forKey:kInviteCodeModelDataDeviceCode];
return [NSDictionary dictionaryWithDictionary:mutableDict];
}
- (NSString *)description {
return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
}
#pragma mark - Helper Method
- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict {
id object = [dict objectForKey:aKey];
return [object isEqual:[NSNull null]] ? nil : object;
}
#pragma mark - NSCoding Methods
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super init];
self.identifier = [aDecoder decodeIntegerForKey:kInviteCodeModelDataId];
self.name = [aDecoder decodeObjectForKey:kInviteCodeModelDataName];
self.bankName = [aDecoder decodeObjectForKey:kInviteCodeModelDataBankName];
self.inviteCode = [aDecoder decodeObjectForKey:kInviteCodeModelDataInviteCode];
self.inviteNum = [aDecoder decodeIntegerForKey:kInviteCodeModelDataInviteNum];
self.balance = [aDecoder decodeDoubleForKey:kInviteCodeModelDataBalance];
self.bankNo = [aDecoder decodeObjectForKey:kInviteCodeModelDataBankNo];
self.userId = [aDecoder decodeIntegerForKey:kInviteCodeModelDataUserId];
self.income = [aDecoder decodeDoubleForKey:kInviteCodeModelDataIncome];
self.bankId = [aDecoder decodeIntegerForKey:kInviteCodeModelDataBankId];
self.status = [aDecoder decodeIntegerForKey:kInviteCodeModelDataStatus];
self.deviceCode = [aDecoder decodeObjectForKey:kInviteCodeModelDataDeviceCode];
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder {
[aCoder encodeInteger:_identifier forKey:kInviteCodeModelDataId];
[aCoder encodeObject:_name forKey:kInviteCodeModelDataName];
[aCoder encodeObject:_bankName forKey:kInviteCodeModelDataBankName];
[aCoder encodeObject:_inviteCode forKey:kInviteCodeModelDataInviteCode];
[aCoder encodeInteger:_inviteNum forKey:kInviteCodeModelDataInviteNum];
[aCoder encodeDouble:_balance forKey:kInviteCodeModelDataBalance];
[aCoder encodeObject:_bankNo forKey:kInviteCodeModelDataBankNo];
[aCoder encodeInteger:_userId forKey:kInviteCodeModelDataUserId];
[aCoder encodeDouble:_income forKey:kInviteCodeModelDataIncome];
[aCoder encodeInteger:_bankId forKey:kInviteCodeModelDataBankId];
[aCoder encodeInteger:_status forKey:kInviteCodeModelDataStatus];
[aCoder encodeObject:_deviceCode forKey:kInviteCodeModelDataDeviceCode];
}
- (id)copyWithZone:(NSZone *)zone {
InviteCodeModelData *copy = [[InviteCodeModelData alloc] init];
if (copy) {
copy.identifier = self.identifier;
copy.name = [self.name copyWithZone:zone];
copy.bankName = [self.bankName copyWithZone:zone];
copy.inviteCode = [self.inviteCode copyWithZone:zone];
copy.inviteNum = self.inviteNum;
copy.balance = self.balance;
copy.bankNo = [self.bankNo copyWithZone:zone];
copy.userId = self.userId;
copy.income = self.income;
copy.bankId = self.bankId;
copy.status = self.status;
copy.deviceCode = [self.deviceCode copyWithZone:zone];
}
return copy;
}
@end