123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- //
- // FKEditIdCardItem.m
- // FirstLink
- //
- // Created by jack on 15/11/2.
- // Copyright © 2015年 FirstLink. All rights reserved.
- //
- #import "FKIdCardCenter.h"
- #import "MWIDCardValidate.h"
- #import "UploadFileModel.h"
- #import "FKAddIdCardCenter.h"
- #import "FKEditIdCardCenter.h"
- #import "FKPacketIdCardCenter.h"
- #import "FKOrderIdCardCenter.h"
- @interface FKIdCardCenter ()
- @end
- @implementation FKIdCardCenter
- - (instancetype)init{
- if (self = [super init]) {
- self.selectedIndex = 0;
- }
- return self;
- }
- - (void)removeImgAtLocation:(BOOL)isFace{
- if (isFace) {
- self.facePicUrl = nil;
- self.inputIdCardNum = nil;
- }else{
- self.inversePicUrl = nil;
- }
- }
- - (NSArray *)attributeIdCardNumArray{
-
- if (self.idCardItemList.count == 0) return nil;
-
- NSMutableArray *titleArray = [NSMutableArray arrayWithCapacity:self.idCardItemList.count];
- for (FKIdCardItem *item in self.idCardItemList) {
- NSAttributedString *att = [[NSAttributedString alloc]initWithString:item.idCardNum];
- [titleArray addObject:att];
- }
- return titleArray;
- }
- - (void)setDefaultIdCard{
-
- [self savePickedIdCardAtIndex:0];
- }
- - (void)savePickedIdCardAtIndex:(NSUInteger)index{
-
- if (index < self.idCardItemList.count) {
- FKIdCardItem *item = self.idCardItemList[index];
-
- self.selectedIndex = index;
- self.inputIdCardNum = item.idCardNum;
- self.facePicUrl = item.facePic;
- self.inversePicUrl = item.inversePic;
- }
- }
- - (BOOL)checkIdInfoCompleteWithError:(NSError **)error{
-
- BOOL isComplete = YES;
- NSString *tempErrorStr = @"";
-
- if ([self numberOfImgInput] < 2){
- isComplete = NO;
- tempErrorStr = @"请上传身份证正反面照片";
- } else {
- BOOL validate = [MWIDCardValidate validateIdentityCard:self.inputIdCardNum];
- BOOL repeatFalse = [self checkIdCardRepeatError];
-
- if (self.inputIdCardNum.length == 0) {
- isComplete = NO;
- tempErrorStr = @"请输入身份证号码";
- } else if (!validate) {
- isComplete = NO;
- tempErrorStr = @"身份证号码不正确, 请重新输入";
- } else if (repeatFalse){
- isComplete = NO;
- tempErrorStr = @"身份证号码已存在";
- } else {
- isComplete = YES;
- tempErrorStr = @"";
- }
- }
-
- if (!isComplete && tempErrorStr.length){
- *error = [NSError errorWithDomain:@"FirstLinkErrorDomain"
- code:0
- userInfo:@{NSLocalizedDescriptionKey:tempErrorStr}];
- }
-
- return isComplete;
- }
- /**
- 检查用户输入身份证号是否和已有的重复(添加和编辑需要检查,清关上传身份信息可覆盖) 子类重写
- */
- - (BOOL)checkIdCardRepeatError{
-
- return NO;
- }
- /**
- 有几张照片
- */
- - (NSUInteger)numberOfImgInput{
- NSUInteger num = 0;
- if (self.facePicUrl.length) num++;
- if (self.inversePicUrl.length) num++;
- return num;
- }
- - (NSString *)getOrderId{
- // 子类实现
- return nil;
- }
- - (void)saveAllInfoWithDelegate:(id <FLNetworkDelegate>)delegate{
- [self modifyIdCardInfoWithDelegate:delegate];
- }
- - (void)modifyIdCardInfoWithDelegate:(id <FLNetworkDelegate>)delegate{
-
- NSString *URLString = [NSString stringWithFormat:@"%@/link-site/api/user_id_card/modify_user_id_card_for_payment_order.json", [[FKServerUtil sharedInstance] apiServer]];
-
- NSString *jsonStr = [FLRequestHelper JSONStringWithKeys:@[@"id_card_num", @"a_pic", @"b_pic"] values:@[self.inputIdCardNum.uppercaseString, self.facePicUrl, self.inversePicUrl]];
-
- NSString *orderId = [self getOrderId];
- if (orderId.length > 0) {
- jsonStr = [FLRequestHelper JSONStringWithKeys:@[@"id_card_num", @"a_pic", @"b_pic", @"order_id"] values:@[self.inputIdCardNum, self.facePicUrl, self.inversePicUrl, orderId]];
- }
-
- NSMutableDictionary *para = [NSMutableDictionary dictionaryWithDictionary:[FLRequestHelper commonParamater]];
- [para setValue:jsonStr forKey:@"params_json"];
-
- [[FLDataCenter sharedDataCenter] POST:URLString para:para identify:UPLOAD_IDCARD_INFO_REQUEST delegate:delegate];
- }
- - (void)upLoadImg:(UIImage *)image isFace:(BOOL)isFace delegate:(id <FLNetworkDelegate>)delegate{
-
- if (!image) return;
-
- NSData *data = UIImageJPEGRepresentation(image, 0.8);
-
- WeakSelf(weakSelf);
- __block typeof(delegate) block_delegate = delegate;
-
- void(^upLoadSuccess)(MSGHeader *, id) = ^(MSGHeader *header, id responseObject){
- if (header.code.intValue == RESPONSE_MSG_NORMAL && [responseObject isKindOfClass:[NSString class]]) {
- if (isFace) {
- weakSelf.facePicUrl = responseObject;
-
- if ([block_delegate respondsToSelector:@selector(networkDidSuccessResponse:identify:header:)]) {
- [block_delegate networkDidSuccessResponse:responseObject identify:UPLOAD_IDCARD_FACE_REQUEST header:header];
- }
- } else {
- weakSelf.inversePicUrl = responseObject;
- if ([block_delegate respondsToSelector:@selector(networkDidSuccessResponse:identify:header:)]) {
- [block_delegate networkDidSuccessResponse:responseObject identify:UPLOAD_IDCARD_INVERSE_REQUEST header:header];
- }
- }
- }
- };
-
- void(^upLoadFail)(MSGHeader *header, NSError *error) = ^(MSGHeader *header, NSError *error){
- if ([block_delegate respondsToSelector:@selector(networkDidReceiveError:identify:header:)]) {
- [block_delegate networkDidReceiveError:error identify:UPLOAD_IDCARD_INFO_REQUEST header:header];
- }
- };
- [self upLoadImgData:data success:upLoadSuccess failure:upLoadFail];
- }
- - (void)upLoadImgData:(NSData *)data success:(void (^)(MSGHeader *header, id responseObject))success failure:(void (^)(MSGHeader *header, NSError *error))failure{
-
- [UploadFileModel uploadFile:data
- fileType:@"pic"
- contentType:@"image/jpeg"
- parameters:@{@"watermark": @"1"}
- success:^(MSGHeader *header, id responseObject)
- {
- success(header, responseObject);
- } progress:^(NSUInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {
-
- } failure:^(MSGHeader *header, NSError *error) {
- failure(header, error);
- }];
- }
- @end
|