| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025 |
- //
- // AddCommodityVC.m
- // yunbaolive
- //
- // Created by ybRRR on 2020/2/24.
- // Copyright © 2020 cat. All rights reserved.
- //
- #import "AddCommodityVC.h"
- #import "CommodityTitleView.h"
- #import "CommodityDetailView.h"
- #import "StandardsView.h"
- #import "SelCommodityClassVC.h"
- #import <Qiniu/QiniuSDK.h>
- #import "CommodityDetailModel.h"
- #import "YBStorageObj.h"
- @interface AddCommodityVC ()<commodityTitleDelegate,commodityDetailDelegate,UITextFieldDelegate,UIScrollViewDelegate>
- {
- UILabel *_classLb; //选择类别
-
- CGFloat titleViewHeight;
- CGFloat detailViewHeight;
- CGFloat standardsHeight;
- CGFloat postageHeight;
- CGFloat commissionHeight;
- UISwitch *postageSwitch;
-
- NSMutableArray* standarsArr;
-
- NSString *one_classidStr;
- NSString *two_classidStr;
- NSString *three_classidStr;
-
- UIView *postageback;
-
- UITextField *postageField;
- UITextField *commissionField;
- NSString *thumbs;// 商品展示图集 英文逗号分隔
- NSString *pictures;//商品内容图集 英文逗号分隔
-
- NSString *videoCorverStr;//视频封面
- NSString *videoHerfStr;//视频链接
-
- BOOL thumbsBool;
- BOOL picturesBool;
- BOOL standardsBool;
- CGFloat currentScrollY;
- }
- @property (nonatomic, strong)UIScrollView *backScroll;
- @property (nonatomic, strong)UIView *commodityClassView;
- @property (nonatomic, strong)UIView *bottomView;
- @property (nonatomic, strong)CommodityTitleView *titleView;
- @property (nonatomic, strong)CommodityDetailView *contentView;
- @property (nonatomic, strong)UIView *standardsBackView;
- @property (nonatomic, strong)StandardsView *standardsView;
- @property (nonatomic, strong)UIView *postageView; //邮费界面
- @property (nonatomic, strong)UIView *commissionView;//佣金
- @property (nonatomic, strong)UIButton *addStdBtn;
- @property (nonatomic, strong)NSArray*titleImgArr;//商品标题图集数组
- @property (nonatomic, strong)NSMutableArray *upTitleImgArr;//上传用标题数组
- @property (nonatomic, strong)NSArray*detailImgArr;//商品详情图集数组
- @property (nonatomic, strong)NSMutableArray *upDetailImgArr;//上传用详情数组
- @property (nonatomic, strong)NSMutableArray*standardsImgArr;//商品详情图集数组
- @property (nonatomic, strong)CommodityDetailModel *commodityModel;
- @end
- @implementation AddCommodityVC
- #pragma mark----获取商品详情------
- -(void)getGoodInfo{
- NSString *url = [purl stringByAppendingFormat:@"?service="];
- NSDictionary *dic = @{
- @"uid":[Config getOwnID],
- @"token":[Config getOwnToken],
- @"goodsid":self.goodsID,
- };
- [YBNetworking postWithUrl:@"Shop.getGoodsInfo" Dic:dic Suc:^(int code, id info, NSString *msg) {
- if (code ==0) {
- self.commodityModel = [CommodityDetailModel modelWithDic:[info firstObject]];
- [self reloadUIData];
- }else{
- [MBProgressHUD showError:msg];
- }
- } Fail:^(id fail) {
-
- }];
- }
- -(void)initData{
- standarsArr = [NSMutableArray array];
- titleViewHeight = 170;
- detailViewHeight = 330;
- standardsHeight = 330;
- postageHeight = 100;
- commissionHeight = 100;
- currentScrollY = 0;
- self.titleImgArr = [NSArray array];
- self.detailImgArr = [NSArray array];
- self.standardsImgArr = [NSMutableArray array];
- thumbs = @"";
- pictures = @"";
- thumbsBool = NO;
- picturesBool = NO;
- standardsBool = NO;
- }
- - (UIStatusBarStyle)preferredStatusBarStyle {
- if (@available(iOS 13.0,*)) {
- return UIStatusBarStyleDarkContent;
- }
- return UIStatusBarStyleDefault;
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- self.subNavi.backgroundColor = UIColor.whiteColor;
- self.titleL.textColor = UIColor.blackColor;
- [self.leftBtn setImage:[UIImage imageNamed:@"pub_back_black"] forState:0];
- self.naviLine.hidden = NO;
- self.naviLine.backgroundColor = RGB(245, 245, 245);
-
- if ([self.fromWhere isEqual:@"seller"]) {
- self.titleL.text = YZMsg(@"编辑商品");
- [self getGoodInfo];
- }else{
- self.titleL.text = YZMsg(@"添加商品");
- }
- [self initData];
- _backScroll = [[UIScrollView alloc]init];
- _backScroll.frame= CGRectMake(0, 64+statusbarHeight, _window_width, _window_height-60);
- _backScroll.backgroundColor = RGB(235, 235, 235);
- _backScroll.delegate = self;
- [self.view addSubview:_backScroll];
- UITapGestureRecognizer *hideBoardTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideKeyBoardClick)];
- [_backScroll addGestureRecognizer:hideBoardTap];
-
- [self.view addSubview:self.bottomView];
-
- [self.backScroll addSubview:self.commodityClassView];
- [self.backScroll addSubview:self.titleView];
- [self.backScroll addSubview:self.contentView];
- [self.backScroll addSubview:self.standardsBackView];
- [self.backScroll addSubview:self.postageView];
- [self.backScroll addSubview:self.commissionView];
- _backScroll.contentSize = CGSizeMake(_window_width, self.titleView.height+self.contentView.height+self.commodityClassView.height+self.standardsBackView.height+self.postageView.height+self.commissionView.height+64+statusbarHeight+60);
- //增加监听,当键盘出现或改变时收出消息
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(keyboardWillShow:)
- name:UIKeyboardWillShowNotification
- object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(keyboardWillHide:)
- name:UIKeyboardWillHideNotification
- object:nil];
- }
- -(void)hideKeyBoardClick{
- [self.view endEditing:YES];
- }
- -(UIView*)bottomView{
- if (!_bottomView) {
- _bottomView = [[UIView alloc]initWithFrame:CGRectMake(0, _window_height-60, _window_width, 60)];
- _bottomView.backgroundColor = UIColor.whiteColor;
-
- UIButton *upBtn = [UIButton buttonWithType:0];
- upBtn.frame= CGRectMake(15, 10, _window_width-30, 40);
- [upBtn setBackgroundColor:Pink_Cor];
- [upBtn setTitle:YZMsg(@"提交审核") forState:0];
- [upBtn setTitleColor:[UIColor whiteColor] forState:0];
- upBtn.titleLabel.font = [UIFont systemFontOfSize:14];
- upBtn.layer.cornerRadius = 5;
- upBtn.layer.masksToBounds = YES;
- [upBtn addTarget:self action:@selector(upBtnClick) forControlEvents:UIControlEventTouchUpInside];
- [_bottomView addSubview:upBtn];
- }
- return _bottomView;
- }
- //商品标题
- -(CommodityTitleView *)titleView{
- YBWeakSelf;
- if (!_titleView) {
- _titleView = [[CommodityTitleView alloc]initWithFrame:CGRectMake(0, self.commodityClassView.bottom+5, _window_width, 170)];
- _titleView.delegate = self;
- _titleView.heightEvent = ^(CGFloat height) {
- titleViewHeight = height;
- weakSelf.titleView.size = CGSizeMake(_window_width, height);
- [weakSelf reloadUIHeight];
- };
- }
- return _titleView;
- }
- //商品详情
- -(CommodityDetailView *)contentView{
- YBWeakSelf;
- if (!_contentView) {
- _contentView =[[CommodityDetailView alloc]initWithFrame:CGRectMake(0, self.titleView.bottom+5, _window_width, 330)];
- _contentView.delegate = self;
- _contentView.heightEvent = ^(CGFloat height) {
- detailViewHeight = height;
- weakSelf.contentView.size = CGSizeMake(_window_width, height);
- [weakSelf reloadUIHeight];
- };
- }
- return _contentView;
- }
- //商品规格
- -(UIView *)standardsBackView
- {
- if (!_standardsBackView) {
- _standardsBackView = [[UIView alloc]init];
- _standardsBackView.frame = CGRectMake(0, self.contentView.bottom+5, _window_width, 330);
- _standardsBackView.backgroundColor = UIColor.whiteColor;
-
- UILabel*title = [[UILabel alloc]init];
- title.frame = CGRectMake(12, 10, 180, 20);
- title.font = [UIFont boldSystemFontOfSize:14];
- title.text = YZMsg(@"编辑规格");
- title.textColor = [UIColor blackColor];
- [_standardsBackView addSubview:title];
- [standarsArr addObject:self.standardsView];
- [_standardsBackView addSubview:self.standardsView];
- [_standardsBackView addSubview:self.addStdBtn];
- }
- return _standardsBackView;
- }
- -(StandardsView *)standardsView{
- if (!_standardsView) {
- _standardsView = [[StandardsView alloc]initWithFrame:CGRectMake(0, 40, _window_width, 240)];
- _standardsView.titleLb.text =[NSString stringWithFormat:@"%@%@",YZMsg(@"规格"),@"1"];
- }
- return _standardsView;
- }
- //新增规格按钮
- -(UIButton *)addStdBtn{
- if (!_addStdBtn) {
- _addStdBtn = [UIButton buttonWithType:0];
- _addStdBtn.frame = CGRectMake(0, self.standardsView.bottom+5, _window_width, 40);
- [_addStdBtn setTitle:YZMsg(@"新增规格") forState:0];
- [_addStdBtn setImage:[UIImage imageNamed:@"addStard"] forState:0];
- [_addStdBtn setTitleColor:UIColor.blackColor forState:0];
- _addStdBtn.titleLabel.font = [UIFont systemFontOfSize:14];
- [_addStdBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0 )];
- [_addStdBtn addTarget:self action:@selector(addStdClick) forControlEvents:UIControlEventTouchUpInside];
- }
- return _addStdBtn;
- }
- //邮费设置界面
- -(UIView *)postageView
- {
- if (!_postageView) {
- _postageView = [[UIView alloc]initWithFrame:CGRectMake(0, self.standardsBackView.bottom+5, _window_width, 100)];
- _postageView.backgroundColor = UIColor.whiteColor;
-
- UILabel*title = [[UILabel alloc]init];
- title.frame = CGRectMake(12, 10, 180, 30);
- title.font = [UIFont boldSystemFontOfSize:14];
- title.text = YZMsg(@"运费设置");
- title.textColor = [UIColor blackColor];
- [_postageView addSubview:title];
-
- UILabel*title2 = [[UILabel alloc]init];
- title2.frame = CGRectMake(12, title.bottom+10, 180, 30);
- title2.font = [UIFont systemFontOfSize:14];
- title2.text = YZMsg(@"包邮");
- title2.textColor = UIColor.grayColor;
- [_postageView addSubview:title2];
- postageSwitch = [[UISwitch alloc]initWithFrame:CGRectMake(_window_width-90, title.bottom+10, 70, 30)];
- postageSwitch.centerY = title2.centerY;
- postageSwitch.on = YES;
- postageSwitch.onTintColor = Pink_Cor;
- [postageSwitch addTarget:self action:@selector(openPostage) forControlEvents:UIControlEventValueChanged];
- [_postageView addSubview:postageSwitch];
- postageback = [[UIView alloc]init];
- postageback.frame = CGRectMake(0, title2.bottom, _window_width, 50);
- postageback.backgroundColor = UIColor.whiteColor;
- postageback.hidden = YES;
- [_postageView addSubview:postageback];
-
- UILabel*title3 = [[UILabel alloc]init];
- title3.frame = CGRectMake(12, 10, 130, 30);
- title3.font = [UIFont boldSystemFontOfSize:14];
- title3.text = YZMsg(@"运费(元)");
- title3.textColor = UIColor.grayColor;
- [postageback addSubview:title3];
-
- postageField = [[UITextField alloc]init];
- postageField.frame = CGRectMake(title3.right+5, 10, _window_width-title3.right-25, 30);
- postageField.backgroundColor =RGB(245, 245, 245);// RGB_COLOR(@"#302D41", 1);
- postageField.textColor = [UIColor blackColor];
- postageField.font = [UIFont systemFontOfSize:14];
-
- NSMutableAttributedString*holderString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@" %@",YZMsg(@"最少1.00元")] attributes:@{NSForegroundColorAttributeName:[UIColor lightGrayColor]}];
- postageField.attributedPlaceholder = holderString;
- // postageField.placeholder = YZMsg(@"最少1.00元");
- postageField.layer.cornerRadius = 3;
- postageField.layer.masksToBounds = YES;
- postageField.returnKeyType = UIReturnKeyDone;
- postageField.keyboardType = UIKeyboardTypeNumberPad;
- postageField.delegate = self;
- [postageback addSubview:postageField];
- }
- return _postageView;
- }
- -(void)openPostage{
- // postageSwitch.on = !postageSwitch.on;
- if (postageSwitch.on) {
- postageHeight = 100;
- _postageView.frame =CGRectMake(0, self.standardsBackView.bottom+5, _window_width, 100);
- postageback.hidden = YES;
- }else{
- postageHeight = 150;
- _postageView.frame = CGRectMake(0, self.standardsBackView.bottom+5, _window_width, 150);
- postageback.hidden = NO;
- }
- [self reloadUIHeight];
- }
- #pragma mark--佣金
- -(UIView *)commissionView
- {
- if (!_commissionView) {
- _commissionView = [[UIView alloc]init];
- _commissionView = [[UIView alloc]initWithFrame:CGRectMake(0, self.postageView.bottom+5, _window_width, 100)];
- _commissionView.backgroundColor = UIColor.whiteColor;
-
- UILabel*title = [[UILabel alloc]init];
- title.frame = CGRectMake(12, 10, 280, 30);
- title.font = [UIFont boldSystemFontOfSize:14];
- title.text = YZMsg(@"分享佣金设置");
- title.textColor = [UIColor blackColor];
- [_commissionView addSubview:title];
-
- UILabel*title3 = [[UILabel alloc]init];
- title3.frame = CGRectMake(12, title.bottom+10, 130, 30);
- if (![lagType isEqual:ZH_CN]) {
- title3.frame = CGRectMake(12, title.bottom+10, 180, 30);
- }
- title3.font = [UIFont boldSystemFontOfSize:14];
- title3.text = YZMsg(@"佣金(元)");
- title3.textColor = UIColor.grayColor;
- [_commissionView addSubview:title3];
-
- commissionField = [[UITextField alloc]init];
- commissionField.frame = CGRectMake(title3.right+5, title.bottom+10, _window_width-title3.right-25, 30);
- commissionField.backgroundColor =RGB(245, 245, 245);// RGB_COLOR(@"#302D41", 1);
- commissionField.textColor = [UIColor blackColor];
- commissionField.font = [UIFont systemFontOfSize:14];
- commissionField.layer.cornerRadius = 3;
- commissionField.layer.masksToBounds = YES;
- commissionField.returnKeyType = UIReturnKeyDone;
- commissionField.delegate = self;
- [_commissionView addSubview:commissionField];
- }
- return _commissionView;
- }
- - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
- if (textField == commissionField) {
- if (string.length == 0) {
- return YES;
- }
- NSString *checkStr = [textField.text stringByReplacingCharactersInRange:range withString:string];
-
- NSString *regex = @"^\\-?([1-9]\\d*|0)(\\.\\d{0,2})?$";
- return [self isValid:checkStr withRegex:regex];
- }
- return YES;
- }
- - (BOOL) isValid:(NSString*)checkStr withRegex:(NSString*)regex {
- NSPredicate *predicte = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
- return [predicte evaluateWithObject:checkStr];
- }
- //刷新界面
- -(void)reloadUIHeight{
- self.titleView.frame = CGRectMake(0, self.commodityClassView.bottom+5, _window_width, titleViewHeight);
- self.contentView.frame = CGRectMake(0, self.titleView.bottom+5, _window_width, detailViewHeight);
- self.standardsBackView.frame = CGRectMake(0, self.contentView.bottom+5, _window_width, standardsHeight);
- self.postageView.frame = CGRectMake(0, self.standardsBackView.bottom+5, _window_width, postageHeight);
- self.commissionView.frame = CGRectMake(0, self.postageView.bottom+5, _window_width, commissionHeight);
- _backScroll.contentSize = CGSizeMake(_window_width, self.titleView.height+self.contentView.height+self.commodityClassView.height+standardsHeight+postageHeight+commissionHeight+64+statusbarHeight+60);
- NSLog(@"------------_backSscoll:%f",_backScroll.contentSize.height);
- }
- //商品类别
- -(UIView *)commodityClassView{
- if (!_commodityClassView) {
- _commodityClassView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, _window_width, 55)];
- _commodityClassView.backgroundColor = UIColor.whiteColor;
- [_backScroll addSubview:_commodityClassView];
-
- UILabel*title = [[UILabel alloc]init];
- title.frame = CGRectMake(12, 55/2-10, 180, 20);
- title.centerY = _commodityClassView.centerY;
- title.font = [UIFont boldSystemFontOfSize:14];
- title.text = YZMsg(@"商品类别");
- title.textColor = [UIColor blackColor];
- [_commodityClassView addSubview:title];
-
- UIImageView *rightImg = [[UIImageView alloc]init];
- rightImg.frame = CGRectMake(_window_width-30, 0, 16, 16);
- rightImg.centerY = _commodityClassView.centerY;
- rightImg.image = [UIImage imageNamed:@"shop_right"];
- [_commodityClassView addSubview:rightImg];
-
- _classLb = [[UILabel alloc]init];
- _classLb.frame = CGRectMake(rightImg.left-150, 0, 150, 20);
- _classLb.centerY = _commodityClassView.centerY;
- _classLb.font = [UIFont systemFontOfSize:14];
- _classLb.text = YZMsg(@"请选择");
- _classLb.textColor = [UIColor grayColor];
- _classLb.textAlignment = NSTextAlignmentRight;
- [_commodityClassView addSubview:_classLb];
-
- UITapGestureRecognizer *classTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(classClick)];
- [_commodityClassView addGestureRecognizer:classTap];
- }
- return _commodityClassView;
- }
- -(void)classClick{
- SelCommodityClassVC *class = [[SelCommodityClassVC alloc]init];
- class.selClassEvent = ^(NSDictionary * _Nonnull firstDic, NSDictionary * _Nonnull twoDic, NSDictionary * _Nonnull threeDic) {
- one_classidStr = minstr([firstDic valueForKey:@"gc_id"]);
- two_classidStr = minstr([twoDic valueForKey:@"gc_id"]);
- three_classidStr =minstr([threeDic valueForKey:@"gc_id"]);
- _classLb.text = minstr([threeDic valueForKey:@"gc_name"]);
- };
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:class animated:YES];
- }
- //添加规格
- -(void)addStdClick{
- YBWeakSelf;
- StandardsView *standardsView = [[StandardsView alloc]initWithFrame:CGRectMake(0, 40+standarsArr.count *240, _window_width, 240)];
- [_standardsBackView addSubview:standardsView];
- [standarsArr addObject:standardsView];
- standardsView.deleteBtn.hidden = NO;
- standardsView.index = (int)standarsArr.count;
- standardsView.titleLb.text = [NSString stringWithFormat:@"%@%d",YZMsg(@"规格"),standardsView.index];
- standardsView.deleteEvent = ^(NSInteger tags) {
- NSLog(@"add--------:%ld",tags);
- for(id tmpView in [weakSelf.standardsBackView subviews])
- {
- if([tmpView isKindOfClass:[StandardsView class]]){
- StandardsView *selView = (StandardsView *)tmpView;
- if (selView.index == tags) {
- [selView removeFromSuperview];
- [standarsArr removeObjectAtIndex:tags-1];
- }
- }
- }
- for (int i = 0; i < standarsArr.count; i ++) {
- StandardsView *imgVVVV = standarsArr[i];
- imgVVVV.y = 40+240 * i;
- imgVVVV.index = i+1;
- imgVVVV.titleLb.text = [NSString stringWithFormat:@"%@%d",YZMsg(@"规格"),imgVVVV.index];
- }
- standardsHeight = 330+240 *(standarsArr.count-1);
- self.addStdBtn.frame = CGRectMake(0, 40+standarsArr.count *240+5, _window_width, 40);
- [self reloadUIHeight];
- };
- standardsHeight = 330+240 *(standarsArr.count-1);
- self.addStdBtn.frame = CGRectMake(0, 40+standarsArr.count *240+5, _window_width, 40);
- [self reloadUIHeight];
-
- }
- #pragma mark------textFeildDelegate----------
- -(BOOL)textFieldShouldReturn:(UITextField *)textField
- {
- [postageField resignFirstResponder];
- return YES;
- }
- -(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
- {
- [self.view endEditing:YES];
- }
- //获取商品标题图集
- -(void)setCommodityImg:(NSMutableArray *)imgArr
- {
- self.titleImgArr = [NSArray arrayWithArray:imgArr];
- }
- //获取商品详情图集
- -(void)setCommodityDetailImg:(NSMutableArray *)imgArr
- {
- self.detailImgArr = [NSArray arrayWithArray:imgArr];
- }
- #pragma mark------上传信息----------
- -(void)upBtnClick{
- [self.standardsImgArr removeAllObjects];
- if ([_classLb.text isEqual:YZMsg(@"请选择")]) {
- [MBProgressHUD showError:YZMsg(@"请选择商品类别")];
- return;
- }
- if (self.titleView.titleText.text.length < 1) {
- [MBProgressHUD showError:YZMsg(@"请填写商品标题")];
- return;
- }
- if (self.titleImgArr.count < 1){
- [MBProgressHUD showError:YZMsg(@"请先上传图片信息")];
- return;
- }
- if (self.contentView.contentText.text.length < 1) {
- [MBProgressHUD showError:YZMsg(@"请填写商品详情")];
- return;
- }
- for (int i = 0; i < standarsArr.count; i ++) {
- StandardsView *imgVVVV = standarsArr[i];
- NSLog(@"adddddddd=====:%@",imgVVVV.imageArray);
- if (imgVVVV.nameField.text.length < 1) {
- [MBProgressHUD showError:YZMsg(@"请填写规格名称")];
- return;
- }else if(imgVVVV.countField.text.length < 1){
- [MBProgressHUD showError:YZMsg(@"请填写库存")];
- return;
- }else if(imgVVVV.priceField.text.length < 1){
- [MBProgressHUD showError:YZMsg(@"请填写单价")];
- return;
- }
-
- if (imgVVVV.imageArray.count < 1) {
- [MBProgressHUD showError:YZMsg(@"请先上传规格图片")];
- return;
- }
- }
- [MBProgressHUD showMessage:@""];
- YBWeakSelf;
- [[YBStorageObj storageManeger]getCOSType:^(int code) {
- dispatch_async(dispatch_get_main_queue(), ^{
- if (code == 0) {
- [weakSelf uploadAllImageAndVideo];
- }
- });
- }];
- // [YBToolClass postNetworkWithUrl:@"Video.GetQiniuToken" andParameter:nil success:^(int code, id _Nonnull info, NSString * _Nonnull msg) {
- // if (code == 0) {
- // NSDictionary *dic = [info firstObject];
- // if (self.titleView.videoPath.length > 0) {
- // NSLog(@"有视频-------");
- // if([self.titleView.videoPath containsString:[common qiniu_domain]]){
- // videoCorverStr = self.commodityModel.video_thumb;
- // videoHerfStr = self.commodityModel.video_url;
- // [self uploadImage:minstr([dic valueForKey:@"token"])];
- // }else{
- // [self uploadVideoWithToken:minstr([dic valueForKey:@"token"])];
- // }
- // }else{
- // [self uploadImage:minstr([dic valueForKey:@"token"])];
- // }
- // }else{
- // [MBProgressHUD hideHUD];
- // [MBProgressHUD showError:msg];
- // }
- // } fail:^{
- // [MBProgressHUD hideHUD];
- // }];
- }
- //上传所有图片和视频
- -(void)uploadAllImageAndVideo{
- YBWeakSelf;
- dispatch_group_t group = dispatch_group_create();
- dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
- dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
- //********************上传商品标题内容开始*****************************//
- //如果有视频
- if (self.titleView.newvideoPath.length > 0 || self.titleView.videoPath.length > 0) {
- //如果有本地视频使用本地视频
- if (self.titleView.newvideoPath.length > 0) {
- dispatch_group_async(group, queue, ^{
- NSString *videoName = [PublicObj getNameBaseCurrentTime:@"_seller_action_video.mp4"];
-
- [[YBStorageObj storageManeger]yb_storageVideoOrVoice:self.titleView.videoPath andName:videoName progress:^(CGFloat percent) {
-
- } complete:^(int code, NSString *key) {
- if (code != 0) {
- dispatch_async(dispatch_get_main_queue(), ^{
- [MBProgressHUD hideHUD];
- [MBProgressHUD showPop:YZMsg(@"上传失败")];
- });
- return;
- }
- videoHerfStr = key;
- dispatch_semaphore_signal(semaphore);
- }];
- dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
- });
- }else{
- //这是是服务端返回的视频链接
- videoCorverStr = self.commodityModel.video_thumb;
- videoHerfStr = self.commodityModel.video_url;
- }
- }
- if (self.titleImgArr.count > 0) {
- _upTitleImgArr = [NSMutableArray array];
- thumbs = @"";
- for (int i = 0; i < self.titleImgArr.count ; i ++) {
- if ([self.titleImgArr[i] isKindOfClass:[UIImage class]]) {
- UIImage *image =self.titleImgArr[i];
- NSData *imageData = UIImagePNGRepresentation(image);
- if (!imageData) {
- [MBProgressHUD hideHUD];
- [MBProgressHUD showError:YZMsg(@"图片错误")];
- return;
- }
- dispatch_group_async(group, queue, ^{
- NSString *imageName = [PublicObj getNameBaseCurrentTime:[NSString stringWithFormat:@"_commodity_title_image%d_cover.png", i]];
- [[YBStorageObj storageManeger]yb_storageImg:image andName:imageName progress:^(CGFloat percent) {
-
- }complete:^(int code, NSString *key) {
- if (code != 0) {
- dispatch_async(dispatch_get_main_queue(), ^{
- [MBProgressHUD hideHUD];
- [MBProgressHUD showPop:YZMsg(@"上传失败")];
- });
- return;
- }
- [_upTitleImgArr addObject:key];
- dispatch_semaphore_signal(semaphore);
- }];
- dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
- });
- }else{
- NSString *imgthumb =self.titleImgArr[i];
- NSArray *imgArr = [imgthumb componentsSeparatedByString:@"/"];
- imgthumb = [imgArr lastObject];
- [_upTitleImgArr addObject:imgthumb];
- }
- }
- };
-
- //********************上传商品标题内容结束*****************************//
- //********************上传商品详情内容开始*****************************//
- if (self.detailImgArr.count > 0) {
- _upDetailImgArr = [NSMutableArray array];
- pictures = @"";
- for (int i = 0; i < self.detailImgArr.count ; i ++) {
- if ([self.detailImgArr[i] isKindOfClass:[UIImage class]]) {
- UIImage *image =self.detailImgArr[i];
- NSData *imageData = UIImagePNGRepresentation(image);
- if (!imageData) {
- [MBProgressHUD hideHUD];
- [MBProgressHUD showError:YZMsg(@"图片错误")];
- return;
- }
- dispatch_group_async(group, queue, ^{
- NSString *imageName = [PublicObj getNameBaseCurrentTime:[NSString stringWithFormat:@"_commodity_detail_image%d_cover.png", i]];
- [[YBStorageObj storageManeger]yb_storageImg:image andName:imageName progress:^(CGFloat percent) {
-
- }complete:^(int code, NSString *key) {
- if (code != 0) {
- dispatch_async(dispatch_get_main_queue(), ^{
- [MBProgressHUD hideHUD];
- [MBProgressHUD showPop:YZMsg(@"上传失败")];
- });
- return;
- }
- [_upDetailImgArr addObject:key];
- dispatch_semaphore_signal(semaphore);
- }];
- dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
- });
- }else{
- NSString *imgthumb =self.detailImgArr[i];
- NSArray *imgArr = [imgthumb componentsSeparatedByString:@"/"];
- imgthumb = [imgArr lastObject];
- [_upDetailImgArr addObject:imgthumb];
- }
- }
- }else{
- picturesBool = YES;
- pictures = @"";
- }
-
- //********************上传商品详情内容结束*****************************//
- dispatch_group_notify(group, queue, ^{
- dispatch_async(dispatch_get_main_queue(), ^{
- NSMutableArray * sortTitleArr = [self compareArrWithArray:_upTitleImgArr];
- for (NSString *str in sortTitleArr) {
- if (thumbs.length == 0) {
- thumbs = str;
- }else{
- thumbs = [NSString stringWithFormat:@"%@,%@",thumbs,str];
- }
- }
- NSLog(@"-------标题图片合并完成------:%@",thumbs);
- thumbsBool = YES;
- NSMutableArray * sortDetailArr = [self compareArrWithArray:_upDetailImgArr];
- for (NSString *str in sortDetailArr) {
- if (pictures.length == 0) {
- pictures = str;
- }else{
- pictures = [NSString stringWithFormat:@"%@,%@",pictures,str];
- }
- }
- picturesBool = YES;
- if (thumbsBool && picturesBool) {
- [weakSelf uploadStandImg];
- }
- });
- NSLog(@"任务完成执行");
- });
- }
- //上传商品规格图片开始
- -(void)uploadStandImg{
- YBWeakSelf;
- dispatch_group_t group = dispatch_group_create();
- dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
- dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
- for (int i = 0; i < standarsArr.count; i ++) {
- StandardsView *imgVVVV = standarsArr[i];
- if ([imgVVVV.imageArray[0] isKindOfClass:[UIImage class]]) {
- UIImage *image =imgVVVV.imageArray[0];
- NSData *imageData = UIImagePNGRepresentation(image);
- if (!imageData) {
- [MBProgressHUD hideHUD];
- [MBProgressHUD showError:YZMsg(@"图片错误")];
- return;
- }
- dispatch_group_async(group, queue, ^{
- NSString *imageName = [PublicObj getNameBaseCurrentTime:[NSString stringWithFormat:@"_commodity_standard_image%d_cover.png", i]];
- [[YBStorageObj storageManeger]yb_storageImg:image andName:imageName progress:^(CGFloat percent) {
-
- }complete:^(int code, NSString *key) {
- if (code != 0) {
- dispatch_async(dispatch_get_main_queue(), ^{
- [MBProgressHUD hideHUD];
- [MBProgressHUD showPop:YZMsg(@"上传失败")];
- });
- return;
- }
- [self.standardsImgArr addObject:key];
- if (self.standardsImgArr.count == standarsArr.count) {
- standardsBool = YES;
- }
- dispatch_semaphore_signal(semaphore);
- }];
- dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
- });
- }else{
- NSString *imgthumb = [imgVVVV.imageArray[0] stringByReplacingOccurrencesOfString:[common qiniu_domain] withString:@""];
- [self.standardsImgArr addObject:imgthumb];
- if (self.standardsImgArr.count == standarsArr.count) {
- standardsBool = YES;
- }
- }
- }
- dispatch_group_notify(group, queue, ^{
- dispatch_async(dispatch_get_main_queue(), ^{
- if (standardsBool == YES) {
- [weakSelf submitService];
- }
- });
- NSLog(@"任务完成执行");
- });
- }
- -(NSMutableArray *)compareArrWithArray:(NSArray *)arr{
- //图片排序
- NSMutableDictionary *dict = [NSMutableDictionary dictionary];
- //这块取出数组中的数字, 请根据自己数组而定
- for (int i = 0; i < arr.count; i++) {
- NSArray *array = [arr[i] componentsSeparatedByString:@"_image"];
- NSString *str_t = [array lastObject];
-
- NSArray *array_t =[str_t componentsSeparatedByString:@"_cover"];
- NSString *str = [array_t firstObject];
- [dict setValue:arr[i] forKey:str];
- }
- NSArray *arrKey = [dict allKeys];
- //将key排序
- NSArray *sortedArray = [arrKey sortedArrayUsingComparator:^NSComparisonResult(id obj1,id obj2) {
- return[obj1 compare:obj2 options:NSNumericSearch];//正序
- }];
-
- NSMutableArray *orderValueArray=[NSMutableArray array];
-
- //根据key的顺序提取相应value
- for (NSString *key in sortedArray) {
- [orderValueArray addObject:[dict objectForKey:key]];
- }
- return orderValueArray;
- }
- -(void)submitService{
- NSString *postage;
- if (!postageSwitch.on) {
- postage = postageField.text;
- if (postage.length < 1) {
- [MBProgressHUD hideHUD];
- [MBProgressHUD showError:YZMsg(@"请输入运费")];
- return;
- }
- }else{
- postage = @"0";
- }
- NSString *share_income;
- if (commissionField.text.length < 1) {
- share_income = @"0";
- }else{
- share_income = commissionField.text;
- }
- NSMutableArray *specsArr = [NSMutableArray array];
- for (int i = 0; i < standarsArr.count; i ++) {
- StandardsView *imgVVVV = standarsArr[i];
- NSString *standard_image = [NSString stringWithFormat:@"_standard_image%d",i];
- NSString *selImageStr;
- for (NSString *picStr in self.standardsImgArr) {
- if ([picStr containsString:standard_image]) {
- selImageStr = picStr;
- }
- }
- NSString *spec_id = [NSString stringWithFormat:@"%d",i+1];
- NSString *spec_name = imgVVVV.nameField.text;
- NSString *spec_num = imgVVVV.countField.text;
- NSString *price = imgVVVV.priceField.text;
- NSString *thumb = selImageStr;
-
- NSMutableDictionary *specDic = [NSMutableDictionary dictionary];
- [specDic setValue:spec_id forKey:@"spec_id"];
- [specDic setValue:spec_name forKey:@"spec_name"];
- [specDic setValue:spec_num forKey:@"spec_num"];
- [specDic setValue:price forKey:@"price"];
- [specDic setValue:thumb forKey:@"thumb"];
- [specsArr addObject:specDic];
- }
- NSString *specsStr = [self gs_jsonStringCompactFormatForNSArray:specsArr];
- NSMutableDictionary *dic = [NSMutableDictionary dictionary];
- [dic setValue:[Config getOwnID] forKey:@"uid"];
- [dic setValue:[Config getOwnToken] forKey:@"token"];
- [dic setValue:one_classidStr forKey:@"one_classid"];
- [dic setValue:two_classidStr forKey:@"two_classid"];
- [dic setValue:three_classidStr forKey:@"three_classid"];
- [dic setValue:self.titleView.titleText.text forKey:@"name"];
- [dic setValue:videoHerfStr forKey:@"video_url"];
- [dic setValue:videoCorverStr forKey:@"video_thumb"];
- [dic setValue:thumbs forKey:@"thumbs"];
- [dic setValue:self.contentView.contentText.text forKey:@"content"];
- [dic setValue:pictures forKey:@"pictures"];
- [dic setValue:specsStr forKey:@"specs"];
- [dic setValue:postage forKey:@"postage"];
- [dic setValue:share_income forKey:@"share_income"];
- NSString *url;
- if ([self.fromWhere isEqual:@"seller"]) {
- // url = [purl stringByAppendingFormat:@"?service=Seller.upgoods"];
- url = @"Seller.upgoods";
- [dic setValue:self.commodityModel.goodsid forKey:@"goodsid"];
- }else{
- url = @"Seller.setGoods";
- }
-
- [YBNetworking postWithUrl:url Dic:dic Suc:^(int code, id info, NSString *msg) {
- [MBProgressHUD hideHUD];
- if (code ==0) {
- [MBProgressHUD showError: msg];
- [[YBBaseAppDelegate sharedAppDelegate]popViewController:YES];
- }else{
- [MBProgressHUD showError:msg];
- }
- } Fail:^(id fail) {
- [MBProgressHUD hideHUD];
- }];
- }
- - (NSString *)gs_jsonStringCompactFormatForNSArray:(NSArray *)arrJson {
- if (![arrJson isKindOfClass:[NSArray class]] || ![NSJSONSerialization isValidJSONObject:arrJson]) {
- return nil;
- }
- NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arrJson options:0 error:nil];
- NSString *strJson = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- return strJson;
- }
- #pragma mark-------商家编辑商品赋值-----------------
- -(void)reloadUIData{
- _classLb.text = self.commodityModel.three_class_name;
- one_classidStr =self.commodityModel.one_classid;
- two_classidStr = self.commodityModel.two_classid;
- three_classidStr =self.commodityModel.three_classid;
- self.titleView.titleText.text =self.commodityModel.name;
- [self.titleView setDetaiModelData:self.commodityModel fromWhere:@"seller"];
-
- commissionField.text = minstr([self.commodityModel.goods_info valueForKey:@"share_income"]);
- self.contentView.contentText.text = self.commodityModel.content;
- [self.contentView setDetaiModelData:self.commodityModel fromWhere:@"seller"];
- if (self.commodityModel.specs_format.count > 0) {
- for (int i = 1; i < self.commodityModel.specs_format.count; i++) {
- [self addStdClick];
- }
- for (int i = 0; i < standarsArr.count; i ++) {
- StandardsView *imgVVVV = standarsArr[i];
- imgVVVV.nameField.text = minstr([self.commodityModel.specs_format[i] valueForKey:@"spec_name"]);
- imgVVVV.countField.text = minstr([self.commodityModel.specs_format[i] valueForKey:@"spec_num"]);
- imgVVVV.priceField.text = minstr([self.commodityModel.specs_format[i] valueForKey:@"price"]);
-
- NSString *imgurl =minstr([self.commodityModel.specs_format[i] valueForKey:@"thumb"]);
- [imgVVVV.imgeBtn sd_setBackgroundImageWithURL:[NSURL URLWithString:imgurl] forState:0];
- [imgVVVV.imgeBtn setImage:nil forState:0];
- [imgVVVV.imgeBtn setTitle:nil forState:0];
- imgVVVV.delBtn.hidden = NO;
- [imgVVVV.imageArray removeAllObjects];
- [imgVVVV.imageArray addObject:imgurl];
- }
- }
- if ([self.commodityModel.postage floatValue] > 0) {
- postageSwitch.on = YES;
- [self openPostage];
- postageField.text = self.commodityModel.postage;
- }else{
- postageSwitch.on = YES;
- }
- }
- -(void)scrollViewDidScroll:(UIScrollView *)scrollView
- {
- // NSLog(@"jjjjjjjj:%f",scrollView.contentOffset.y);
- currentScrollY =scrollView.contentOffset.y;
- }
- #pragma mark -- 获取键盘高度
- - (void)keyboardWillShow:(NSNotification *)aNotification
- {
- if (postageField.isFirstResponder||commissionField.isFirstResponder) {
- NSDictionary *userInfo = [aNotification userInfo];
- NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
- CGRect keyboardRect = [aValue CGRectValue];
- CGFloat height = keyboardRect.origin.y;
- CGFloat heightw = keyboardRect.size.height;
- int newHeight = _window_height - height -44;
- [UIView animateWithDuration:0.3 animations:^{
- [_backScroll setContentOffset:CGPointMake(0, currentScrollY+heightw)];
- }];
- }
- //获取键盘的高度
- }
- - (void)keyboardWillHide:(NSNotification *)aNotification
- {
- if (postageField.resignFirstResponder) {
- NSDictionary *userInfo = [aNotification userInfo];
- NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
- CGRect keyboardRect = [aValue CGRectValue];
- CGFloat height = keyboardRect.origin.y;
- CGFloat heightw = keyboardRect.size.height;
- [UIView animateWithDuration:0.1 animations:^{
- [UIView animateWithDuration:0.3 animations:^{
- [_backScroll setContentOffset:CGPointMake(0, currentScrollY-heightw)];
- }];
- }];
- // [UIView animateWithDuration:0.1 animations:^{
- // [UIView animateWithDuration:0.3 animations:^{
- // [_backScroll setContentOffset:CGPointMake(0, 520)];
- // }];
- // }];
- }
- // else{
- // [UIView animateWithDuration:0.1 animations:^{
- // [UIView animateWithDuration:0.3 animations:^{
- // [_backScroll setContentOffset:CGPointMake(0, 0)];
- // }];
- // }];
- //
- // }
- }
- @end
|