Pārlūkot izejas kodu

自提地址逻辑Fixed && 购物车异常修复

Chris 6 gadi atpakaļ
vecāks
revīzija
f4e06b0d30

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickAddressCell.swift

@@ -10,9 +10,9 @@ import UIKit
 
 class OrderPaySelfPickAddressCell: UITableViewCell {
     
-    var selfAddressMdl: SelfMentionAddressModel? {
+    var selfAddressMdl: SelfAddresModel? {
         didSet {
-            titleLabel.text = "\(selfAddressMdl?.cityName ?? "")\(selfAddressMdl?.address ?? "")"
+            titleLabel.text = "\(selfAddressMdl?.address ?? "")"
         }
     }
     

+ 16 - 8
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartOrderPayView.swift

@@ -43,7 +43,7 @@ class ShoppingCartOrderPayView: BaseView {
         didSet {
             if self.deliverType == "1" {
                 let addr: SelfMentionAddressModel = SelfMentionAddressModel.getModel()!
-                selfAddressLabel.text = "\(addr.cityName ?? "")\(addr.address ?? "")"
+                selfAddressLabel.text = "\(addr.address ?? "")"
             } else {
                 selfAddressView.isHidden = true
                 tableView.snp.remakeConstraints { (make) in
@@ -63,7 +63,7 @@ class ShoppingCartOrderPayView: BaseView {
         }
     }
     
-    // 自提地址信息Mdl
+    // 自提联系人信息Mdl
     var selfAddressInfoMdl: DefaultContactInfoModel? {
         didSet {
             if selfAddressInfoMdl != nil {
@@ -72,6 +72,15 @@ class ShoppingCartOrderPayView: BaseView {
         }
     }
     
+    // 自提地址信息Mdl
+    var selfAddrMdl: SelfAddresModel? {
+        didSet {
+            if selfAddrMdl != nil {
+                tableView.reloadData()
+            }
+        }
+    }
+    
     override func setupViews() {
         self.backgroundColor = kf7f8faColor
         addSubview(accountView)
@@ -121,10 +130,9 @@ class ShoppingCartOrderPayView: BaseView {
                 // 自提
                 paraMdl.name = self?.selfAddressInfoMdl?.name
                 paraMdl.mobile = Int(self?.selfAddressInfoMdl?.mobile ?? "")
-                paraMdl.address = ""
-                // FIXME:待填充
-                paraMdl.pickNodeId = 0
-                paraMdl.pickNodeContact = ""
+                paraMdl.address = "\(self?.selfAddrMdl?.address ?? "")"
+                paraMdl.pickNodeId = self?.selfAddrMdl?.pickupNodeId
+                paraMdl.pickNodeContact = self?.selfAddrMdl?.managerName
             case "2":
                 // 快递
                 paraMdl.name = self?.expressAddressMdl?.contactName
@@ -211,7 +219,7 @@ extension ShoppingCartOrderPayView : UITableViewDelegate, UITableViewDataSource
                     } else {
                         // 自提地址信息
                         let cell = OrderPaySelfPickAddressCell.cellWith(tableView: tableView, indexPath: indexPath)
-                        cell.selfAddressMdl = SelfMentionAddressModel.getModel()
+                        cell.selfAddressMdl = selfAddrMdl
                         return cell
                     }
                 } else {
@@ -223,7 +231,7 @@ extension ShoppingCartOrderPayView : UITableViewDelegate, UITableViewDataSource
                     } else {
                         // 自提地址信息
                         let cell = OrderPaySelfPickAddressCell.cellWith(tableView: tableView, indexPath: indexPath)
-                        cell.selfAddressMdl = SelfMentionAddressModel.getModel()
+                        cell.selfAddressMdl = selfAddrMdl
                         return cell
                     }
                 }

+ 12 - 0
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/ViewController/ShoppingCartPayOrderController.swift

@@ -62,6 +62,7 @@ class ShoppingCartPayOrderController: BaseViewController {
         switch deliverType {
         case "1":
             self.userDefaultContactApi()
+            self.userSelfAndExpressAddressListApi(type:1)
         case "2":
             // 获取默认快递信息
             self.userDefaultExpressApi()
@@ -121,6 +122,17 @@ class ShoppingCartPayOrderController: BaseViewController {
         }        
     }
     
+    // 获取自提地址列表(始终只有1条)
+    func userSelfAndExpressAddressListApi(type:Int) {
+        SwiftMoyaNetWorkServiceUser.shared().userSelfAndExpressAddressListApi(type: type) {
+            
+            [weak self] (addressManagerListModel) -> (Void) in
+            let addressManagerListModel = (addressManagerListModel as! AddressManagerListModel)
+            let selfAddressModel: SelfAddresModel = ((addressManagerListModel.selfAddress?[0]) ?? nil)!
+            self?.orderPayView.selfAddrMdl = selfAddressModel
+        }
+    }
+    
     // 创建订单
     func orderCreateApi(paraMdl: OrderCreateParameterModel) {
         

+ 5 - 1
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartView.swift

@@ -394,10 +394,14 @@ extension ShoppingCartView : UITableViewDelegate, UITableViewDataSource {
                 tableView.deleteRows(at: [indexPath], with: .none)
                 self?.refreshAccountView()
                 
-                // 删除后商店为空,刷新table
+                
                 if self?.cartListModelArr![indexPath.section].productList?.isEmpty ?? true {
+                    // 删除后商店为空,刷新table
                     self?.cartListModelArr?.remove(at: indexPath.section)
                     tableView.reloadData()
+                } else {
+                    // 刷新删除行所在的section(防止索引越界)
+                    self?.tableView.reloadSections([indexPath.section], with: UITableView.RowAnimation.none)
                 }
             }
         }

+ 2 - 0
RainbowPlanet/RainbowPlanet/Service/Model/UserModel/AddressManagerListModel.swift

@@ -210,6 +210,7 @@ class SelfAddresModel : NSObject, Mappable{
     var deletedAt : AnyObject?
     var id : Int?
     var isDefault : Int?
+    var managerName : String?
     var pickupNodeId : Int?
     var provinceId : Int?
     var provinceName : String?
@@ -238,6 +239,7 @@ class SelfAddresModel : NSObject, Mappable{
         deletedAt <- map["deleted_at"]
         id <- map["id"]
         isDefault <- map["is_default"]
+        managerName <- map["manager_name"]
         pickupNodeId <- map["pickup_node_id"]
         provinceId <- map["province_id"]
         provinceName <- map["province_name"]