// // IfishShopDetailViewController.m // Ifish // // Created by imac on 17/1/13. // Copyright © 2017年 lianlian. All rights reserved. // #import "IfishShopDetailViewController.h" #import "ShopDetailViewfirstCell.h" #import "ShopDetailThredViewCell.h" #import "ShopDetailCodeFirstCell.h" #import "IfishSessionViewController.h" #import "MineKanHuViewController.h" #import "GoNetShopViewCell.h" #import "ShopInfosViewCell.h" #import "PushMasssageWebViewController.h" #import "ShopDetailViewGoodsViewCell.h" #import "ShopGoodsListData.h" #import "IFishVideoPalyViewController.h" @interface IfishShopDetailViewController () @property(nonatomic,strong)UITableView *tableView; @property (nonatomic,strong) NSMutableArray *goodsArr; @end @implementation IfishShopDetailViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self addTitleViewWithTitle:@"店铺详情"]; _goodsArr= [[NSMutableArray alloc] init]; self.view.backgroundColor =[UIColor redColor]; [self creatTab]; [self loadDatas]; } -(void)creatTab{ CGFloat BtnH = self.view.frame.size.width * 0.12; [self.tableView registerNib:[UINib nibWithNibName:@"ShopDetailCodeFirstCell" bundle:nil] forCellReuseIdentifier:@"ShopDetailCodeFirstCell"]; self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height - BtnH) style:UITableViewStyleGrouped]; self.tableView.delegate = self; self.tableView.dataSource = self; self.tableView.scrollEnabled = YES; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self.tableView.showsVerticalScrollIndicator = NO; self.tableView.backgroundColor = TABLE_BACKGROUD_COLOR; [self.view addSubview:self.tableView]; NSString *str= @" 咨询TA"; NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:str]; NSTextAttachment *attch = [[NSTextAttachment alloc] init]; attch.image = [UIImage imageNamed:@"businesslistings_comments"]; attch.bounds = CGRectMake(0,-4,17,16);//35*33 NSAttributedString *attristr=[NSAttributedString attributedStringWithAttachment:attch]; [attri insertAttributedString:attristr atIndex:0]; UIButton *zixunbtn =[UIButton buttonWithType:UIButtonTypeCustom]; [zixunbtn setAttributedTitle:attri forState:UIControlStateNormal]; zixunbtn.frame = CGRectMake(0,CGRectGetMaxY(self.tableView.frame),self.view.frame.size.width/2, BtnH); zixunbtn.backgroundColor = RGB(255, 115, 92); [attri addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0,str.length+1)]; [attri addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15] range:NSMakeRange(0,str.length+1)]; [zixunbtn addTarget:self action:@selector(ziXunBtnAction) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:zixunbtn]; NSString *str2= @" 让TA帮我看护"; NSMutableAttributedString *attri2 = [[NSMutableAttributedString alloc] initWithString:str2]; NSTextAttachment *attch2 = [[NSTextAttachment alloc] init]; attch2.image = [UIImage imageNamed:@"businesslistings_nurse"]; attch2.bounds = CGRectMake(0,-3,14,16);//33*39 NSAttributedString *attristr2=[NSAttributedString attributedStringWithAttachment:attch2]; [attri2 insertAttributedString:attristr2 atIndex:0]; UIButton *kanhubtn =[UIButton buttonWithType:UIButtonTypeCustom]; [kanhubtn setAttributedTitle:attri2 forState:UIControlStateNormal]; kanhubtn.frame = CGRectMake(CGRectGetMaxX(zixunbtn.frame),CGRectGetMinY(zixunbtn.frame), self.view.frame.size.width/2, BtnH); kanhubtn.backgroundColor = RGB(0, 180,239); [attri2 addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0,str2.length+1)]; [attri2 addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15] range:NSMakeRange(0,str2.length+1)]; [kanhubtn addTarget:self action:@selector(kanHuAction) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:kanhubtn]; } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 5; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if (section ==1) { return 3; } return 1; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.section ==0) { ShopDetailCodeFirstCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ShopDetailCodeFirstCell"]; if(cell==nil){ cell = [[ShopDetailCodeFirstCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ShopDetailCodeFirstCell"]; cell.backgroundColor = [UIColor whiteColor]; cell.selectionStyle = UITableViewCellSelectionStyleNone; } [cell loadDataWith:self.shopInfo]; return cell; }else if (indexPath.section ==1){ ShopInfosViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ShopInfosViewCell"]; if (!cell) { cell = [[[NSBundle mainBundle]loadNibNamed:@"ShopInfosViewCell" owner:self options:nil]lastObject]; } cell.selectionStyle = UITableViewCellSelectionStyleNone; [cell loadDataWith:self.shopInfo atIndex:indexPath]; return cell; }else if (indexPath.section ==2){ GoNetShopViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GoNetShopViewCell"]; if (!cell) { cell = [[[NSBundle mainBundle]loadNibNamed:@"GoNetShopViewCell" owner:self options:nil]lastObject]; } cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return cell; }else if (indexPath.section ==4){ static NSString *identfire=@"ShopDetailViewGoodsViewCell"; ShopDetailViewGoodsViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identfire]; if (!cell) { cell=[[ShopDetailViewGoodsViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identfire]; cell.backgroundColor = [UIColor whiteColor]; } cell.delegate = self; [cell setGoodsdataArr:_goodsArr]; [cell refreshCollellction]; return cell; }else{ ShopDetailThredViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ShopDetailThredViewCell"]; if (!cell) { cell = [[[NSBundle mainBundle]loadNibNamed:@"ShopDetailThredViewCell" owner:self options:nil]lastObject]; } cell.selectionStyle = UITableViewCellSelectionStyleNone; [cell loadDataWith:self.shopInfo]; return cell; } } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ //750 * 1080 if (indexPath.section ==0 ){ return self.view.frame.size.width*0.39; }else if (indexPath.section ==1){ return 40; }else if (indexPath.section ==2){ return self.view.frame.size.width*0.12; }else if (indexPath.section==4) { CGFloat Itemwidth = (kScreenSize.width-1)/2; CGFloat ItemH = Itemwidth*1.03 +1; if (_goodsArr.count!=0) { int total = (int)[_goodsArr count]; int rowCount =total%2==0?total/2:total/2+1; return ItemH*rowCount; } return ItemH*2; }else{ return self.view.frame.size.width*0.60; } } -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ if (section ==3||section==4) { return self.view.frame.size.width*0.12 + 1; }else if (section ==0){ return 1; } else{ return 0.000001; } } -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ if (section ==2||section==3) { return 10; }else if (section ==0||section ==1){ return 1; } return 0.000001; } -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ if (section ==3||section==4) { UIView *backvew =[[UIView alloc] initWithFrame:CGRectMake(0,0, self.view.frame.size.width, self.view.frame.size.width*0.12)]; backvew.backgroundColor = [UIColor whiteColor]; //backvew.backgroundColor = [UIColor blueColor]; UILabel *zhanshiLabel = [[UILabel alloc] init]; zhanshiLabel.frame = CGRectMake(16,CGRectGetHeight(backvew.frame)/2 - 5,self.view.frame.size.width, CGRectGetHeight(backvew.frame)/2); if (section==3) { zhanshiLabel.text = @"店铺门面展示"; }else{ zhanshiLabel.text = @"商品列表"; } //zhanshiLabel.text = @"店铺门面展示"; zhanshiLabel.textColor = RGB(0, 0, 0); zhanshiLabel.font = [UIFont systemFontOfSize:15]; //zhanshiLabel.backgroundColor = [UIColor redColor]; [zhanshiLabel sizeToFit]; [backvew addSubview:zhanshiLabel]; UIView *backlinevew =[[UIView alloc] initWithFrame:CGRectMake(0,CGRectGetMaxY(backvew.frame) , self.view.frame.size.width,1)]; backlinevew.backgroundColor = TABLE_BACKGROUD_COLOR; [backvew addSubview:backlinevew]; return backvew; } return nil; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES]; if (indexPath.section==2) { //进入网店 if ([self.shopInfo.shopLink isKindOfClass:[NSNull class]]||!self.shopInfo.shopLink||[self.shopInfo.shopLink isEqualToString:@""]) { [self.view makeToast:@"商家暂未开通网店"]; return; } PushMasssageWebViewController *web=[[PushMasssageWebViewController alloc] init]; web.pushlink = self.shopInfo.shopLink; web.pushtitle = @"网店"; self.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:web animated:YES]; }else if (indexPath.section==1&&indexPath.row ==0){ //拨打电话 if ([UIApplication instancesRespondToSelector:@selector(canOpenURL:)]) { NSString *telNumber = [NSString stringWithFormat:@"telprompt://%@",self.shopInfo.shopsPhone]; NSURL *aURL = [NSURL URLWithString: telNumber]; if ([[UIApplication sharedApplication] canOpenURL:aURL]) { [[UIApplication sharedApplication] openURL:aURL]; } } } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ #pragma mark - vziXunBtnAction -(void)ziXunBtnAction { UserModel*model=[dataContorl getUserInfo]; NSString *myAcount = [NSString stringWithFormat:@"%@",model.userId]; NSString *tarGetAcount = [NSString stringWithFormat:@"%@",self.shopInfo.userId]; if ([myAcount isEqualToString:tarGetAcount]) { [self.view makeToast:@"不能和自己聊天哦"]; return; } [[NIMSDK sharedSDK].loginManager login:myAcount token:model.neteaseToken completion:^(NSError *error) { if (!error) { NSLog(@"登录成功"); //创建session NIMSession *session = [NIMSession session:tarGetAcount type:NIMSessionTypeP2P]; //创建聊天页,这个页面继承自 NIMKit 中的组件 NIMSessionViewController self.hidesBottomBarWhenPushed = YES; IfishSessionViewController *vc = [[IfishSessionViewController alloc] initWithSession:session]; [self.navigationController pushViewController:vc animated:YES]; }else{ NSLog(@"登录失败"); } }]; } #pragma mark - 看护action -(void)kanHuAction{ //判断是否已有看护商家 UserModel *model = [dataContorl getUserInfo]; if ([model.userType isEqualToString:@"1"]) { [self.view makeToast:@"您是商家,不能让别人进行看护。"]; return; } //判断是否是自己的店铺 NSString *userId = [dataContorl dataControlGetUserIdInfo]; NSString *shopUserId =[NSString stringWithFormat:@"%@", self.shopInfo.userId]; if ([shopUserId isEqualToString:userId]) { [self.view makeToast:@"您是商家,不能让别人进行看护。"]; return; } __weak typeof (self)weskSelf=self; UIAlertController*ac=[UIAlertController alertControllerWithTitle:@"" message:@"确认看护后,该商家对您的爱鱼进行实时的看护,确认让这位商家对您的爱鱼看护吗?" preferredStyle:UIAlertControllerStyleAlert]; [self presentViewController:ac animated:YES completion:nil]; [ac addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action){ }]]; [ac addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action){ [weskSelf kanhuWith:userId]; }]]; } -(void)kanhuWith:(NSString *)userId { [AFHttpTool newChoiceShops:self.shopInfo.userId userId:userId success:^(id response) { NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil]; if ([reDic[@"result"] isEqualToString:@"100"]) { //选择看护商家成功加金币 [[IfishUserObsever sharedInstance] addGoldWith:CHIOCELOOKSHOPS addType:IFISHADDGOLDTYPE1]; CertificationShopModel*kanHuShangJiaXinXi=[[CertificationShopModel alloc] init]; kanHuShangJiaXinXi.userId= self.shopInfo.userId; kanHuShangJiaXinXi.userName= self.shopInfo.userName; kanHuShangJiaXinXi.userImg = self.shopInfo.userImg; kanHuShangJiaXinXi.shopsPhone= self.shopInfo.shopsPhone; kanHuShangJiaXinXi.shopsName= self.shopInfo.shopsName; kanHuShangJiaXinXi.shopsProvince= self.shopInfo.shopsProvince; kanHuShangJiaXinXi.shopsCity= self.shopInfo.shopsCity; kanHuShangJiaXinXi.shopsArea= self.shopInfo.shopsArea; kanHuShangJiaXinXi.shopsAddress= self.shopInfo.shopsAddress; kanHuShangJiaXinXi.shopsId = self.shopInfo.shopsId; kanHuShangJiaXinXi.picture4 = self.shopInfo.picture4; //存储 [[DataCenter defaultDtacenter]setValue:kanHuShangJiaXinXi forKey:@"ShopsInfo2"]; MineKanHuViewController *wodeKanHu=[[MineKanHuViewController alloc] init]; wodeKanHu.xinXiModel = kanHuShangJiaXinXi; self.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:wodeKanHu animated:YES]; }else{ [self.view makeToast:@"请求失败"]; } } failure:^(NSError *err) { }]; } #pragma mark - 商品列表 -(void)loadDatas { __weak typeof (self)weskSelf=self; NSString *shopId = weskSelf.shopInfo.shopsId; [AFHttpTool getCommodityInfoByPage:shopId pageSize:20 firstResult:0 commodityState:@"0" success:^(id response) { NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil]; if ([reDic[@"result"] isEqualToString:@"100"]){ NSArray*goodsArr=reDic[@"data"]; for (NSDictionary *goodsDic in goodsArr) { ShopGoodsListData *goodsData=[[ShopGoodsListData alloc] initWithDict:goodsDic]; [weskSelf.goodsArr addObject:goodsData]; } NSIndexSet *asset = [NSIndexSet indexSetWithIndex:4]; [weskSelf.tableView reloadSections:asset withRowAnimation:UITableViewRowAnimationNone]; } } failure:^(NSError *err) { }]; } #pragma mark -商品详情视频 -(void)tapTtemListAt:(NSString *)goodslink commdyId:(NSString *)commdyId { if ([goodslink isKindOfClass:[NSNull class]]||!goodslink) { [self.view makeToast:@"空链接"]; return; } IFishVideoPalyViewController *palyvc= [[IFishVideoPalyViewController alloc] init]; palyvc.videoPath = goodslink; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:palyvc]; [self presentViewController:nav animated:YES completion:nil]; [self addClickNumber:commdyId]; } #pragma mark -商品点击数加1 -(void)addClickNumber:(NSString *)commdyId{ [AFHttpTool updateCommodityClickCount:commdyId success:^(id response) { NSDictionary *reDic=[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:nil]; if ([reDic[@"result"] isEqualToString:@"100"]){ } } failure:^(NSError *err) { }]; } @end