Explorar o código

项目基本完成,调试

南鑫林 %!s(int64=6) %!d(string=hai) anos
pai
achega
4a8d357b88
Modificáronse 27 ficheiros con 236 adicións e 143 borrados
  1. 22 22
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 23 12
      RainbowPlanet/RainbowPlanet/Manager/PayManager/PayManagerPay/PayManagerPay.swift
  3. 17 1
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/ViewController/OrderViewController.swift
  4. 1 1
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderDetail/ViewController/OrderDetailViewController.swift
  5. 5 5
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/View/ShoppingCartPayFailureCell.swift
  6. 18 11
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/View/ShoppingCartPaySuccessCell.swift
  7. 4 4
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/View/ShoppingCartFinishPayView.swift
  8. 58 15
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/ViewController/ShoppingCartFinishPayController.swift
  9. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPayExpressAddInfoCell.swift
  10. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPayExpressInfoShowCell.swift
  11. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickAddInfoCell.swift
  12. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickAddressCell.swift
  13. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickInfoCell.swift
  14. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/OrderPayAcountView.swift
  15. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartOrderPayView.swift
  16. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderFooter.swift
  17. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderHeader.swift
  18. 0 0
      RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderItemCell.swift
  19. 15 2
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/ViewController/ShoppingCartPayOrderController.swift
  20. 8 1
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartHotSale/ShoppingCartHotSaleTableViewCell.swift
  21. 18 16
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartList/ShoppingCartListNoneItemCell.swift
  22. 23 24
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartList/ShoppingCartListTableViewCell.swift
  23. 7 10
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartView.swift
  24. 12 18
      RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/ViewController/ShoppingCartViewController.swift
  25. 3 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductDetail/View/ProductDetailView.swift
  26. 1 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductDetail/ViewController/ProductDetailViewController.swift
  27. 1 1
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/ViewController/ShoppingMallViewController.swift

+ 22 - 22
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -322,10 +322,10 @@
 		BD1DC6CB228D157000B89C57 /* OrderCreateBackModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6CA228D157000B89C57 /* OrderCreateBackModel.swift */; };
 		BD1DC6CD228D160D00B89C57 /* OrderPurchaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6CC228D160D00B89C57 /* OrderPurchaseModel.swift */; };
 		BD20F1CB2283C12000677D8E /* ShoppingCartListNoneItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1CA2283C12000677D8E /* ShoppingCartListNoneItemCell.swift */; };
-		BD20F1CD2283C51300677D8E /* ShoppingCartFinishPayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1CC2283C51300677D8E /* ShoppingCartFinishPayController.swift */; };
-		BD20F1CF2283CE2300677D8E /* ShoppingCartFinishPayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1CE2283CE2300677D8E /* ShoppingCartFinishPayView.swift */; };
-		BD20F1D32283D0ED00677D8E /* ShoppingCartPaySuccessCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1D22283D0ED00677D8E /* ShoppingCartPaySuccessCell.swift */; };
-		BD20F1D52283D15500677D8E /* ShoppingCartPayFailureCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1D42283D15500677D8E /* ShoppingCartPayFailureCell.swift */; };
+		BD20F1CD2283C51300677D8E /* OrderFinishPayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1CC2283C51300677D8E /* OrderFinishPayController.swift */; };
+		BD20F1CF2283CE2300677D8E /* OrderFinishPayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1CE2283CE2300677D8E /* OrderFinishPayView.swift */; };
+		BD20F1D32283D0ED00677D8E /* OrderFinishPaySuccessCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1D22283D0ED00677D8E /* OrderFinishPaySuccessCell.swift */; };
+		BD20F1D52283D15500677D8E /* OrderFinishPayFailureCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD20F1D42283D15500677D8E /* OrderFinishPayFailureCell.swift */; };
 		BD20F1D82283D2AA00677D8E /* ShoppingCartModule.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BD20F1D72283D2AA00677D8E /* ShoppingCartModule.xcassets */; };
 		BD29A92E228F99780018CFC3 /* OrderCommentParameterModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD29A92D228F99780018CFC3 /* OrderCommentParameterModel.swift */; };
 		BD3474F522857B85000908C5 /* CommonPayHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD3474F422857B85000908C5 /* CommonPayHeader.swift */; };
@@ -718,10 +718,10 @@
 		BD1DC6CA228D157000B89C57 /* OrderCreateBackModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderCreateBackModel.swift; sourceTree = "<group>"; };
 		BD1DC6CC228D160D00B89C57 /* OrderPurchaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderPurchaseModel.swift; sourceTree = "<group>"; };
 		BD20F1CA2283C12000677D8E /* ShoppingCartListNoneItemCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCartListNoneItemCell.swift; sourceTree = "<group>"; };
-		BD20F1CC2283C51300677D8E /* ShoppingCartFinishPayController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCartFinishPayController.swift; sourceTree = "<group>"; };
-		BD20F1CE2283CE2300677D8E /* ShoppingCartFinishPayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCartFinishPayView.swift; sourceTree = "<group>"; };
-		BD20F1D22283D0ED00677D8E /* ShoppingCartPaySuccessCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCartPaySuccessCell.swift; sourceTree = "<group>"; };
-		BD20F1D42283D15500677D8E /* ShoppingCartPayFailureCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCartPayFailureCell.swift; sourceTree = "<group>"; };
+		BD20F1CC2283C51300677D8E /* OrderFinishPayController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderFinishPayController.swift; sourceTree = "<group>"; };
+		BD20F1CE2283CE2300677D8E /* OrderFinishPayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderFinishPayView.swift; sourceTree = "<group>"; };
+		BD20F1D22283D0ED00677D8E /* OrderFinishPaySuccessCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderFinishPaySuccessCell.swift; sourceTree = "<group>"; };
+		BD20F1D42283D15500677D8E /* OrderFinishPayFailureCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderFinishPayFailureCell.swift; sourceTree = "<group>"; };
 		BD20F1D72283D2AA00677D8E /* ShoppingCartModule.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = ShoppingCartModule.xcassets; sourceTree = "<group>"; };
 		BD29A92D228F99780018CFC3 /* OrderCommentParameterModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderCommentParameterModel.swift; sourceTree = "<group>"; };
 		BD3474F422857B85000908C5 /* CommonPayHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonPayHeader.swift; sourceTree = "<group>"; };
@@ -2116,8 +2116,6 @@
 			isa = PBXGroup;
 			children = (
 				A77F2CB02232010F001BD3F6 /* ShoppingCart */,
-				BD3474F722859788000908C5 /* ShoppingCartPayOrder */,
-				BD3474FA228597E8000908C5 /* ShoppingCartFinishPay */,
 			);
 			path = ShoppingCartModule;
 			sourceTree = "<group>";
@@ -2720,6 +2718,8 @@
 				BD77BE1B228D8D320060E23C /* OrderLogistics */,
 				BD77BE18228D8C2E0060E23C /* OrderComment */,
 				BDF862A3228E4266000DEF84 /* OrderApplyRefund */,
+				BD3474FA228597E8000908C5 /* OrderFinishPay */,
+				BD3474F722859788000908C5 /* OrderPayOrder */,
 			);
 			path = OrderModule;
 			sourceTree = "<group>";
@@ -2834,13 +2834,13 @@
 			path = OrderModel;
 			sourceTree = "<group>";
 		};
-		BD3474F722859788000908C5 /* ShoppingCartPayOrder */ = {
+		BD3474F722859788000908C5 /* OrderPayOrder */ = {
 			isa = PBXGroup;
 			children = (
 				BD3474F9228597B6000908C5 /* View */,
 				BD3474F8228597AC000908C5 /* ViewController */,
 			);
-			path = ShoppingCartPayOrder;
+			path = OrderPayOrder;
 			sourceTree = "<group>";
 		};
 		BD3474F8228597AC000908C5 /* ViewController */ = {
@@ -2864,21 +2864,21 @@
 			path = View;
 			sourceTree = "<group>";
 		};
-		BD3474FA228597E8000908C5 /* ShoppingCartFinishPay */ = {
+		BD3474FA228597E8000908C5 /* OrderFinishPay */ = {
 			isa = PBXGroup;
 			children = (
 				BD3474FB2285980D000908C5 /* View */,
 				BD3474FC22859815000908C5 /* ViewController */,
 			);
-			path = ShoppingCartFinishPay;
+			path = OrderFinishPay;
 			sourceTree = "<group>";
 		};
 		BD3474FB2285980D000908C5 /* View */ = {
 			isa = PBXGroup;
 			children = (
-				BD20F1CE2283CE2300677D8E /* ShoppingCartFinishPayView.swift */,
-				BD20F1D22283D0ED00677D8E /* ShoppingCartPaySuccessCell.swift */,
-				BD20F1D42283D15500677D8E /* ShoppingCartPayFailureCell.swift */,
+				BD20F1CE2283CE2300677D8E /* OrderFinishPayView.swift */,
+				BD20F1D22283D0ED00677D8E /* OrderFinishPaySuccessCell.swift */,
+				BD20F1D42283D15500677D8E /* OrderFinishPayFailureCell.swift */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -2886,7 +2886,7 @@
 		BD3474FC22859815000908C5 /* ViewController */ = {
 			isa = PBXGroup;
 			children = (
-				BD20F1CC2283C51300677D8E /* ShoppingCartFinishPayController.swift */,
+				BD20F1CC2283C51300677D8E /* OrderFinishPayController.swift */,
 			);
 			path = ViewController;
 			sourceTree = "<group>";
@@ -3326,7 +3326,7 @@
 				A72A72BA22321DE000B21995 /* Extension+String.swift in Sources */,
 				A70B8430228FF6D400882BC5 /* ProductCartCountModel.swift in Sources */,
 				A77F2CA02231FE45001BD3F6 /* BaseWebViewController.swift in Sources */,
-				BD20F1D52283D15500677D8E /* ShoppingCartPayFailureCell.swift in Sources */,
+				BD20F1D52283D15500677D8E /* OrderFinishPayFailureCell.swift in Sources */,
 				A72A72C022321DE000B21995 /* Extension+UIView.swift in Sources */,
 				BD7AB83A2284288D0030646A /* ShoppingCartPayOrderFooter.swift in Sources */,
 				A72A72C522321DE000B21995 /* WKWebViewConfig.swift in Sources */,
@@ -3396,7 +3396,7 @@
 				A71AA519227219D7008FF1A5 /* EditExpressAddressViewController.swift in Sources */,
 				A7FF1568228C6E2300A85748 /* OrderDeliveryModeAndTimeTableViewCell.swift in Sources */,
 				A71738A822897E96000AEA6A /* SwiftMoyaNetWorkServiceShop.swift in Sources */,
-				BD20F1CD2283C51300677D8E /* ShoppingCartFinishPayController.swift in Sources */,
+				BD20F1CD2283C51300677D8E /* OrderFinishPayController.swift in Sources */,
 				A729B5B022671310004AE098 /* MobileLoginView.swift in Sources */,
 				A71AA50C2272126A008FF1A5 /* EditAddressFooterView.swift in Sources */,
 				A70B2C35228815F700B2449F /* ProductDetailProductSkuLabelCollectionViewCell.swift in Sources */,
@@ -3491,7 +3491,7 @@
 				A7A98E3122801B10005306E9 /* ShoppingMallListView.swift in Sources */,
 				BD1DC6C6228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift in Sources */,
 				A7CC751A22716254003C4F38 /* SetTableViewCell.swift in Sources */,
-				BD20F1D32283D0ED00677D8E /* ShoppingCartPaySuccessCell.swift in Sources */,
+				BD20F1D32283D0ED00677D8E /* OrderFinishPaySuccessCell.swift in Sources */,
 				A71AA52822732173008FF1A5 /* SwiftMoyaNetWorkServiceConfig.swift in Sources */,
 				A775CC0322377C6500EBDCF8 /* EmptyView.swift in Sources */,
 				A70B2C732289019200B2449F /* ProductDetailSkuView.swift in Sources */,
@@ -3615,7 +3615,7 @@
 				A70B2C64228875DE00B2449F /* ShopViewShopInfoTableViewCell.swift in Sources */,
 				BDEF7791228571DC00ED0AC0 /* CommonPayView.swift in Sources */,
 				A71AF0A6226EDDC8001730FE /* SearchViewController.swift in Sources */,
-				BD20F1CF2283CE2300677D8E /* ShoppingCartFinishPayView.swift in Sources */,
+				BD20F1CF2283CE2300677D8E /* OrderFinishPayView.swift in Sources */,
 				A7A98E4322804851005306E9 /* ShoppingMallSepcialFlowLayout.swift in Sources */,
 				A79057062276EA3D0037F823 /* OpenCityListModel.swift in Sources */,
 				BD7AB838228420310030646A /* ShoppingCartPayOrderHeader.swift in Sources */,

+ 23 - 12
RainbowPlanet/RainbowPlanet/Manager/PayManager/PayManagerPay/PayManagerPay.swift

@@ -11,47 +11,58 @@ import UIKit
 class PayManagerPay: NSObject {
     static let shared : PayManagerPay = PayManagerPay()
     
+    typealias ReloadClosure = () -> Void
+    var reloadClosure : ReloadClosure?
     
-    func payAlertView(orderPayModel: OrderCreateBackModel){
+    func payAlertView(orderPayModel: OrderCreateBackModel,orderFinishPayVCType:OrderFinishPayVCType){
         // 弹出支付方式View
         AlertSheetView.payAlertSheetView(paymentAmount:orderPayModel.money ?? "",cancelClosure: {
             [weak self] in
-            self?.pushVC(payStatus: false)
+            self?.pushVC(payStatus: false,orderFinishPayVCType: orderFinishPayVCType)
             }, sureClosure: { [weak self] (payType) in
                 switch payType {
                 case .wechatPay:
-                    self?.payWeixinpayApi(orderPayModel: orderPayModel)
+                    self?.payWeixinpayApi(orderPayModel: orderPayModel,orderFinishPayVCType: orderFinishPayVCType)
                 case .aliPay:
-                    self?.payAlipayApi(orderPayModel: orderPayModel)
+                    self?.payAlipayApi(orderPayModel: orderPayModel,orderFinishPayVCType: orderFinishPayVCType)
                 }
         })
     }
     // 微信支付
-    func payWeixinpayApi(orderPayModel: OrderCreateBackModel) {
+    func payWeixinpayApi(orderPayModel: OrderCreateBackModel,orderFinishPayVCType:OrderFinishPayVCType) {
         SwiftMoyaNetWorkServicePay.shared().payWeixinpayApi(paraMdl: orderPayModel) { [weak self] (weChatpayOrderModel) -> (Void) in
             PayManager.shared().weixinpay(wechatpayOrderModel: weChatpayOrderModel as! WeChatpayOrderModel, successPayBlock: {
-                self?.pushVC(payStatus: true)
+                self?.pushVC(payStatus: true,orderFinishPayVCType: orderFinishPayVCType)
             }, failPayBlock: {
-                self?.pushVC(payStatus: false)
+                self?.pushVC(payStatus: false,orderFinishPayVCType: orderFinishPayVCType)
             })
         }
     }
     
     // 支付宝支付
-    func payAlipayApi(orderPayModel: OrderCreateBackModel) {
+    func payAlipayApi(orderPayModel: OrderCreateBackModel,orderFinishPayVCType:OrderFinishPayVCType) {
         SwiftMoyaNetWorkServicePay.shared().payAlipayApi(paraMdl: orderPayModel) { [weak self] (orderString) -> (Void) in
             PayManager.shared().alipay(orderString: orderString as? String ?? "" , successPayBlock: {
-                self?.pushVC(payStatus: true)
+                self?.pushVC(payStatus: true,orderFinishPayVCType: orderFinishPayVCType)
             }, failPayBlock: {
-                self?.pushVC(payStatus: false)
+                self?.pushVC(payStatus: false,orderFinishPayVCType: orderFinishPayVCType)
             })
         }
     }
     
     //跳转到字符失败,跟支付成功页面
-    func pushVC(payStatus: Bool){
-        let vc = ShoppingCartFinishPayController()
+    func pushVC(payStatus: Bool,orderFinishPayVCType:OrderFinishPayVCType){
+        let vc = OrderFinishPayController()
         vc.payStatus = payStatus
+        vc.orderFinishPayVCType = orderFinishPayVCType
+        vc.reloadClosure = {
+            [weak self] in
+            if let reloadClosure = self?.reloadClosure {
+                reloadClosure()
+            }
+        }
         getCurrentVC().navigationController?.pushViewController(vc, animated: true)
     }
+
+    
 }

+ 17 - 1
RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/ViewController/OrderViewController.swift

@@ -29,7 +29,14 @@ enum OrderVCType : Int {
 
 class OrderViewController: BaseViewController {
     
+    deinit {
+        NotificationCenter.default.removeObserver(observe!)
+    }
+    weak var observe : NSObjectProtocol?
+    
     var orderVCType : OrderVCType?
+    
+    var orderListViewController : OrderListViewController?
 
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -58,6 +65,11 @@ class OrderViewController: BaseViewController {
     }
     
     override func setupData() {
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("OrderFinishPayVCOrderDetail"), object: nil, queue: OperationQueue.main) {
+            [weak self] (notification) in
+            self?.orderListViewController?.orderPurchaseOrderListApi(page: 1)
+        }
+
     }
     
     //1.初始化JXSegmentedView
@@ -149,6 +161,7 @@ extension OrderViewController :JXSegmentedListContainerViewDataSource {
         vc.orderVCType =  OrderVCType(rawValue: index-1)
         vc.setButtonBlock = {
             [weak self] (button,orderModel) in
+            self?.orderListViewController = vc
             self?.setButton(button: button, orderModel: orderModel, vc: vc)
         }
         
@@ -170,7 +183,10 @@ extension OrderViewController :JXSegmentedListContainerViewDataSource {
             let orderPayModel = OrderCreateBackModel()
             orderPayModel.money = "\(orderModel.realPrice ?? 0)"
             orderPayModel.patchNum = orderModel.patchNum
-            PayManagerPay.shared.payAlertView(orderPayModel: orderPayModel)
+            PayManagerPay.shared.payAlertView(orderPayModel: orderPayModel, orderFinishPayVCType: .order)
+            PayManagerPay.shared.reloadClosure = {
+                vc.orderPurchaseOrderListApi(page: 1)
+            }
         }
         if button.titleLabel?.text == "取消订单" {
             orderPurchaseCloseApi(orderModel: orderModel, vc: vc)

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderDetail/ViewController/OrderDetailViewController.swift

@@ -92,7 +92,7 @@ class OrderDetailViewController: BaseViewController {
             let orderPayModel = OrderCreateBackModel()
             orderPayModel.money = "\(self.orderDetailModel?.realPrice ?? 0)"
             orderPayModel.patchNum = self.orderDetailModel?.patchNum
-            PayManagerPay.shared.payAlertView(orderPayModel: orderPayModel)
+            PayManagerPay.shared.payAlertView(orderPayModel: orderPayModel, orderFinishPayVCType: .orderDetail)
         }
         if button.titleLabel?.text == "取消订单" {
             SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseCloseApi(patchNum: self.orderDetailModel?.patchNum ?? "") {

+ 5 - 5
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/View/ShoppingCartPayFailureCell.swift

@@ -10,7 +10,7 @@ import UIKit
 import RxSwift
 import RxCocoa
 
-class ShoppingCartPayFailureCell: UITableViewCell {
+class OrderFinishPayFailureCell: UITableViewCell {
     
     let disposeBag = DisposeBag()
     
@@ -29,10 +29,10 @@ class ShoppingCartPayFailureCell: UITableViewCell {
         }
     }
     
-    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> ShoppingCartPayFailureCell {
-        let ID = "ShoppingCartPayFailureCell"
-        tableView.register(ShoppingCartPayFailureCell.self, forCellReuseIdentifier: ID)
-        let cell : ShoppingCartPayFailureCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! ShoppingCartPayFailureCell
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> OrderFinishPayFailureCell {
+        let ID = "OrderFinishPayFailureCell"
+        tableView.register(OrderFinishPayFailureCell.self, forCellReuseIdentifier: ID)
+        let cell : OrderFinishPayFailureCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! OrderFinishPayFailureCell
         cell.indexPath = indexPath
         return cell
     }

+ 18 - 11
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/View/ShoppingCartPaySuccessCell.swift

@@ -15,7 +15,7 @@ enum PayJumpDes {
     case checkOrder
 }
 
-class ShoppingCartPaySuccessCell: UITableViewCell {
+class OrderFinishPaySuccessCell: UITableViewCell {
     
     let disposeBag = DisposeBag()
     
@@ -34,10 +34,10 @@ class ShoppingCartPaySuccessCell: UITableViewCell {
         }
     }
     
-    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> ShoppingCartPaySuccessCell {
-        let ID = "ShoppingCartPaySuccessCell"
-        tableView.register(ShoppingCartPaySuccessCell.self, forCellReuseIdentifier: ID)
-        let cell : ShoppingCartPaySuccessCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! ShoppingCartPaySuccessCell
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> OrderFinishPaySuccessCell {
+        let ID = "OrderFinishPaySuccessCell"
+        tableView.register(OrderFinishPaySuccessCell.self, forCellReuseIdentifier: ID)
+        let cell : OrderFinishPaySuccessCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! OrderFinishPaySuccessCell
         cell.indexPath = indexPath
         return cell
     }
@@ -67,6 +67,7 @@ class ShoppingCartPaySuccessCell: UITableViewCell {
         addSubview(describeLabel)
         addSubview(jumpButton)
         addSubview(orderButton)
+        addSubview(bottomLabel)
     }
     
     private func setupLayouts() {
@@ -103,8 +104,11 @@ class ShoppingCartPaySuccessCell: UITableViewCell {
             make.height.equalTo(24)
         }
         
-        orderButton.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.bottom, imageTitleSpace: 2)
-        
+        bottomLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(orderButton.snp.bottom).offset(3)
+            make.left.right.equalTo(orderButton)
+            make.height.equalTo(1)
+        }
     }
     
     lazy var statusImageView : UIImageView = {
@@ -148,14 +152,11 @@ class ShoppingCartPaySuccessCell: UITableViewCell {
     }()
     
     private lazy var orderButton: UIButton = {
-        let attributeString = NSMutableAttributedString(string:"查看订单")
-        attributeString.changeUnderline(atAllStyle: NSUnderlineStyle(rawValue: NSUnderlineStyle.single.rawValue), color: kbbbbbbColor)
         
         let orderButton = UIButton(type: UIButton.ButtonType.custom)
         orderButton.backgroundColor = kffffffColor
-        orderButton.setAttributedTitle(attributeString, for: UIControl.State.normal)
         orderButton.setTitleColor(k333333Color, for: UIControl.State.normal)
-        orderButton.setImage(UIImage.imageWithColor(color: k333333Color), for: UIControl.State.normal)
+        orderButton.setTitle("查看订单", for: UIControl.State.normal)
         orderButton.titleLabel?.font = kRegularFont14
         orderButton.rx.tap.subscribe(onNext: { [weak self] (data) in
             if let jumpBlock = self?.jumpBlock {
@@ -165,4 +166,10 @@ class ShoppingCartPaySuccessCell: UITableViewCell {
         return orderButton
     }()
     
+    lazy var bottomLabel: UILabel = {
+        let bottomLabel = UILabel()
+        bottomLabel.backgroundColor = k333333Color
+        return bottomLabel
+    }()
+    
 }

+ 4 - 4
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/View/ShoppingCartFinishPayView.swift

@@ -8,7 +8,7 @@
 
 import UIKit
 
-class ShoppingCartFinishPayView: BaseView {
+class OrderFinishPayView: BaseView {
     
     typealias RepayTransBlock = () -> Void
     var repayTransBlock : RepayTransBlock?
@@ -58,7 +58,7 @@ class ShoppingCartFinishPayView: BaseView {
     
 }
 
-extension ShoppingCartFinishPayView : UITableViewDelegate, UITableViewDataSource {
+extension OrderFinishPayView : UITableViewDelegate, UITableViewDataSource {
     func numberOfSections(in tableView: UITableView) -> Int {
         return 2
     }
@@ -72,7 +72,7 @@ extension ShoppingCartFinishPayView : UITableViewDelegate, UITableViewDataSource
         case 0:
             if (payStatus == true) {
                 // 支付成功
-                let sCell = ShoppingCartPaySuccessCell.cellWith(tableView: tableView, indexPath: indexPath)
+                let sCell = OrderFinishPaySuccessCell.cellWith(tableView: tableView, indexPath: indexPath)
                 sCell.jumpBlock = {
                     [weak self] (jType) in
                     if let jumpTransBlock = self?.jumpTransBlock {
@@ -82,7 +82,7 @@ extension ShoppingCartFinishPayView : UITableViewDelegate, UITableViewDataSource
                 return sCell
             } else {
                 // 支付失败
-                let fCell = ShoppingCartPayFailureCell.cellWith(tableView: tableView, indexPath: indexPath)
+                let fCell = OrderFinishPayFailureCell.cellWith(tableView: tableView, indexPath: indexPath)
                 fCell.repayBlock = {
                     [weak self] in
                     if let repayTransBlock = self?.repayTransBlock {

+ 58 - 15
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartFinishPay/ViewController/ShoppingCartFinishPayController.swift

@@ -9,11 +9,25 @@
 import UIKit
 import RxSwift
 
-class ShoppingCartFinishPayController: BaseViewController {
+
+/// OrderFinishPayVCType
+///
+/// - cart: 购物车
+/// - productDetail: 订单详情
+/// - order: 订单
+/// - orderDetails: 订单详情
+enum OrderFinishPayVCType {
+    case cart
+    case productDetail
+    case order
+    case orderDetail
+}
+
+class OrderFinishPayController: BaseViewController {
     
     var payStatus: Bool? = true {
         didSet {
-            if (payStatus == true) {
+            if payStatus ?? true {
                 navigationBar.title = "支付成功"
             } else {
                 navigationBar.title = "支付失败"
@@ -21,6 +35,11 @@ class ShoppingCartFinishPayController: BaseViewController {
         }
     }
     
+    var orderFinishPayVCType : OrderFinishPayVCType?
+    
+    typealias ReloadClosure = () -> Void
+    var reloadClosure : ReloadClosure?
+    
     var productSearchModelArray = Array<ProductSearchModel>()
     
     override func viewDidLoad() {
@@ -31,12 +50,14 @@ class ShoppingCartFinishPayController: BaseViewController {
     }
     
     override func setupViews() {
-        navigationBar.title = "支付成功"
-        self.setFinishPayView()
+         view.addSubview(finishPayView)
     }
     
     override func setupLayouts() {
-        
+        finishPayView.snp.makeConstraints { (make) in
+            make.bottom.left.right.equalToSuperview()
+            make.top.equalTo(kNavBarTotalHeight)
+        }
     }
     
     override func setupData() {
@@ -48,19 +69,41 @@ class ShoppingCartFinishPayController: BaseViewController {
         finishPayView.tableView.addFooterWithWithHeader(withAutomaticallyRefresh: false) { [weak self] (page) in
             self?.productHotSaleApi(page: page)
         }
-    }
-    
-    /// 添加view
-    func setFinishPayView() {
-        view.addSubview(finishPayView)
-        finishPayView.snp.makeConstraints { (make) in
-            make.bottom.left.right.equalToSuperview()
-            make.top.equalTo(kNavBarTotalHeight)
+        
+        navigationBar.onClickLeftButton = {
+            [weak self] in
+            
+            switch self?.orderFinishPayVCType {
+            case .cart?:
+                self?.navigationController?.popToRootViewController(animated: true)
+                break
+            case .productDetail?:
+                self?.navigationController?.popToClass(type: ProductDetailViewController.self)
+                break
+            case .order?:
+                if self?.payStatus ?? true {
+                    if let reloadClosure = self?.reloadClosure {
+                        reloadClosure()
+                    }
+                }
+                self?.navigationController?.popViewController(animated: true)
+                break
+            case .orderDetail?:
+                if self?.payStatus ?? true {
+                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "OrderFinishPayVCOrderDetail"), object: nil)
+                }
+                self?.navigationController?.popToClass(type: OrderViewController.self)
+
+                break
+            default:
+                break
+            }
+           
         }
     }
     
-    private lazy var finishPayView: ShoppingCartFinishPayView = {
-        let finishPayView = ShoppingCartFinishPayView()
+    private lazy var finishPayView: OrderFinishPayView = {
+        let finishPayView = OrderFinishPayView()
         finishPayView.payStatus = payStatus
         finishPayView.repayTransBlock = {
             [weak self] in            

RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/AdressCell/OrderPayExpressAddInfoCell.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPayExpressAddInfoCell.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/AdressCell/OrderPayExpressInfoShowCell.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPayExpressInfoShowCell.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/AdressCell/OrderPaySelfPickAddInfoCell.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickAddInfoCell.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/AdressCell/OrderPaySelfPickAddressCell.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickAddressCell.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/AdressCell/OrderPaySelfPickInfoCell.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/AdressCell/OrderPaySelfPickInfoCell.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/OrderPayAcountView.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/OrderPayAcountView.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/ShoppingCartOrderPayView.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartOrderPayView.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/ShoppingCartPayOrderFooter.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderFooter.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/ShoppingCartPayOrderHeader.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderHeader.swift


RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/ShoppingCartPayOrderItemCell.swift → RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderPayOrder/View/ShoppingCartPayOrderItemCell.swift


+ 15 - 2
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/ViewController/ShoppingCartPayOrderController.swift

@@ -18,6 +18,11 @@ enum WillJumpType {
     case selfAddressInfo        // 自提地址信息
 }
 
+enum ShoppingCartPayOrderVCType {
+    case cart
+    case productDetail
+}
+
 class ShoppingCartPayOrderController: BaseViewController {
     
     // 已选商品ModelArr
@@ -26,6 +31,8 @@ class ShoppingCartPayOrderController: BaseViewController {
     // 全部已选总价
     var totalProductPrice: Int?
     
+    var shoppingCartPayOrderVCType : ShoppingCartPayOrderVCType?
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         setupViews()
@@ -115,9 +122,15 @@ class ShoppingCartPayOrderController: BaseViewController {
     // 创建订单
     func orderCreateApi(paraMdl: OrderCreateParameterModel) {
         
-        SwiftMoyaNetWorkServiceOrder.shared().orderCreateApi(paraMdl: paraMdl) { (orderBackModel) -> (Void) in
+        SwiftMoyaNetWorkServiceOrder.shared().orderCreateApi(paraMdl: paraMdl) {
+            [weak self] (orderBackModel) -> (Void) in
             // 弹出支付方式View
-            PayManagerPay.shared.payAlertView(orderPayModel: orderBackModel as! OrderCreateBackModel)
+            if self?.shoppingCartPayOrderVCType == .cart {
+                 PayManagerPay.shared.payAlertView(orderPayModel: orderBackModel as! OrderCreateBackModel, orderFinishPayVCType: .cart)
+            }else  if self?.shoppingCartPayOrderVCType == .productDetail {
+                PayManagerPay.shared.payAlertView(orderPayModel: orderBackModel as! OrderCreateBackModel, orderFinishPayVCType: .productDetail)
+            }
+           
         }
     }
 }

+ 8 - 1
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartHotSale/ShoppingCartHotSaleTableViewCell.swift

@@ -161,7 +161,7 @@ extension ShoppingCartHotSaleTableViewCell: UICollectionViewDelegateFlowLayout,U
     
     func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
         let cell = ProductSlidingTopBottomCollectionViewCell.cellWith(collectionView: collectionView, indexPath: indexPath)
-        cell.productSearchModel = hotSaleModelArr![indexPath.row]
+        cell.productSearchModel = hotSaleModelArr?[indexPath.row]
         cell.plusClosure = {
             [weak self] (productSearchModel,indexPath) in
             self?.addCart(productSearchModel: productSearchModel!, indexPath: indexPath!)
@@ -169,6 +169,13 @@ extension ShoppingCartHotSaleTableViewCell: UICollectionViewDelegateFlowLayout,U
         return cell
     }
     
+    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
+        let productSearchModel = hotSaleModelArr?[indexPath.row]
+        let vc = ProductDetailViewController()
+        vc.productSearchModel = productSearchModel
+        getCurrentVC().navigationController?.pushViewController(vc, animated: true)
+    }
+    
     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
         return CGSize(width:170 * kScaleWidth, height: 170 * kScaleWidth + 80)
     }

+ 18 - 16
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartList/ShoppingCartListNoneItemCell.swift

@@ -14,18 +14,6 @@ class ShoppingCartListNoneItemCell: UITableViewCell {
     
     let disposeBag = DisposeBag()
     
-    override var frame: CGRect {
-        get {
-            return super.frame
-        }
-        set {
-            var frame = newValue
-            frame.origin.x += 14 * kScaleWidth
-            frame.size.width -= 14 * kScaleWidth * 2
-            super.frame = frame
-        }
-    }
-    
     class func cellWith(tableView:UITableView,indexPath:IndexPath) -> ShoppingCartListNoneItemCell {
         let ID = "ShoppingCartListNoneItemCell"
         tableView.register(ShoppingCartListNoneItemCell.self, forCellReuseIdentifier: ID)
@@ -53,13 +41,19 @@ class ShoppingCartListNoneItemCell: UITableViewCell {
     //MRAK: - 设置View
     private func setupViews() {
         self.selectionStyle = .none
-        
-        addSubview(iconImageView)
-        addSubview(titleLabel)
-        addSubview(jumpButton)
+        backgroundColor = kf7f8faColor
+        addSubview(bgView)
+        bgView.addSubview(iconImageView)
+        bgView.addSubview(titleLabel)
+        bgView.addSubview(jumpButton)
     }
     
     private func setupLayouts() {
+        bgView.snp.makeConstraints { (make) in
+            make.top.bottom.equalToSuperview()
+            make.left.equalTo(14 * kScaleWidth)
+            make.right.equalTo(-14 * kScaleWidth)
+        }
         iconImageView.snp.makeConstraints { (make) in
             make.top.equalTo(30)
             make.centerX.equalToSuperview()
@@ -113,5 +107,13 @@ class ShoppingCartListNoneItemCell: UITableViewCell {
         return jumpButton
     }()
     
+    lazy var bgView: UIView = {
+        let bgView = UIView()
+        bgView.backgroundColor = UIColor.white
+        bgView.cornerRadius = 4
+        bgView.masksToBounds = true
+        return bgView
+    }()
+    
 }
 

+ 23 - 24
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartList/ShoppingCartListTableViewCell.swift

@@ -43,19 +43,6 @@ class ShoppingCartListTableViewCell: UITableViewCell {
             numberLabel.text = "\(productMdl?.amount ?? 1)"
         }
     }
-    
-    override var frame: CGRect {
-        get {
-            return super.frame
-        }
-        set {
-            var frame = newValue
-            frame.origin.x += 14 * kScaleWidth
-            frame.size.width -= 14 * kScaleWidth * 2
-            super.frame = frame
-        }
-    }
-    
     class func cellWith(tableView:UITableView,indexPath:IndexPath) -> ShoppingCartListTableViewCell {
         let ID = "ShoppingCartListTableViewCell"
         tableView.register(ShoppingCartListTableViewCell.self, forCellReuseIdentifier: ID)
@@ -83,20 +70,26 @@ class ShoppingCartListTableViewCell: UITableViewCell {
     //MRAK: - 设置View
     private func setupViews() {
         self.selectionStyle = .none
-        
-        addSubview(selectedButton)
-        addSubview(iconImageView)
-        addSubview(titleLabel)
-        addSubview(deliveryTime)
-        addSubview(sellScaleLabel)
-        addSubview(sellNumberLabel)
-        addSubview(sellPriceLabel)
-        addSubview(plusButton)
-        addSubview(numberLabel)
-        addSubview(reduceButton)
+        backgroundColor = kf7f8faColor
+        addSubview(bgView)
+        bgView.addSubview(selectedButton)
+        bgView.addSubview(iconImageView)
+        bgView.addSubview(titleLabel)
+        bgView.addSubview(deliveryTime)
+        bgView.addSubview(sellScaleLabel)
+        bgView.addSubview(sellNumberLabel)
+        bgView.addSubview(sellPriceLabel)
+        bgView.addSubview(plusButton)
+        bgView.addSubview(numberLabel)
+        bgView.addSubview(reduceButton)
     }
     
     private func setupLayouts() {
+        bgView.snp.makeConstraints { (make) in
+            make.top.bottom.equalToSuperview()
+            make.left.equalTo(14 * kScaleWidth)
+            make.right.equalTo(-14 * kScaleWidth)
+        }
         selectedButton.snp.makeConstraints { (make) in
             make.left.top.bottom.equalToSuperview()
             make.width.equalTo(40)
@@ -243,4 +236,10 @@ class ShoppingCartListTableViewCell: UITableViewCell {
         return reduceButton
     }()
     
+    lazy var bgView: UIView = {
+        let bgView = UIView()
+        bgView.backgroundColor = UIColor.white
+        return bgView
+    }()
+    
 }

+ 7 - 10
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/View/ShoppingCartView.swift

@@ -13,19 +13,17 @@ class ShoppingCartView: BaseView {
     // 购物车列表ModelArr
     var cartListModelArr : Array<CartProductListModel>? {
         didSet {
-            tableView.reloadData()
             self.judgeAllSelectedStatus()
             self.refreshAccountView()
-            
             self.updateAccountViewCondition()
+            tableView.reloadData()
         }
     }
     
     // 热销ModelArr
     var hotSaleModelArr : Array<ProductSearchModel>? {
         didSet {
-            let sectionIdx = cartListModelArr?.count ?? 1
-            self.tableView.reloadSections([sectionIdx], with: UITableView.RowAnimation.none)
+            tableView.reloadData()
         }
     }
     
@@ -153,12 +151,10 @@ extension ShoppingCartView : UITableViewDelegate, UITableViewDataSource {
             case 0:
                 // 购物车列表为空
                 let cell = ShoppingCartListNoneItemCell.cellWith(tableView: tableView, indexPath: indexPath)
-                 cell.frame = tableView.bounds
                 return cell
             case 1:
                 // 超值热卖
                 let hotSaleCell = ShoppingCartHotSaleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-//                hotSaleCell.frame = tableView.bounds
                 hotSaleCell.hotSaleModelArr = hotSaleModelArr
                 hotSaleCell.layoutIfNeeded()
                 hotSaleCell.reloadData()
@@ -177,7 +173,6 @@ extension ShoppingCartView : UITableViewDelegate, UITableViewDataSource {
             if indexPath.section < cartListModelArr!.count {
                 // 购物车列表Item
                 let cell = ShoppingCartListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                cell.frame = tableView.bounds
                 cell.productMdl = cartListModelArr![indexPath.section].productList![indexPath.row]
                 
                 cell.productSelBlock = { [weak self]
@@ -194,9 +189,11 @@ extension ShoppingCartView : UITableViewDelegate, UITableViewDataSource {
                         let amount = cartAmountMdl?.amount
                         self?.cartListModelArr![indexPath.section].productList![indexPath.row].amount = amount
                         // 2.刷新cell及合计View
-                        let indexPath = IndexPath(item: indexPath.row, section: indexPath.section)
-                        self?.tableView.reloadRows(at: [indexPath], with: UITableView.RowAnimation.none)
                         self?.refreshAccountView()
+                        UIView.performWithoutAnimation {
+                            tableView.reloadData()
+                        }
+
                     })
                 }
                 return cell
@@ -204,7 +201,7 @@ extension ShoppingCartView : UITableViewDelegate, UITableViewDataSource {
             } else {
                 // 超值热卖
                 let hotSaleCell = ShoppingCartHotSaleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-//                hotSaleCell.frame = tableView.bounds
+                hotSaleCell.frame = tableView.bounds
                 hotSaleCell.hotSaleModelArr = hotSaleModelArr
                 hotSaleCell.layoutIfNeeded()
                 hotSaleCell.reloadData()

+ 12 - 18
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCart/ViewController/ShoppingCartViewController.swift

@@ -11,15 +11,19 @@ import RxSwift
 
 class ShoppingCartViewController: BaseViewController {
     
+    weak var observe : NSObjectProtocol?
+    deinit {
+        NotificationCenter.default.removeObserver(observe!)
+    }
+    
     var productSearchModelArray = Array<ProductSearchModel>()
     
     override func viewDidLoad() {
         super.viewDidLoad()
         setupViews()
         setupLayouts()
-        
         let operationQueue = OperationQueue.main
-        NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "ChartListToHomePage"), object: nil, queue: operationQueue) {
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "ChartListToHomePage"), object: nil, queue: operationQueue) {
             [weak self] (notification) in
             self?.tabBarController?.selectedIndex = 0
         }
@@ -29,45 +33,35 @@ class ShoppingCartViewController: BaseViewController {
         setupData()
     }
     
-    deinit {
-        NotificationCenter.default.removeObserver(self)
-    }
-    
     override func setupViews() {
         navigationBar.title = "购物车"
-        setShoppingCartView()
+        view.addSubview(shoppingCartView)
     }
     
     override func setupLayouts() {
         
+        shoppingCartView.snp.makeConstraints { (make) in
+            make.bottom.left.right.equalToSuperview()
+            make.top.equalTo(kNavBarTotalHeight)
+        }
     }
     
     override func setupData() {
-        
         shoppingCartView.tableView.addHeaderWithHeader(withBeginRefresh: true, animation: false) { [weak self] (page) in
             self?.productCartListApi()
             self?.productHotSaleApi(page: page)
         }
-        
         shoppingCartView.tableView.addFooterWithWithHeader(withAutomaticallyRefresh: false) { [weak self] (page) in
             self?.productHotSaleApi(page: page)
         }
     }
     
-    /// 添加view
-    func setShoppingCartView() {
-        view.addSubview(shoppingCartView)
-        shoppingCartView.snp.makeConstraints { (make) in
-            make.bottom.left.right.equalToSuperview()
-            make.top.equalTo(kNavBarTotalHeight)
-        }
-    }
-    
     private lazy var shoppingCartView: ShoppingCartView = {
         let shoppingCartView = ShoppingCartView()
         shoppingCartView.orderPayTransBlock = {
             [weak self] (selMdlArr, totalPrice) in
             let vc = ShoppingCartPayOrderController()
+            vc.shoppingCartPayOrderVCType = .cart
             vc.selListModelArr = selMdlArr
             vc.totalProductPrice = totalPrice
             self?.navigationController?.pushViewController(vc, animated: true)

+ 3 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductDetail/View/ProductDetailView.swift

@@ -146,6 +146,9 @@ class ProductDetailView: BaseView {
     
     private lazy var cartButton : UIButton = {
         let cartButton = UIButton()
+        cartButton.rx.tap.subscribe(onNext: { (data) in
+            getCurrentVC().tabBarController?.selectedIndex = 1
+        }).disposed(by: disposeBag)
         return cartButton
     }()
     

+ 1 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductDetail/ViewController/ProductDetailViewController.swift

@@ -96,6 +96,7 @@ class ProductDetailViewController: BaseViewController {
         productDetailView.buyNowClosure = {
             [weak self] (productDetailSkuModel) in
             let vc = ShoppingCartPayOrderController()
+            vc.shoppingCartPayOrderVCType = .productDetail
             
             var cartProductListModels = Array<CartProductListModel>()
             let cartProductListModel = CartProductListModel()

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/ViewController/ShoppingMallViewController.swift

@@ -47,7 +47,7 @@ class ShoppingMallViewController: BaseViewController {
             vc.productModel = productModel
             self?.navigationController?.pushViewController(vc, animated: true)
         }
-        
+
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("ShoppingMallBanner"), object: nil, queue: OperationQueue.main) {[weak self] (notification) in
             let cmsRuleModel = notification.object as? CMSRuleModel
             self?.pushVCCMSRule(cmsRuleModel: cmsRuleModel, areaType: "banner")