Selaa lähdekoodia

功能基本完成

南鑫林 6 vuotta sitten
vanhempi
commit
456699b9b7

+ 12 - 0
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -8,6 +8,7 @@
 
 /* Begin PBXBuildFile section */
 		0A110C4CD931995B8E8BF7C5 /* Pods_RainbowPlanet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D469F6C3768252BCB7001EDD /* Pods_RainbowPlanet.framework */; };
+		A7003EA3229192CC004E51FB /* PayManagerPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7003EA2229192CC004E51FB /* PayManagerPay.swift */; };
 		A70B2C042283D06B00B2449F /* ProductFloorFullLeftHeaderCollectionReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A70B2C032283D06B00B2449F /* ProductFloorFullLeftHeaderCollectionReusableView.swift */; };
 		A70B2C072284305400B2449F /* ProductModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A70B2C062284305400B2449F /* ProductModel.swift */; };
 		A70B2C102286A3BC00B2449F /* ProductDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A70B2C0F2286A3BC00B2449F /* ProductDetailModel.swift */; };
@@ -388,6 +389,7 @@
 /* Begin PBXFileReference section */
 		57C497E128081597F165C771 /* Pods-RainbowPlanet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RainbowPlanet.release.xcconfig"; path = "Pods/Target Support Files/Pods-RainbowPlanet/Pods-RainbowPlanet.release.xcconfig"; sourceTree = "<group>"; };
 		88DF1EFD2E202DA7C627E8A7 /* Pods_RainbowPlanetUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RainbowPlanetUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		A7003EA2229192CC004E51FB /* PayManagerPay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PayManagerPay.swift; sourceTree = "<group>"; };
 		A70B2C032283D06B00B2449F /* ProductFloorFullLeftHeaderCollectionReusableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductFloorFullLeftHeaderCollectionReusableView.swift; sourceTree = "<group>"; };
 		A70B2C062284305400B2449F /* ProductModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProductModel.swift; sourceTree = "<group>"; };
 		A70B2C0F2286A3BC00B2449F /* ProductDetailModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProductDetailModel.swift; sourceTree = "<group>"; };
@@ -814,6 +816,14 @@
 			name = Pods;
 			sourceTree = "<group>";
 		};
+		A7003EA1229192AD004E51FB /* PayManagerPay */ = {
+			isa = PBXGroup;
+			children = (
+				A7003EA2229192CC004E51FB /* PayManagerPay.swift */,
+			);
+			path = PayManagerPay;
+			sourceTree = "<group>";
+		};
 		A70B2C0522841F1B00B2449F /* FloorCell */ = {
 			isa = PBXGroup;
 			children = (
@@ -1606,6 +1616,7 @@
 		A72A730522321F1D00B21995 /* PayManager */ = {
 			isa = PBXGroup;
 			children = (
+				A7003EA1229192AD004E51FB /* PayManagerPay */,
 				BDEF778F228571C200ED0AC0 /* PayManagerView */,
 				A72A7331223256D700B21995 /* PayManager */,
 				A72A730622321F2900B21995 /* AlipayManager */,
@@ -3415,6 +3426,7 @@
 				A77F2CB52232010F001BD3F6 /* ShoppingMallViewController.swift in Sources */,
 				A71AA513227215B5008FF1A5 /* ExpressAddressListView.swift in Sources */,
 				A7B4E723228154750012914A /* ProductFloorBannerView.swift in Sources */,
+				A7003EA3229192CC004E51FB /* PayManagerPay.swift in Sources */,
 				A7DC467F22783A47001F3EFC /* EditExpressAddressTableViewCell.swift in Sources */,
 				A7A98E4522804C63005306E9 /* ShoppingMallSepcialCollectionViewCell.swift in Sources */,
 				A7824B082271F53A00ABA381 /* EditSetDefaultTableViewCell.swift in Sources */,

+ 57 - 0
RainbowPlanet/RainbowPlanet/Manager/PayManager/PayManagerPay/PayManagerPay.swift

@@ -0,0 +1,57 @@
+//
+//  PayManagerPay.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/19.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class PayManagerPay: NSObject {
+    static let shared : PayManagerPay = PayManagerPay()
+    
+    
+    func payAlertView(orderPayModel: OrderCreateBackModel){
+        // 弹出支付方式View
+        AlertSheetView.payAlertSheetView(paymentAmount:orderPayModel.money ?? "",cancelClosure: {
+            [weak self] in
+            self?.pushVC(payStatus: false)
+            }, sureClosure: { [weak self] (payType) in
+                switch payType {
+                case .wechatPay:
+                    self?.payWeixinpayApi(orderPayModel: orderPayModel)
+                case .aliPay:
+                    self?.payAlipayApi(orderPayModel: orderPayModel)
+                }
+        })
+    }
+    // 微信支付
+    func payWeixinpayApi(orderPayModel: OrderCreateBackModel) {
+        SwiftMoyaNetWorkServicePay.shared().payWeixinpayApi(paraMdl: orderPayModel) { [weak self] (weChatpayOrderModel) -> (Void) in
+            PayManager.shared().weixinpay(wechatpayOrderModel: weChatpayOrderModel as! WeChatpayOrderModel, successPayBlock: {
+                self?.pushVC(payStatus: true)
+            }, failPayBlock: {
+                self?.pushVC(payStatus: false)
+            })
+        }
+    }
+    
+    // 支付宝支付
+    func payAlipayApi(orderPayModel: OrderCreateBackModel) {
+        SwiftMoyaNetWorkServicePay.shared().payAlipayApi(paraMdl: orderPayModel) { [weak self] (orderString) -> (Void) in
+            PayManager.shared().alipay(orderString: orderString as? String ?? "" , successPayBlock: {
+                self?.pushVC(payStatus: true)
+            }, failPayBlock: {
+                self?.pushVC(payStatus: false)
+            })
+        }
+    }
+    
+    //跳转到字符失败,跟支付成功页面
+    func pushVC(payStatus: Bool){
+        let vc = ShoppingCartFinishPayController()
+        vc.payStatus = payStatus
+        getCurrentVC().navigationController?.pushViewController(vc, animated: true)
+    }
+}

+ 2 - 2
RainbowPlanet/RainbowPlanet/Manager/PayManager/PayManagerView/CommonPayHeader.swift

@@ -15,9 +15,9 @@ class CommonPayHeader: BaseView {
     typealias DismissBlock = () -> Void
     var dismissBlock : DismissBlock?
     
-    var payAmount: Int? {
+    var payAmount: String? {
         didSet {
-            titleLabel.text = "支付金额¥\(payAmount ?? 0)"
+            titleLabel.text = "支付金额 ¥\(payAmount ?? "")"
         }
     }
     

+ 8 - 1
RainbowPlanet/RainbowPlanet/Manager/PayManager/PayManagerView/CommonPayView.swift

@@ -63,6 +63,7 @@ class CommonPayView: FWPopupView {
         tableView.estimatedRowHeight = 0.000001
         tableView.estimatedSectionFooterHeight = 0.000001
         tableView.estimatedSectionHeaderHeight = 0.000001
+        tableView.isScrollEnabled = false
         return tableView
     }()
     
@@ -80,6 +81,12 @@ class CommonPayView: FWPopupView {
         return confirmPayBtn
     }()
     
+    var paymentAmount:String? {
+        didSet {
+            tableView.reloadData()
+        }
+    }
+    
 }
 
 extension CommonPayView : UITableViewDelegate, UITableViewDataSource {
@@ -139,7 +146,7 @@ extension CommonPayView : UITableViewDelegate, UITableViewDataSource {
     
     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
         let headerView = CommonPayHeader(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: 50))
-        headerView.payAmount = 155
+        headerView.payAmount = paymentAmount
         headerView.dismissBlock = {
             [weak self] in
             if let disTransBlock = self?.disTransBlock {

+ 4 - 0
RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/ViewController/OrderListViewController.swift

@@ -58,6 +58,10 @@ class OrderListViewController: UIViewController {
         
     }
     
+    
+    /// 订单列表
+    ///
+    /// - Parameter page: <#page description#>
     func orderPurchaseOrderListApi(page:Int = 1) {
         
         SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseOrderListApi(page: page, status: orderVCType.map { $0.rawValue } ?? -1) {

+ 27 - 8
RainbowPlanet/RainbowPlanet/Modules/OrderModule/Order/ViewController/OrderViewController.swift

@@ -138,7 +138,6 @@ extension OrderViewController : JXSegmentedViewDelegate {
 
 extension OrderViewController :JXSegmentedListContainerViewDataSource {
     
-    
     func numberOfLists(in listContainerView: JXSegmentedListContainerView) -> Int {
         if let titleDataSource = segmentedView.dataSource as? JXSegmentedBaseDataSource {
             return titleDataSource.dataSource.count
@@ -150,7 +149,7 @@ extension OrderViewController :JXSegmentedListContainerViewDataSource {
         vc.orderVCType =  OrderVCType(rawValue: index-1)
         vc.setButtonBlock = {
             [weak self] (button,orderModel) in
-            self?.setButton(button: button, orderModel: orderModel)
+            self?.setButton(button: button, orderModel: orderModel, vc: vc)
         }
         
         vc.didSelectBlock = {
@@ -158,25 +157,30 @@ extension OrderViewController :JXSegmentedListContainerViewDataSource {
             let orderDetailVC = OrderDetailViewController()
             orderDetailVC.orderModel = orderModel
             orderDetailVC.cancelOrderClosure = {
-                vc.change = true
+                vc.orderPurchaseOrderListApi(page: 1)
             }
             self?.navigationController?.pushViewController(orderDetailVC, animated: true)
         }
         return vc
     }
     
-    func setButton(button:UIButton,orderModel:OrderModel) {
+    func setButton(button:UIButton,orderModel:OrderModel,vc: OrderListViewController) {
         if button.titleLabel?.text == "去付款" {
-            
+            // 弹出支付方式View
+            let orderPayModel = OrderCreateBackModel()
+            orderPayModel.money = "\(orderModel.realPrice ?? 0)"
+            orderPayModel.patchNum = orderModel.patchNum
+            PayManagerPay.shared.payAlertView(orderPayModel: orderPayModel)
         }
         if button.titleLabel?.text == "取消订单" {
-            
+            orderPurchaseCloseApi(orderModel: orderModel, vc: vc)
         }
         if button.titleLabel?.text == "确认收货" {
-            
+            orderPurchaseConfirmApi(orderModel: orderModel, vc: vc)
         }
         if button.titleLabel?.text == "查看物流" {
-            
+            let vc = OrderLogisticsController()
+            self.navigationController?.pushViewController(vc, animated: true)
         }
         if button.titleLabel?.text == "退款详情" {
             let vc = OrderRefunddetailsViewController()
@@ -199,4 +203,19 @@ extension OrderViewController :JXSegmentedListContainerViewDataSource {
             self.navigationController?.pushViewController(vc, animated: true)
         }
     }
+    
+    
+    /// 取消订单
+    func orderPurchaseCloseApi(orderModel:OrderModel,vc: OrderListViewController) {
+        SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseCloseApi(patchNum: orderModel.patchNum ?? "") { (data) -> (Void) in
+            vc.orderPurchaseOrderListApi(page: 1)
+        }
+    }
+    
+    /// 确认收货
+    func orderPurchaseConfirmApi(orderModel:OrderModel,vc: OrderListViewController) {
+        SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseConfirmApi(purchaseId: orderModel.purchaseNo!) { (data) -> (Void) in
+            vc.orderPurchaseOrderListApi(page: 1)
+        }
+    }
 }

+ 17 - 4
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderDetail/ViewController/OrderDetailViewController.swift

@@ -88,7 +88,11 @@ class OrderDetailViewController: BaseViewController {
     
     func setButton(button:UIButton) {
         if button.titleLabel?.text == "去付款" {
-            
+            // 弹出支付方式View
+            let orderPayModel = OrderCreateBackModel()
+            orderPayModel.money = "\(self.orderDetailModel?.realPrice ?? 0)"
+            orderPayModel.patchNum = self.orderDetailModel?.patchNum
+            PayManagerPay.shared.payAlertView(orderPayModel: orderPayModel)
         }
         if button.titleLabel?.text == "取消订单" {
             SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseCloseApi(patchNum: self.orderDetailModel?.patchNum ?? "") {
@@ -100,10 +104,17 @@ class OrderDetailViewController: BaseViewController {
             }
         }
         if button.titleLabel?.text == "确认收货" {
-            
+            SwiftMoyaNetWorkServiceOrder.shared().orderPurchaseConfirmApi(purchaseId: self.orderDetailModel?.purchaseNo ?? "") {
+                 [weak self] (data) -> (Void) in
+                if let cancelOrderClosure = self?.cancelOrderClosure {
+                    cancelOrderClosure()
+                }
+                self?.navigationController?.popViewController(animated: true)
+            }
         }
         if button.titleLabel?.text == "查看物流" {
-            
+            let vc = OrderLogisticsController()
+            self.navigationController?.pushViewController(vc, animated: true)
         }
         if button.titleLabel?.text == "退款详情" {
             let vc = OrderRefunddetailsViewController()
@@ -111,7 +122,9 @@ class OrderDetailViewController: BaseViewController {
             self.navigationController?.pushViewController(vc, animated: true)
         }
         if button.titleLabel?.text == "去评价" {
-            print("--去评价1")
+            let vc = OrderCommentController()
+            vc.orderDetailModel = self.orderDetailModel
+            self.navigationController?.pushViewController(vc, animated: true)
         }
         if button.titleLabel?.text == "再次购买" {
             let vc = ShopViewController()

+ 46 - 10
RainbowPlanet/RainbowPlanet/Modules/OrderModule/OrderLogistics/View/OrderLogisticsInfoCell.swift

@@ -20,6 +20,11 @@ class OrderLogisticsInfoCell: UITableViewCell {
         didSet {
             if isFirstCell == true {
                 topLineView.isHidden = true
+                twoLabel.isHidden = false
+                threeLabel.isHidden = false
+            }else {
+                twoLabel.isHidden = true
+                threeLabel.isHidden = true
             }
         }
     }
@@ -61,7 +66,9 @@ class OrderLogisticsInfoCell: UITableViewCell {
         self.selectionStyle = .none
         
         addSubview(informationLabel)
-        addSubview(iconImageView)
+        addSubview(threeLabel)
+        addSubview(twoLabel)
+        addSubview(oneLabel)
         addSubview(timeInfoLabel)
         addSubview(topLineView)
         addSubview(botLineView)
@@ -73,8 +80,18 @@ class OrderLogisticsInfoCell: UITableViewCell {
             make.right.equalTo(-28)
             make.left.equalTo(48)
         }
-        iconImageView.snp.makeConstraints { (make) in
+        oneLabel.snp.makeConstraints { (make) in
             make.left.equalToSuperview().offset(18)
+            make.size.equalTo(6)
+            make.centerY.equalTo(informationLabel)
+        }
+        twoLabel.snp.makeConstraints { (make) in
+            make.centerX.equalTo(oneLabel)
+            make.size.equalTo(9)
+            make.centerY.equalTo(informationLabel)
+        }
+        threeLabel.snp.makeConstraints { (make) in
+            make.centerX.equalTo(oneLabel)
             make.size.equalTo(12)
             make.centerY.equalTo(informationLabel)
         }
@@ -85,24 +102,43 @@ class OrderLogisticsInfoCell: UITableViewCell {
             make.height.equalTo(17)
         }
         topLineView.snp.makeConstraints { (make) in
-            make.centerX.equalTo(iconImageView)
+            make.centerX.equalTo(oneLabel)
             make.top.equalToSuperview()
-            make.bottom.equalTo(iconImageView.snp_top)
+            make.bottom.equalTo(oneLabel.snp_top)
             make.width.equalTo(1)
         }
         botLineView.snp.makeConstraints { (make) in
-            make.centerX.equalTo(iconImageView)
-            make.top.equalTo(iconImageView.snp_bottom)
+            make.centerX.equalTo(oneLabel)
+            make.top.equalTo(oneLabel.snp_bottom)
             make.bottom.equalToSuperview()
             make.width.equalTo(1)
         }
     }
     
     
-    private lazy var iconImageView: UIImageView = {
-        let iconImageView = UIImageView()
-        iconImageView.image = kImage(name: "shopping_cart_trade_finish")
-        return iconImageView
+    private lazy var oneLabel: UILabel = {
+        let oneLabel = UILabel()
+        oneLabel.backgroundColor = ke6e6e6Color
+        oneLabel.layer.cornerRadius = 3
+        oneLabel.masksToBounds = true
+        return oneLabel
+    }()
+    private lazy var twoLabel: UILabel = {
+        let twoLabel = UILabel()
+        twoLabel.backgroundColor = UIColor.white
+        twoLabel.layer.cornerRadius = 4.5
+        twoLabel.isHidden = true
+        twoLabel.masksToBounds = true
+        twoLabel.isHidden = true
+        return twoLabel
+    }()
+    private lazy var threeLabel: UILabel = {
+        let threeLabel = UILabel()
+        threeLabel.backgroundColor = kFFA42FColor.withAlphaComponent(0.4)
+        threeLabel.layer.cornerRadius = 6
+        threeLabel.masksToBounds = true
+        threeLabel.isHidden = true
+        return threeLabel
     }()
     
     private lazy var informationLabel: UILabel = {

+ 1 - 41
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/ViewController/ShoppingCartPayOrderController.swift

@@ -117,47 +117,7 @@ class ShoppingCartPayOrderController: BaseViewController {
         
         SwiftMoyaNetWorkServiceOrder.shared().orderCreateApi(paraMdl: paraMdl) { (orderBackModel) -> (Void) in
             // 弹出支付方式View
-            AlertSheetView.payAlertSheetView(cancelClosure: {
-                [weak self] in
-                self?.pushVC(payStatus: false)
-            }, sureClosure: { [weak self] (payType) in
-                switch payType {
-                case .wechatPay:
-                    self?.payWeixinpayApi(orderPayModel: orderBackModel as! OrderCreateBackModel)
-                case .aliPay:
-                    self?.payAlipayApi(orderPayModel: orderBackModel as! OrderCreateBackModel)
-                }
-            })
+            PayManagerPay.shared.payAlertView(orderPayModel: orderBackModel as! OrderCreateBackModel)
         }
     }
-    
-    // 微信支付
-    func payWeixinpayApi(orderPayModel: OrderCreateBackModel) {
-        SwiftMoyaNetWorkServicePay.shared().payWeixinpayApi(paraMdl: orderPayModel) { [weak self] (weChatpayOrderModel) -> (Void) in
-            PayManager.shared().weixinpay(wechatpayOrderModel: weChatpayOrderModel as! WeChatpayOrderModel, successPayBlock: {
-                self?.pushVC(payStatus: true)
-            }, failPayBlock: {
-                self?.pushVC(payStatus: false)
-            })
-        }
-    }
-    
-    //跳转到字符失败,跟支付成功页面
-    func pushVC(payStatus: Bool){
-        let vc = ShoppingCartFinishPayController()
-        vc.payStatus = payStatus
-        self.navigationController?.pushViewController(vc, animated: true)
-    }
-    
-    // 支付宝支付
-    func payAlipayApi(orderPayModel: OrderCreateBackModel) {
-        SwiftMoyaNetWorkServicePay.shared().payAlipayApi(paraMdl: orderPayModel) { [weak self] (orderString) -> (Void) in
-            PayManager.shared().alipay(orderString: orderString as? String ?? "" , successPayBlock: {
-                 self?.pushVC(payStatus: true)
-            }, failPayBlock: {
-                self?.pushVC(payStatus: false)
-            })
-        }
-    }
-    
 }

+ 0 - 1
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSepcial/ShoppingMallSepcialTableViewCell.swift

@@ -17,7 +17,6 @@ class ShoppingMallSepcialTableViewCell: UITableViewCell {
             var frame = newValue
             frame.origin.x += 14 * kScaleWidth
             frame.size.width -= 14 * kScaleWidth * 2
-//            frame.origin.y += 10
             super.frame = frame
         }
     }

+ 1 - 1
RainbowPlanet/RainbowPlanet/Service/Model/OrderModel/OrderCreateBackModel.swift

@@ -20,7 +20,7 @@ class OrderCreateBackModel : NSObject, Mappable{
         return OrderCreateBackModel()
     }
     required init?(map: Map){}
-    private override init(){}
+    override init(){}
     
     func mapping(map: Map)
     {

+ 5 - 5
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceOrder/SwiftMoyaNetWorkServiceOrder.swift

@@ -163,11 +163,11 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
     func orderPurchaseConfirmApi(purchaseId:String = "",completion: @escaping apiCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(purchaseId, forKey: "purchase_id")
-//        SwiftProgressHUD.shared().showWait()
-//        SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseConfirm(parameters: parameters))) { (data) in
-//            SwiftProgressHUD.shared().hide()
-//            completion("")
-//        }
+        SwiftProgressHUD.shared().showWait()
+        SwiftMoyaNetWorkManager.shared().request(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseConfirm(parameters: parameters))) { (data) in
+            SwiftProgressHUD.shared().hide()
+            completion("")
+        }
     }
     
     // MARK: - 关闭订单

+ 2 - 2
RainbowPlanet/RainbowPlanet/Tools/AlertSheetView/AlertSheetView.swift

@@ -91,9 +91,9 @@ class AlertSheetView: NSObject {
     }
     
     /// 自定义支付View
-    class func payAlertSheetView(cancelClosure:@escaping () -> Void, sureClosure:@escaping (_ pType: PayType) -> Void) {
+    class func payAlertSheetView(paymentAmount:String, cancelClosure:@escaping () -> Void, sureClosure:@escaping (_ pType: PayType) -> Void) {
         let payView = CommonPayView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: kSafeTabBarHeight + 300))
-        
+        payView.paymentAmount = paymentAmount
         let vProperty = FWPopupViewProperty()
         vProperty.popupCustomAlignment = .bottomCenter
         vProperty.popupAnimationType = .frame