Commit 7288c14de7053e22afaab90e951771c319cc6b93

Authored by “张旭”
1 parent 6a7dcb1a

机构认证部分逻辑

metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
@@ -665,56 +665,110 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -665,56 +665,110 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
665 } 665 }
666 } 666 }
667 667
668 - // MARK: - 获取身份信息是个人认证还是企业认证 668 + // MARK: - 获取身份信息是个人认证还是企业认证,机构认证
669 func getStandInfo(identityId:String){ 669 func getStandInfo(identityId:String){
670 CNLiveMineViewModel.requestsStandInfo(identityId: identityId, type: .effect, authType: .person) { result, respStatue in 670 CNLiveMineViewModel.requestsStandInfo(identityId: identityId, type: .effect, authType: .person) { result, respStatue in
671 hiddenLoading() 671 hiddenLoading()
672 if respStatue == .success{ 672 if respStatue == .success{
673 let standInfoBaseModel = result as! MineStandInfoBaseModel 673 let standInfoBaseModel = result as! MineStandInfoBaseModel
  674 + self.dataArray.forEach { standListModel in
  675 + let listModel = standListModel as! StandListModel
  676 + listModel.standInfoBaseModel = standInfoBaseModel
  677 + }
  678 +
674 if standInfoBaseModel.authInfos.count > 0{ 679 if standInfoBaseModel.authInfos.count > 0{
675 //个人认证有值 680 //个人认证有值
676 if standInfoBaseModel.enterpriseAuthInfos.count > 0{ 681 if standInfoBaseModel.enterpriseAuthInfos.count > 0{
677 - //企业认证有值 682 + //个人有值,企业认证有值
  683 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  684 + //个人有值,企业有值,机构认证有值
  685 + self.dataArray.forEach { standListModel in
  686 + let listModel = standListModel as! StandListModel
  687 + if listModel.id == standInfoBaseModel.identityId{
  688 + //目标model,企业+个人+机构
  689 + listModel.isPersonOrEnterprise = 4
  690 + }
  691 + }
  692 +
  693 + }else{
  694 + //个人有值,企业有值,机构认证没值
  695 + self.dataArray.forEach { standListModel in
  696 + let listModel = standListModel as! StandListModel
  697 + if listModel.id == standInfoBaseModel.identityId{
  698 + //目标model,企业+个人
  699 + listModel.isPersonOrEnterprise = 0
  700 + }
  701 + }
  702 + }
  703 +
  704 + }else{
  705 + //个人有值,企业认证没值
  706 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  707 + //个人有值,企业没值,机构有值
  708 + self.dataArray.forEach { standListModel in
  709 + let listModel = standListModel as! StandListModel
  710 + if listModel.id == standInfoBaseModel.identityId{
  711 + //目标model
  712 + listModel.isPersonOrEnterprise = 0
  713 + }
  714 + }
  715 + }else{
  716 + //个人有值,企业没值,机构没值
  717 + self.dataArray.forEach { standListModel in
  718 + let listModel = standListModel as! StandListModel
  719 + if listModel.id == standInfoBaseModel.identityId{
  720 + //目标model ,个人
  721 + listModel.isPersonOrEnterprise = 1
  722 + }
  723 + }
  724 + }
  725 + }
  726 +
  727 + }else if standInfoBaseModel.enterpriseAuthInfos.count > 0{
  728 + //企业认证有值,个人没值
  729 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  730 + ///企业有值,个人没值,机构有值
678 self.dataArray.forEach { standListModel in 731 self.dataArray.forEach { standListModel in
679 let listModel = standListModel as! StandListModel 732 let listModel = standListModel as! StandListModel
680 if listModel.id == standInfoBaseModel.identityId{ 733 if listModel.id == standInfoBaseModel.identityId{
681 - //目标model,企业+个人 734 + //目标model
682 listModel.isPersonOrEnterprise = 0 735 listModel.isPersonOrEnterprise = 0
683 } 736 }
684 } 737 }
685 -  
686 }else{ 738 }else{
687 - //企业认证没值  
688 - //只显示个人 739 + ///企业有值,个人没值,机构没值
689 self.dataArray.forEach { standListModel in 740 self.dataArray.forEach { standListModel in
690 let listModel = standListModel as! StandListModel 741 let listModel = standListModel as! StandListModel
691 if listModel.id == standInfoBaseModel.identityId{ 742 if listModel.id == standInfoBaseModel.identityId{
692 - //目标model ,个人  
693 - listModel.isPersonOrEnterprise = 1 743 + //目标model ,企业
  744 + listModel.isPersonOrEnterprise = 2
694 } 745 }
695 } 746 }
696 } 747 }
697 748
698 - }else if standInfoBaseModel.enterpriseAuthInfos.count > 0{  
699 - //企业认证有值,个人没值  
700 - //只显示企业  
701 - self.dataArray.forEach { standListModel in  
702 - let listModel = standListModel as! StandListModel  
703 - if listModel.id == standInfoBaseModel.identityId{  
704 - //目标model ,企业  
705 - listModel.isPersonOrEnterprise = 2  
706 - }  
707 - }  
708 749
709 }else{ 750 }else{
710 //企业个人都没值 751 //企业个人都没值
711 - self.dataArray.forEach { standListModel in  
712 - let listModel = standListModel as! StandListModel  
713 - if listModel.id == standInfoBaseModel.identityId{  
714 - //目标model ,已认证/无企业和个人  
715 - listModel.isPersonOrEnterprise = 3 752 + if standInfoBaseModel.agencyAuthInfos.count > 0{
  753 + //企业没值,个人没值,机构有值
  754 + self.dataArray.forEach { standListModel in
  755 + let listModel = standListModel as! StandListModel
  756 + if listModel.id == standInfoBaseModel.identityId{
  757 + //目标model 机构
  758 + listModel.isPersonOrEnterprise = 5
  759 + }
  760 + }
  761 + }else{
  762 + //企业没值,个人没值,机构没值
  763 + self.dataArray.forEach { standListModel in
  764 + let listModel = standListModel as! StandListModel
  765 + if listModel.id == standInfoBaseModel.identityId{
  766 + //目标model ,已认证/无企业和个人
  767 + listModel.isPersonOrEnterprise = 3
  768 + }
716 } 769 }
717 } 770 }
  771 +
718 } 772 }
719 self.pageFlowView.reloadData() 773 self.pageFlowView.reloadData()
720 }else{ 774 }else{
metaCode/Classes/Main/HomePage/View/VerticalViews/MainView/CNMainView.swift
@@ -75,7 +75,15 @@ class CNFrontMainView : UIView{ @@ -75,7 +75,15 @@ class CNFrontMainView : UIView{
75 make.width.equalTo(120) 75 make.width.equalTo(120)
76 make.height.equalTo(36) 76 make.height.equalTo(36)
77 } 77 }
78 - 78 +
  79 + frontDescContentView.addSubview(self.unStandBtnBgView)
  80 + unStandBtnBgView.snp.makeConstraints { make in
  81 + make.left.equalToSuperview().offset(30)
  82 + make.bottom.equalToSuperview().offset(-45)
  83 + make.width.equalTo(self.width-60)
  84 + make.height.equalTo(36)
  85 + }
  86 +
79 87
80 frontDescContentView.addSubview(self.textView) 88 frontDescContentView.addSubview(self.textView)
81 textView.snp.makeConstraints { make in 89 textView.snp.makeConstraints { make in
@@ -105,7 +113,7 @@ class CNFrontMainView : UIView{ @@ -105,7 +113,7 @@ class CNFrontMainView : UIView{
105 return textView 113 return textView
106 }() 114 }()
107 115
108 - ///未认证-店铺认证 按钮 116 + ///未认证-店铺认证 按钮(一个按钮时)
109 lazy var addStandBtn: UIButton = { 117 lazy var addStandBtn: UIButton = {
110 let addStandBtn = UIButton(type: .custom) 118 let addStandBtn = UIButton(type: .custom)
111 addStandBtn.clipsToBounds = true 119 addStandBtn.clipsToBounds = true
@@ -118,7 +126,7 @@ class CNFrontMainView : UIView{ @@ -118,7 +126,7 @@ class CNFrontMainView : UIView{
118 return addStandBtn 126 return addStandBtn
119 }() 127 }()
120 128
121 - ///未认证-个人认证 按钮 129 + ///未认证-个人认证 按钮(两个按钮时第一个)
122 lazy var personalStandBtn: UIButton = { 130 lazy var personalStandBtn: UIButton = {
123 let personalStandBtn = UIButton(type: .custom) 131 let personalStandBtn = UIButton(type: .custom)
124 personalStandBtn.layer.cornerRadius = 19.5 132 personalStandBtn.layer.cornerRadius = 19.5
@@ -127,9 +135,10 @@ class CNFrontMainView : UIView{ @@ -127,9 +135,10 @@ class CNFrontMainView : UIView{
127 personalStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) 135 personalStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal)
128 personalStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) 136 personalStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
129 personalStandBtn.addTarget(self, action: #selector(personalStandBtnAction), for: .touchUpInside) 137 personalStandBtn.addTarget(self, action: #selector(personalStandBtnAction), for: .touchUpInside)
  138 + personalStandBtn.isHidden = true
130 return personalStandBtn 139 return personalStandBtn
131 }() 140 }()
132 - ///未认证-企业认证 按钮 141 + ///未认证-企业认证 按钮(两个按钮时第二个)
133 lazy var enterpriseStandBtn: UIButton = { 142 lazy var enterpriseStandBtn: UIButton = {
134 let enterpriseStandBtn = UIButton(type: .custom) 143 let enterpriseStandBtn = UIButton(type: .custom)
135 enterpriseStandBtn.layer.cornerRadius = 19.5 144 enterpriseStandBtn.layer.cornerRadius = 19.5
@@ -138,8 +147,16 @@ class CNFrontMainView : UIView{ @@ -138,8 +147,16 @@ class CNFrontMainView : UIView{
138 enterpriseStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal) 147 enterpriseStandBtn.setTitleColor(HexColor("#FFFFFF"), for: .normal)
139 enterpriseStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14) 148 enterpriseStandBtn.titleLabel?.font = UIFont.init(name: "PingFangSC-Medium", size: 14)
140 enterpriseStandBtn.addTarget(self, action: #selector(enterpriseStandBtnAction), for: .touchUpInside) 149 enterpriseStandBtn.addTarget(self, action: #selector(enterpriseStandBtnAction), for: .touchUpInside)
  150 + enterpriseStandBtn.isHidden = true
141 return enterpriseStandBtn 151 return enterpriseStandBtn
142 }() 152 }()
  153 + //未认证-3个认证按钮背景图
  154 + lazy var unStandBtnBgView :UIView = {
  155 + let unStandBtnBgView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
  156 + unStandBtnBgView.backgroundColor = .red
  157 + return unStandBtnBgView
  158 + }()
  159 +
143 160
144 //上滑更多Gif 161 //上滑更多Gif
145 lazy var upMoreGIF: UIImageView = { 162 lazy var upMoreGIF: UIImageView = {
@@ -220,10 +237,9 @@ class CNFrontMainView : UIView{ @@ -220,10 +237,9 @@ class CNFrontMainView : UIView{
220 self.addStandBtn.isHidden = true 237 self.addStandBtn.isHidden = true
221 self.iDCardView.idModel = newValue! 238 self.iDCardView.idModel = newValue!
222 cardViewBgImgView.kf.setImage(with: URL(string: _idModel!.cardBackgroundImg), placeholder: UIImage(named: "homepage_cardBGImg")) 239 cardViewBgImgView.kf.setImage(with: URL(string: _idModel!.cardBackgroundImg), placeholder: UIImage(named: "homepage_cardBGImg"))
223 -  
224 -  
225 //隐藏textview 240 //隐藏textview
226 textView.isHidden = true 241 textView.isHidden = true
  242 + unStandBtnBgView.isHidden = true
227 243
228 if frontCardContentView.contains(self.upMoreGIF){ 244 if frontCardContentView.contains(self.upMoreGIF){
229 self.upMoreGIF.removeFromSuperview() 245 self.upMoreGIF.removeFromSuperview()
@@ -269,6 +285,7 @@ class CNFrontMainView : UIView{ @@ -269,6 +285,7 @@ class CNFrontMainView : UIView{
269 self.addStandBtn.isHidden = false 285 self.addStandBtn.isHidden = false
270 self.personalStandBtn.isHidden = true 286 self.personalStandBtn.isHidden = true
271 self.enterpriseStandBtn.isHidden = true 287 self.enterpriseStandBtn.isHidden = true
  288 + self.unStandBtnBgView.isHidden = true
272 self.addStandBtn.isUserInteractionEnabled = true 289 self.addStandBtn.isUserInteractionEnabled = true
273 if idModel?.shopInfoModel?.state == "0" || idModel?.shopInfoModel?.state == "4"{ 290 if idModel?.shopInfoModel?.state == "0" || idModel?.shopInfoModel?.state == "4"{
274 //0未申请 //4闭店 291 //0未申请 //4闭店
@@ -293,30 +310,63 @@ class CNFrontMainView : UIView{ @@ -293,30 +310,63 @@ class CNFrontMainView : UIView{
293 upMoreGIF.isHidden = false 310 upMoreGIF.isHidden = false
294 downMoreGIF.isHidden = false 311 downMoreGIF.isHidden = false
295 312
296 - if idModel?.isPersonOrEnterprise == 0{//企业+个人 313 + if idModel?.isPersonOrEnterprise == 0{//企业+个人等 2个按钮
297 self.addStandBtn.isHidden = true 314 self.addStandBtn.isHidden = true
298 self.personalStandBtn.isHidden = false 315 self.personalStandBtn.isHidden = false
299 self.enterpriseStandBtn.isHidden = false 316 self.enterpriseStandBtn.isHidden = false
  317 + unStandBtnBgView.isHidden = true
  318 + let presonInfoCount = self.idModel?.standInfoBaseModel?.authInfos.count ?? 0
  319 + let enterInfoCount = self.idModel?.standInfoBaseModel?.enterpriseAuthInfos.count ?? 0
  320 + let agencyInfoCount = self.idModel?.standInfoBaseModel?.agencyAuthInfos.count ?? 0
  321 + if presonInfoCount > 0 && enterInfoCount > 0{
  322 + //个人+企业
  323 + self.personalStandBtn.setTitle("个人认证", for: .normal)
  324 + self.enterpriseStandBtn.setTitle("企业认证", for: .normal)
  325 + }else if presonInfoCount > 0 && agencyInfoCount > 0{
  326 + //个人+机构
  327 + self.personalStandBtn.setTitle("个人认证", for: .normal)
  328 + self.enterpriseStandBtn.setTitle("机构认证", for: .normal)
  329 + }else if enterInfoCount > 0 && agencyInfoCount > 0{
  330 + //企业+机构
  331 + self.personalStandBtn.setTitle("企业认证", for: .normal)
  332 + self.enterpriseStandBtn.setTitle("机构认证", for: .normal)
  333 + }
300 }else if idModel?.isPersonOrEnterprise == 1{//个人 334 }else if idModel?.isPersonOrEnterprise == 1{//个人
301 self.addStandBtn.isHidden = false 335 self.addStandBtn.isHidden = false
302 self.addStandBtn.setTitle("个人认证", for: .normal) 336 self.addStandBtn.setTitle("个人认证", for: .normal)
303 self.personalStandBtn.isHidden = true 337 self.personalStandBtn.isHidden = true
304 self.enterpriseStandBtn.isHidden = true 338 self.enterpriseStandBtn.isHidden = true
  339 + self.unStandBtnBgView.isHidden = true
305 }else if idModel?.isPersonOrEnterprise == 2{//企业 340 }else if idModel?.isPersonOrEnterprise == 2{//企业
306 self.addStandBtn.isHidden = false 341 self.addStandBtn.isHidden = false
307 self.addStandBtn.setTitle("企业认证", for: .normal) 342 self.addStandBtn.setTitle("企业认证", for: .normal)
308 self.personalStandBtn.isHidden = true 343 self.personalStandBtn.isHidden = true
309 self.enterpriseStandBtn.isHidden = true 344 self.enterpriseStandBtn.isHidden = true
  345 + self.unStandBtnBgView.isHidden = true
310 }else if idModel?.isPersonOrEnterprise == 3{//已认证/无企业和个人 346 }else if idModel?.isPersonOrEnterprise == 3{//已认证/无企业和个人
311 //不显示认证按钮 347 //不显示认证按钮
312 self.addStandBtn.isHidden = true 348 self.addStandBtn.isHidden = true
313 self.personalStandBtn.isHidden = true 349 self.personalStandBtn.isHidden = true
314 self.enterpriseStandBtn.isHidden = true 350 self.enterpriseStandBtn.isHidden = true
  351 + self.unStandBtnBgView.isHidden = true
  352 + }else if idModel?.isPersonOrEnterprise == 4{//个人+企业+机构
  353 + //显示认证按钮
  354 + self.addStandBtn.isHidden = true
  355 + self.personalStandBtn.isHidden = true
  356 + self.enterpriseStandBtn.isHidden = true
  357 + self.unStandBtnBgView.isHidden = false
  358 + }else if idModel?.isPersonOrEnterprise == 5{//机构
  359 + self.addStandBtn.isHidden = false
  360 + self.addStandBtn.setTitle("机构认证", for: .normal)
  361 + self.personalStandBtn.isHidden = true
  362 + self.enterpriseStandBtn.isHidden = true
  363 + self.unStandBtnBgView.isHidden = true
315 }else{ 364 }else{
316 //不显示认证按钮 365 //不显示认证按钮
317 self.addStandBtn.isHidden = true 366 self.addStandBtn.isHidden = true
318 self.personalStandBtn.isHidden = false 367 self.personalStandBtn.isHidden = false
319 self.enterpriseStandBtn.isHidden = false 368 self.enterpriseStandBtn.isHidden = false
  369 + self.unStandBtnBgView.isHidden = true
320 } 370 }
321 } 371 }
322 372
@@ -405,6 +455,10 @@ class CNFrontMainView : UIView{ @@ -405,6 +455,10 @@ class CNFrontMainView : UIView{
405 //企业 455 //企业
406 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .enterprise), animated: pushAnimated) 456 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .enterprise), animated: pushAnimated)
407 457
  458 + }else if self._idModel!.isPersonOrEnterprise == 5{
  459 + //机构
  460 + navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .enterprise), animated: pushAnimated)//enterprise换成机构
  461 +
408 }else{ 462 }else{
409 if isPersonOrEnterprise == 1{ 463 if isPersonOrEnterprise == 1{
410 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .person), animated: pushAnimated) 464 navigationViewController().pushViewController(CNLiveMineInputViewController.init(listModel: self._idModel!, authType: .person), animated: pushAnimated)
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
@@ -160,11 +160,14 @@ final class StandListModel: BaseModel {//, TableCodable { @@ -160,11 +160,14 @@ final class StandListModel: BaseModel {//, TableCodable {
160 var createTimeString: String = ""//- 160 var createTimeString: String = ""//-
161 var timeString: String = "" 161 var timeString: String = ""
162 162
  163 + ////自定义属性
163 //电商身份专用 164 //电商身份专用
164 var shopInfoModel: MineApplyShopInfoModel? 165 var shopInfoModel: MineApplyShopInfoModel?
165 166
166 - ///自定义 判断是 0个人+企业 , 1个人, 2企业 3已认证/无企业和个人 167 + ///自定义 判断是 0个人+企业(两个组合) , 1个人, 2企业 3已认证/无企业和个人 , 4个人+企业+机构 5机构
167 var isPersonOrEnterprise: Int = 0 168 var isPersonOrEnterprise: Int = 0
  169 + //身份详情model
  170 + var standInfoBaseModel:MineStandInfoBaseModel?
168 171
169 override func mapping(mapper: HelpingMapper) { 172 override func mapping(mapper: HelpingMapper) {
170 mapper <<< 173 mapper <<<
@@ -222,8 +225,9 @@ final class StandListModel: BaseModel {//, TableCodable { @@ -222,8 +225,9 @@ final class StandListModel: BaseModel {//, TableCodable {
222 225
223 // !!!: /api/identityApi/getIdentity 接口标记 226 // !!!: /api/identityApi/getIdentity 接口标记
224 class MineStandInfoBaseModel: BaseModel { 227 class MineStandInfoBaseModel: BaseModel {
225 - var authInfos = [MineStandInfoModel]()  
226 - var enterpriseAuthInfos = [MineStandInfoModel]() 228 + var authInfos = [MineStandInfoModel]()//个人认证
  229 + var enterpriseAuthInfos = [MineStandInfoModel]()//企业认证
  230 + var agencyAuthInfos = [MineStandInfoModel]()//机构认证
227 var icon: String? 231 var icon: String?
228 var name: String? 232 var name: String?
229 var identityId: Int = 0 233 var identityId: Int = 0
@@ -240,7 +244,8 @@ class MineStandInfoModel: BaseModel { @@ -240,7 +244,8 @@ class MineStandInfoModel: BaseModel {
240 var sort: Int = 0 244 var sort: Int = 0
241 var name: String?//卡片标签 245 var name: String?//卡片标签
242 var sub_title: String?//报名项说明 246 var sub_title: String?//报名项说明
243 - var inputType: Int = 0//1 文本输入 2数字输入 3下拉选择 4认证时间 5认证编码 6正图 7小竖图 8大横图 9单选 10多选 11选项 12时间选择器 13主标题 16大文本框 247 + var inputType: Int = 0//1 文本输入 2数字输入 3下拉选择 4认证时间 5认证编码 6正图 7小竖图 8大横图 9单选 10多选 11选项 12时间选择器 13主标题 16大文本框 17弹窗
  248 + var subTitle: String?//17时弹窗 inputType =17 弹窗; subTitle 返回json image、jumpType 、jumpPath ;jumpType 沿用身份里的类型 ‘1 外链 2原生页面 3店铺详情 4 店铺控制台’ 并新增 ‘5上滑地址 6下滑地址’
244 var nonEmpty: Bool = false 249 var nonEmpty: Bool = false
245 var length: Int = 10 250 var length: Int = 10
246 var children = [MineStandInfoModel]() 251 var children = [MineStandInfoModel]()
@@ -250,6 +255,11 @@ class MineStandInfoModel: BaseModel { @@ -250,6 +255,11 @@ class MineStandInfoModel: BaseModel {
250 var value: String? = ""//自己定义的值 255 var value: String? = ""//自己定义的值
251 256
252 } 257 }
  258 +class MineStandInfoSubTitleModel: BaseModel {
  259 + var image: String? = ""//弹窗图片
  260 + var jumpType: String? = ""//弹窗点击跳转类型
  261 + var jumpPath: String? = ""//弹窗点击跳转地址
  262 +}
253 263
254 // !!!: api/identityApi/myList 数据返回 264 // !!!: api/identityApi/myList 数据返回
255 class MineAuthListBaseModel: BaseModel { 265 class MineAuthListBaseModel: BaseModel {