zhifu

//

//FYPayTicketController.m

//飞影APP

//

//Created by xalo on 16/7/22.

//Copyright © 2016年liutuo. All rights reserved.

//

#import"FYPayTicketController.h"

@interfaceFYPayTicketController()

@property(weak,nonatomic)IBOutletUILabel*showTime;

@property(weak,nonatomic)IBOutletUILabel*totelprice;

@property(weak,nonatomic)IBOutletUILabel*updateTime;

@property(weak,nonatomic)IBOutletUIImageView*filmImage;

@property(weak,nonatomic)IBOutletUILabel*oldPrice;

@property(weak,nonatomic)IBOutletUILabel*lowPrice;

@property(weak,nonatomic)IBOutletUILabel*message;

@property(weak,nonatomic)IBOutletUIView*firstBackView;

@property(weak,nonatomic)IBOutletUIView*secondBackView;

@property(weak,nonatomic)IBOutletUIImageView*headerBackView;

@property(weak,nonatomic)IBOutletUILabel*day;

@property(weak,nonatomic)IBOutletUILabel*weekSeat;

@property(weak,nonatomic)IBOutletUILabel*filmName;

@property(weak,nonatomic)IBOutletUILabel*cinemaName;

@property(weak,nonatomic)IBOutletUILabel*homeNum;

@property(weak,nonatomic)IBOutletUILabel*firstSeat;

@property(weak,nonatomic)IBOutletUILabel*secondSeat;

@property(weak,nonatomic)IBOutletUILabel*thirdSeat;

@property(weak,nonatomic)IBOutletUILabel*fouthSeat;

@property(weak,nonatomic)IBOutletUILabel*fiveSeat;

@property(weak,nonatomic)IBOutletUILabel*lastPrice;

@property(nonatomic,assign)NSIntegerseconds;

@property(nonatomic,strong)NSTimer*timer;

@property(nonatomic,strong)NSString*dingdanID;

@end

@implementationFYPayTicketController

- (NSTimer*)timer {

if(!_timer) {

_timer= [NSTimerscheduledTimerWithTimeInterval:1target:selfselector:@selector(timerAction)userInfo:nilrepeats:YES];

}

return_timer;

}

- (void)viewDidLoad {

[superviewDidLoad];

//设置子控件属性

[selfsetChildView];

self.seconds=1200;

self.navigationItem.leftBarButtonItem= [[FYBarButtonItemalloc]initWithTitle:@"返回选座"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(popAction)];

NSTimer*timer = [NSTimerscheduledTimerWithTimeInterval:1target:selfselector:@selector(timerAction)userInfo:nilrepeats:YES];

[timerfire];

self.navigationItem.leftBarButtonItem= [[FYBarButtonItemalloc]initWithTitle:@"返回"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(backVC)];

self.dingdanID= [NSStringstringWithFormat:@"FYDY%d%d%d",arc4random_uniform(10000),arc4random_uniform(10000),arc4random_uniform(10000)];

self.message.text=self.dingdanID;

}

- (void)backVC {

[selfdismissViewControllerAnimated:YEScompletion:nil];

}

//支付方法

- (IBAction)confirmPay:(id)sender {

NSString*partner = [[NSBundlemainBundle]objectForInfoDictionaryKey:@"Partner"];

NSString*seller = [[NSBundlemainBundle]objectForInfoDictionaryKey:@"Seller"];

NSString*privateKey = [[NSBundlemainBundle]objectForInfoDictionaryKey:@"RSA private

key"];

/*============================================================================*/

/*============================================================================*/

/*============================================================================*/

//partner和seller获取失败,提示

if([partnerlength] ==0||

[sellerlength] ==0||

[privateKeylength] ==0){

//NSLog(@"缺少partner或者seller或者私钥。");

return;

}

/*

*生成订单信息及签名

*/

//将商品信息赋予AlixPayOrder的成员变量

Order*order = [[Orderalloc]init];

order.partner= partner;

order.seller= seller;

order.tradeNO=self.dingdanID;//订单ID(由商家自行制定)

//商品标题

order.productName=@"票价";

//商品描述

order.productDescription=@"飞影影票";

//商品价格

order.amount= [NSStringstringWithFormat:@"%.2f",0.01];

//NSLog(@"chenglianshiye@yeah.net");

#pragma mark疑问1.

order.notifyURL=@"www.lanou3g.com";//回调URL

//以下配置信息是默认信息,不需要更改.

order.service=@"mobile.securitypay.pay";

order.paymentType=@"1";

order.inputCharset=@"utf-8";

order.itBPay=@"30m";

order.showUrl=@"m.alipay.com";

//应用注册scheme,在AlixPayDemo-Info.plist定义URL types,用于快捷支付成功后重新唤起商户应用

NSString*appScheme =@"AliPayTest";

//将商品信息拼接成字符串

NSString*orderSpec = [orderdescription];

//NSLog(@"orderSpec =%@",orderSpec);

//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode

id signer =CreateRSADataSigner(privateKey);

NSString*signedString =

[signersignString:orderSpec];

//将签名成功字符串格式化为订单字符串,请严格按照该格式

NSString*orderString =nil;

if(signedString !=nil) {

orderString = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",

orderSpec, signedString,@"RSA"];

[[AlipaySDKdefaultService]payOrder:orderStringfromScheme:appSchemecallback:^(NSDictionary*resultDic) {

//NSLog(@"reslut =%@",resultDic);

}];

}

}

//返回上一级

- (void)popAction {

[self.timerinvalidate];

self.timer=nil;

[selfdismissViewControllerAnimated:YEScompletion:nil];

}

- (void)viewWillAppear:(BOOL)animated {

[superviewWillAppear:animated];

[self.navigationController.navigationBarsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetricsDefault];

self.navigationController.navigationBar.shadowImage= [UIImagenew];

}

//定时器方法

- (void)timerAction {

self.seconds--;

if(self.seconds==0) {

UIAlertAction*alertAction = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:^(UIAlertAction*_Nonnullaction) {

[self.timerinvalidate];

self.timer=nil;

[selfdismissViewControllerAnimated:YEScompletion:nil];

}];

UIAlertController*alertController = [UIAlertControlleralertControllerWithTitle:@"提示"message:@"订单超时"preferredStyle:UIAlertControllerStyleAlert];

[alertControlleraddAction:alertAction];

[selfpresentViewController:alertControlleranimated:YEScompletion:nil];

}

if(self.seconds>=0) {

self.updateTime.text= [selfupdateWithSeconds:self.seconds];

}

}

//设置剩余时间格式

- (NSString*)updateWithSeconds:(NSInteger)seconds {

if(seconds /60<10&& seconds %60>9) {

return[NSStringstringWithFormat:@"0%ld:%ld", seconds /60, seconds %60];

}elseif(seconds /60<10&& seconds %60<9) {

return[NSStringstringWithFormat:@"0%ld:0%ld", seconds /60, seconds %60];

}elseif(seconds /60>9&& seconds %60<9) {

return[NSStringstringWithFormat:@"%ld:0%ld", seconds /60, seconds %60];

}

return[NSStringstringWithFormat:@"%ld:%ld", seconds /60, seconds %60];

}

//设置子空间属性

- (void)setChildView{

[selfsetShadowWith:self.headerBackView];

[selfsetShadowWith:self.firstBackView];

[selfsetShadowWith:self.secondBackView];

[selfsetShadowWith:self.filmImage];

NSString*appendStr = [NSStringstringWithFormat:@"%@(%@)",self.seatModel.filmName,self.seatModel.dimensional];

self.filmName.text= appendStr;

self.homeNum.text=self.seatModel.hallName;

[self.filmImagesd_setImageWithURL:[NSURLURLWithString:self.filmBigImage]];

self.oldPrice.text=self.totolPrice;

self.totelprice.text=self.totolPrice;

self.lastPrice.text=self.totolPrice;

self.cinemaName.text=self.cinemaNameAddress;

self.showTime.text= [NSStringstringWithFormat:@"%ld:%ld",self.seatModel.showTime.integerValue/100,self.seatModel.showTime.integerValue%100];

self.day.text= [self.seatModel.showDatesubstringFromIndex:5];

switch(self.seatArray.count) {

case1:

self.firstSeat.text=self.seatArray[0];

break;

case2:

self.firstSeat.text=self.seatArray[0];

self.secondSeat.text=self.seatArray[1];

break;

case3:

self.firstSeat.text=self.seatArray[0];

self.secondSeat.text=self.seatArray[1];

self.thirdSeat.text=self.seatArray[2];

break;

case4:

self.firstSeat.text=self.seatArray[0];

self.secondSeat.text=self.seatArray[1];

self.thirdSeat.text=self.seatArray[2];

self.fouthSeat.text=self.seatArray[3];

break;

case5:

self.firstSeat.text=self.seatArray[0];

self.secondSeat.text=self.seatArray[1];

self.thirdSeat.text=self.seatArray[2];

self.fouthSeat.text=self.seatArray[3];

self.fiveSeat.text=self.seatArray[4];

break;

default:

break;

}

}

//设置阴影

- (void)setShadowWith:(UIView*)view {

view.layer.shadowOffset=CGSizeMake(5,5);

view.layer.shadowColor= [[UIColorgrayColor]CGColor];

view.layer.shadowOpacity=0.9;

view.layer.shadowRadius=4;

}

- (void)didReceiveMemoryWarning{

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be

recreated.

}

/*

#pragma mark -Navigation

// In astoryboard-based application, you will often want to do a little preparationbefore navigation

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

// Get the new view controller using [seguedestinationViewController].

// Pass the selected object to the new viewcontroller.

}

*/

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容