Browse Source

购物车订单 -- fix

Chris 6 years ago
parent
commit
71fe73402a

+ 21 - 5
RainbowPlanet/RainbowPlanet/Modules/MineModule/EditSelfMentionContacts/ViewController/EditSelfMentionContactsViewController.swift

@@ -14,6 +14,7 @@ class EditSelfMentionContactsViewController: BaseViewController {
     var saveClosure : SaveClosure?
     
     var selfMentionContactsModel: SelfMentionContactsModel?
+    var selfMentionContactsModel1 = SelfMentionContactsModel()
     
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -43,8 +44,14 @@ class EditSelfMentionContactsViewController: BaseViewController {
         editSelfMentionContactsView.selfMentionContactsModel = selfMentionContactsModel
         editSelfMentionContactsView.selfMentionContactsClosure = { //赋值
             [weak self] (moblie,name) in
-            self?.selfMentionContactsModel?.mobile = moblie
-            self?.selfMentionContactsModel?.name = name
+            if self?.selfMentionContactsModel != nil {
+                self?.selfMentionContactsModel?.mobile = moblie
+                self?.selfMentionContactsModel?.name = name
+            }else {
+                self?.selfMentionContactsModel1.mobile = moblie
+                self?.selfMentionContactsModel1.name = name
+            }
+            
         }
         editSelfMentionContactsView.deleteClosure = { //删除
             [weak self] in
@@ -58,10 +65,19 @@ class EditSelfMentionContactsViewController: BaseViewController {
     
     /// 新增、编辑 自提地址收货人信息
     func userSaveExpreesContactsApi() {
-        SwiftMoyaNetWorkServiceUser.shared().userSaveExpreesContactsApi(id: self.selfMentionContactsModel?.id ?? 0 ,mobile: self.selfMentionContactsModel?.mobile ?? "", name: self.selfMentionContactsModel?.name ?? "") {
-            [weak self] (data) -> (Void) in
-             self?.popVC()
+        
+        if self.selfMentionContactsModel != nil {
+            SwiftMoyaNetWorkServiceUser.shared().userSaveExpreesContactsApi(id: self.selfMentionContactsModel?.id ?? 0 ,mobile: self.selfMentionContactsModel?.mobile ?? "", name: self.selfMentionContactsModel?.name ?? "") {
+                [weak self] (data) -> (Void) in
+                self?.popVC()
+            }
+        }else {
+            SwiftMoyaNetWorkServiceUser.shared().userSaveExpreesContactsApi(id: self.selfMentionContactsModel1.id ?? 0 ,mobile: self.selfMentionContactsModel1.mobile ?? "", name: self.selfMentionContactsModel1.name ?? "") {
+                [weak self] (data) -> (Void) in
+                self?.popVC()
+            }
         }
+        
     }
     
     /// 删除 自提地址收货人信息

+ 14 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartView.swift

@@ -16,6 +16,13 @@ class ShoppingCartView: BaseView {
             tableView.reloadData()
             self.judgeAllSelectedStatus()
             self.refreshAccountView()
+            
+            // FIXME: to be deal
+            if cartListModelArr?.isEmpty ?? true {
+                accountView.isHidden = true
+            } else {
+                accountView.isHidden = false
+            }
         }
     }
     
@@ -45,6 +52,13 @@ class ShoppingCartView: BaseView {
         emptyView.contentViewY = kScaleValue(value: 182)
         tableView.ly_emptyView = emptyView
         tableView.ly_startLoading()
+        
+        // FIXME: to be deal
+        if cartListModelArr?.isEmpty ?? true {
+            accountView.isHidden = true
+        } else {
+            accountView.isHidden = false
+        }
     }
     
     override func setupLayouts() {

+ 9 - 3
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/AdressCell/OrderPayExpressInfoShowCell.swift

@@ -10,6 +10,15 @@ import UIKit
 
 class OrderPayExpressInfoShowCell: UITableViewCell {
     
+    // 快递地址信息Mdl
+    var addressMdl: ExpressAddresModel? {
+        didSet {
+            nameLabel.text = addressMdl?.contactName
+            phoneLabel.text = addressMdl?.contactMobile
+            titleLabel.text = "\(addressMdl?.provinceName ?? "")\(addressMdl?.cityName ?? "")\(addressMdl?.areaName ?? "")\(addressMdl?.address ?? "")"
+        }
+    }
+    
     override var frame: CGRect {
         get {
             return super.frame
@@ -95,7 +104,6 @@ class OrderPayExpressInfoShowCell: UITableViewCell {
     
     private lazy var nameLabel: UILabel = {
         let nameLabel = UILabel()
-        nameLabel.text = "范德炮"
         nameLabel.textColor = k333333Color
         nameLabel.font = kBoldFont16
         return nameLabel
@@ -103,7 +111,6 @@ class OrderPayExpressInfoShowCell: UITableViewCell {
     
     private lazy var phoneLabel: UILabel = {
         let phoneLabel = UILabel()
-        phoneLabel.text = "158xxxx5481"
         phoneLabel.textColor = k333333Color
         phoneLabel.font = kBoldFont16
         return phoneLabel
@@ -123,7 +130,6 @@ class OrderPayExpressInfoShowCell: UITableViewCell {
     
     private lazy var titleLabel: UILabel = {
         let titleLabel = UILabel()
-        titleLabel.text = "西安市碑林区xxxxxx"
         titleLabel.textColor = k666666Color
         titleLabel.font = kRegularFont14
         return titleLabel

+ 119 - 15
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/ShoppingCartOrderPayView.swift

@@ -13,6 +13,9 @@ class ShoppingCartOrderPayView: BaseView {
     typealias CommitOrderTransBlock = () -> Void
     var commitOrderTransBlock : CommitOrderTransBlock?
     
+    typealias JumpNavBlock = (_ jumpType: WillJumpType) -> Void
+    var jumpNavBlock : JumpNavBlock?       
+    
     // 全部已选总价
     var totalProductPrice: Int = 0 {
         didSet {
@@ -27,6 +30,27 @@ class ShoppingCartOrderPayView: BaseView {
         }
     }
     
+    // 全部已选总价
+    var deliverType: String? {
+        didSet {
+            
+        }
+    }
+    
+    // 快递地址信息Mdl
+    var expressAddressMdl: ExpressAddresModel? {
+        didSet {
+            self.tableView.reloadSections([0], with: UITableView.RowAnimation.none)
+        }
+    }
+    
+    // 自提地址信息Mdl
+    var selfAddressArrMdl: Array<SelfAddresModel>? {
+        didSet {
+            self.tableView.reloadSections([0], with: UITableView.RowAnimation.none)
+        }
+    }
+    
     override func setupViews() {
         self.backgroundColor = kf7f8faColor
         addSubview(accountView)
@@ -82,7 +106,16 @@ extension ShoppingCartOrderPayView : UITableViewDelegate, UITableViewDataSource
     
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
         if section == 0 {
-            return 1
+            switch deliverType {
+            case "1":
+                // 自提
+                return 2
+            case "2":
+                // 快递
+                return 1
+            default:
+                return 1
+            }
         } else {
             return proListModelArr![section-1].productList!.count
         }
@@ -90,19 +123,45 @@ extension ShoppingCartOrderPayView : UITableViewDelegate, UITableViewDataSource
     
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         if indexPath.section == 0 {
-            // 快递添加地址
-//            let cell = OrderPayExpressAddInfoCell.cellWith(tableView: tableView, indexPath: indexPath)
-            // 自提添加收货人信息
-//            let cell = OrderPaySelfPickAddInfoCell.cellWith(tableView: tableView, indexPath: indexPath)
-            // 自提地址信息
-//            let cell = OrderPaySelfPickAddressCell.cellWith(tableView: tableView, indexPath: indexPath)
-            // 自提个人信息
-//            let cell = OrderPaySelfPickInfoCell.cellWith(tableView: tableView, indexPath: indexPath)
-            // 快递
-            let cell = OrderPayExpressInfoShowCell.cellWith(tableView: tableView, indexPath: indexPath)
-            
-            
-            return cell
+            switch deliverType {
+            case "1":
+                // 自提
+                if selfAddressArrMdl?.isEmpty ?? true  {
+                    if indexPath.row == 0 {
+                        // 自提添加收货人信息
+                        let cell = OrderPaySelfPickAddInfoCell.cellWith(tableView: tableView, indexPath: indexPath)
+                        return cell
+                    } else {
+                        // 自提地址信息
+                        let cell = OrderPaySelfPickAddressCell.cellWith(tableView: tableView, indexPath: indexPath)
+                        return cell
+                    }
+                } else {
+                    if indexPath.row == 0 {
+                        // 自提个人信息
+                        let cell = OrderPaySelfPickInfoCell.cellWith(tableView: tableView, indexPath: indexPath)
+                        return cell
+                    } else {
+                        // 自提地址信息
+                        let cell = OrderPaySelfPickAddressCell.cellWith(tableView: tableView, indexPath: indexPath)
+                        return cell
+                    }
+                }
+            case "2":
+                // 快递
+                if expressAddressMdl == nil {
+                    // 快递添加地址
+                    let expressCell = OrderPayExpressAddInfoCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    return expressCell
+                } else {
+                    // 快递信息管理
+                    let expressCell = OrderPayExpressInfoShowCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    expressCell.addressMdl = expressAddressMdl
+                    return expressCell
+                }
+            default:
+                return UITableViewCell()
+            }
             
         } else {
             // 购物车列表Item
@@ -164,9 +223,54 @@ extension ShoppingCartOrderPayView : UITableViewDelegate, UITableViewDataSource
         }
     }
     
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        if indexPath.section != 0 {
+            return
+        }
+        
+        switch deliverType {
+        case "1":
+            // 自提
+            if selfAddressArrMdl?.isEmpty ?? true {
+                if indexPath.row == 0 {
+                    if let jumpNavBlock = self.jumpNavBlock {
+                        jumpNavBlock(WillJumpType.selfAddInfo)
+                    }
+                } else {
+                    if let jumpNavBlock = self.jumpNavBlock {
+                        jumpNavBlock(WillJumpType.selfAddressInfo)
+                    }
+                }
+            } else {
+                if indexPath.row == 0 {
+                    if let jumpNavBlock = self.jumpNavBlock {
+                        jumpNavBlock(WillJumpType.selfPersonalInfo)
+                    }
+                } else {
+                    if let jumpNavBlock = self.jumpNavBlock {
+                        jumpNavBlock(WillJumpType.selfAddressInfo)
+                    }
+                }
+            }
+        case "2":
+            // 快递
+            if expressAddressMdl == nil {
+                if let jumpNavBlock = self.jumpNavBlock {
+                    jumpNavBlock(WillJumpType.expressAddInfo)
+                }
+            } else {
+                if let jumpNavBlock = self.jumpNavBlock {
+                    jumpNavBlock(WillJumpType.expressManageInfo)
+                }
+            }
+        default:
+            return
+        }
+    }
+    
 }
 
-// 购物车计算
+// MARK: - 购物车计算
 extension ShoppingCartOrderPayView {
     
     // 计算Section数据,刷新结算View

+ 56 - 3
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/ViewController/ShoppingCartPayOrderController.swift

@@ -9,6 +9,15 @@
 import UIKit
 import RxSwift
 
+// 跳转类型
+enum WillJumpType {
+    case expressAddInfo         // 添加快递地址
+    case expressManageInfo      // 管理快递地址
+    case selfAddInfo            // 添加自提收货信息
+    case selfPersonalInfo       // 自提个人信息
+    case selfAddressInfo        // 自提地址信息
+}
+
 class ShoppingCartPayOrderController: BaseViewController {
     
     // 已选商品ModelArr
@@ -20,6 +29,9 @@ class ShoppingCartPayOrderController: BaseViewController {
         super.viewDidLoad()
         setupViews()
         setupLayouts()
+    }
+    
+    override func viewWillAppear(_ animated: Bool) {
         setupData()
     }
     
@@ -34,9 +46,11 @@ class ShoppingCartPayOrderController: BaseViewController {
     
     override func setupData() {
         let deliverType = DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType
+        orderPayView.deliverType = deliverType
+        
         switch deliverType {
         case "1":
-            print("")
+            self.userSelfAddressListApi()
         case "2":
             // 获取默认快递信息
             self.userDefaultExpressApi()
@@ -65,13 +79,52 @@ class ShoppingCartPayOrderController: BaseViewController {
                 
             }
         }
+        orderPayView.jumpNavBlock = {
+            [weak self] (jumpType) in
+            switch jumpType {
+            case WillJumpType.expressAddInfo:
+                let vc = EditExpressAddressViewController()
+                self?.navigationController?.pushViewController(vc, animated: true)
+            case WillJumpType.expressManageInfo:
+                let vc = ExpressAddressListViewController()
+                self?.navigationController?.pushViewController(vc, animated: true)
+            case WillJumpType.selfAddInfo:
+                print("------自提添加")
+                let vc = EditSelfMentionContactsViewController()
+//                vc.saveClosure = {
+//                    [weak self] in
+//                    self?.userExpreesContactsListApi()
+//                }
+//                if let selfMentionContactsModel = selfMentionContactsModel   {
+//                    vc.selfMentionContactsModel = selfMentionContactsModel
+//                }
+                self?.navigationController?.pushViewController(vc, animated: true)
+            case WillJumpType.selfPersonalInfo:
+                print("------自提个人信息")
+            case WillJumpType.selfAddressInfo:                
+                let vc = SelfRecommendationViewController()
+                self?.navigationController?.pushViewController(vc, animated: true)
+            }
+        }
+        
         return orderPayView
     }()
     
     /// 获取默认快递信息
     func userDefaultExpressApi() {
-        SwiftMoyaNetWorkServiceUser.shared().userDefaultExpressApi { [weak self] (expressAddresModel) -> (Void) in
-            print(expressAddresModel)
+        SwiftMoyaNetWorkServiceUser.shared().userDefaultExpressApi { [weak self] (expressAddrModel) -> (Void) in
+            self?.orderPayView.expressAddressMdl = expressAddrModel as? ExpressAddresModel
+        }
+    }
+    
+    // 获取用户自提点
+    func userSelfAddressListApi() {
+        SwiftMoyaNetWorkServiceUser.shared().userSelfAndExpressAddressListApi(type: 1) {
+            
+            [weak self] (addressManagerListModel) -> (Void) in
+            let addrListMdl = addressManagerListModel as? AddressManagerListModel            
+            // 自提点数组只返回1条数据
+            self?.orderPayView.selfAddressArrMdl = addrListMdl?.selfAddress
         }
     }
     

+ 5 - 3
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaNetWorkServiceUser.swift

@@ -389,10 +389,12 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userDefaultExpressApi(completion: @escaping apiCallBack) {
         let parameters = Dictionary<String,Any>()
         SwiftProgressHUD.shared().showWait()
-        SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultExpress(parameters: parameters))) {(expressAddresModel) in
-            let expressAddresModel = expressAddresModel as! ExpressAddresModel
+        SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultExpress(parameters: parameters))) {(rootModel) in
+            let rootModel = rootModel as! RootModel
             SwiftProgressHUD.shared().hide()
-            completion(expressAddresModel)
+            
+            let expressAddrModel = ExpressAddresModel(JSONString: rootModel.data ?? "")
+            completion(expressAddrModel as Any)
         }
     }