Chris пре 6 година
родитељ
комит
6e23de8b8f

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

@@ -305,6 +305,8 @@
 		BD1DC6C5228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6C3228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift */; };
 		BD1DC6C6228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6C4228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift */; };
 		BD1DC6C9228D005000B89C57 /* OrderCreateParameterModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6C8228D005000B89C57 /* OrderCreateParameterModel.swift */; };
+		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 */; };
@@ -667,6 +669,8 @@
 		BD1DC6C3228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftMoyaNetWorkServiceOrder.swift; sourceTree = "<group>"; };
 		BD1DC6C4228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftMoyaServiceOrderApi.swift; sourceTree = "<group>"; };
 		BD1DC6C8228D005000B89C57 /* OrderCreateParameterModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderCreateParameterModel.swift; sourceTree = "<group>"; };
+		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>"; };
@@ -2699,6 +2703,8 @@
 			isa = PBXGroup;
 			children = (
 				BD1DC6C8228D005000B89C57 /* OrderCreateParameterModel.swift */,
+				BD1DC6CA228D157000B89C57 /* OrderCreateBackModel.swift */,
+				BD1DC6CC228D160D00B89C57 /* OrderPurchaseModel.swift */,
 			);
 			path = OrderModel;
 			sourceTree = "<group>";
@@ -3226,6 +3232,7 @@
 				A72A72D522321E2700B21995 /* ColorMacro.swift in Sources */,
 				A72A7333223256E100B21995 /* PayManager.swift in Sources */,
 				A70B2C6722887B2B00B2449F /* ProductDetailEvaluationListTableViewCell.swift in Sources */,
+				BD1DC6CD228D160D00B89C57 /* OrderPurchaseModel.swift in Sources */,
 				A775CC00223774A300EBDCF8 /* ShoppingMallView.swift in Sources */,
 				A7FF1555228AC27600A85748 /* ProductAllCommentView.swift in Sources */,
 				A7CC7526227196A8003C4F38 /* AccountSecurityTableViewCell.swift in Sources */,
@@ -3299,6 +3306,7 @@
 				A7636AC822682BAF00374F9E /* LocationView.swift in Sources */,
 				A738D205225AF90D00EEE860 /* WeChatpayOrderModel.swift in Sources */,
 				A7CC7524227190FB003C4F38 /* AccountSecurityView.swift in Sources */,
+				BD1DC6CB228D157000B89C57 /* OrderCreateBackModel.swift in Sources */,
 				A72A72BD22321DE000B21995 /* Extension+UIColor.swift in Sources */,
 				A7A98E05227EB891005306E9 /* CategoryViewController.swift in Sources */,
 				A77F2CC822320627001BD3F6 /* WRCustomNavigationBar.swift in Sources */,

+ 11 - 12
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/View/ShoppingCartOrderPayView.swift

@@ -73,33 +73,32 @@ class ShoppingCartOrderPayView: BaseView {
         let accountView = OrderPayAcountView()
         accountView.commitOrderBlock = {
             [weak self] in
-//            if let commitOrderTransBlock = self?.commitOrderTransBlock {
-//                commitOrderTransBlock()
-//            }
-            
-            print("------点击提交订单--payView")
-            print(self?.expressAddressMdl as! ExpressAddresModel)
-            print(self?.selfAddressInfoMdl as Any)
-            
             let paraMdl = OrderCreateParameterModel()
             paraMdl.money = self!.totalProductPrice * 100
+            paraMdl.selShopListArr = self?.proListModelArr
             switch self?.deliverType {
             case "1":
                 // 自提
                 paraMdl.name = self?.selfAddressInfoMdl?.name
                 paraMdl.mobile = Int(self?.selfAddressInfoMdl?.mobile ?? "")
                 paraMdl.address = ""
+                // FIXME:待填充
                 paraMdl.pickNodeId = 0
-//                paraMdl.
-                
+                paraMdl.pickNodeContact = ""
             case "2":
                 // 快递
-                return
+                paraMdl.name = self?.expressAddressMdl?.contactName
+                paraMdl.mobile = Int(self?.expressAddressMdl?.contactMobile ?? "")
+                paraMdl.address = self?.expressAddressMdl?.address
+                paraMdl.pickNodeId = 0
+                paraMdl.pickNodeContact = ""
             default:
                 return
             }
             
-
+            if let commitOrderTransBlock = self?.commitOrderTransBlock {
+                commitOrderTransBlock(paraMdl)
+            }
             
         }
         return accountView

+ 12 - 5
RainbowPlanet/RainbowPlanet/Modules/ShoppingCartModule/ShoppingCartPayOrder/ViewController/ShoppingCartPayOrderController.swift

@@ -74,10 +74,7 @@ class ShoppingCartPayOrderController: BaseViewController {
         orderPayView.totalProductPrice = self.totalProductPrice!
         orderPayView.commitOrderTransBlock = {
             [weak self] (paraMdl) in
-            // 支付弹窗调用
-            AlertSheetView.payAlertSheetView {
-                
-            }
+            self?.orderCreateApi(paraMdl: paraMdl)            
         }
         orderPayView.jumpNavBlock = {
             [weak self] (jumpType) in
@@ -92,7 +89,6 @@ class ShoppingCartPayOrderController: BaseViewController {
                 let vc = EditSelfMentionContactsViewController()
                 self?.navigationController?.pushViewController(vc, animated: true)
             case WillJumpType.selfPersonalInfo:
-                print("------自提个人信息")
                 let vc = SelfMentionContactsListViewController()
                 self?.navigationController?.pushViewController(vc, animated: true)
             case WillJumpType.selfAddressInfo:                
@@ -118,4 +114,15 @@ class ShoppingCartPayOrderController: BaseViewController {
         }        
     }
     
+    // 创建订单
+    func orderCreateApi(paraMdl: OrderCreateParameterModel) {
+        SwiftMoyaNetWorkServiceOrder.shared().orderCreateApi(paraMdl: paraMdl) { (data) -> (Void) in
+            
+            // 支付弹窗调用
+            AlertSheetView.payAlertSheetView {
+                
+            }
+        }
+    }
+    
 }

+ 33 - 0
RainbowPlanet/RainbowPlanet/Service/Model/OrderModel/OrderCreateBackModel.swift

@@ -0,0 +1,33 @@
+//
+//  OrderCreateBackModel.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/5/16.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import Foundation
+import ObjectMapper
+
+class OrderCreateBackModel : NSObject, Mappable{
+    
+    var money : String?
+    var patchNum : String?
+    var purchases : [OrderPurchaseModel]?
+    
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return OrderCreateBackModel()
+    }
+    required init?(map: Map){}
+    private override init(){}
+    
+    func mapping(map: Map)
+    {
+        money <- map["money"]
+        patchNum <- map["patch_num"]
+        purchases <- map["purchases"]
+        
+    }
+    
+}

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

@@ -17,6 +17,6 @@ class OrderCreateParameterModel : NSObject{
     var pickNodeId : Int?
     var pickNodeContact : String?
     var money : Int?
-    var selProductListMdlArr : Array<CartProductListModel>?
+    var selShopListArr : Array<CartProductListModel>?
 }
 

+ 32 - 0
RainbowPlanet/RainbowPlanet/Service/Model/OrderModel/OrderPurchaseModel.swift

@@ -0,0 +1,32 @@
+//
+//  OrderPurchaseModel.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/5/16.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import Foundation
+import ObjectMapper
+
+
+class OrderPurchaseModel : NSObject, Mappable{
+    
+    var id : Int?
+    var purchaseNo : String?
+    
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return OrderPurchaseModel()
+    }
+    required init?(map: Map){}
+    private override init(){}
+    
+    func mapping(map: Map)
+    {
+        id <- map["id"]
+        purchaseNo <- map["purchase_no"]
+        
+    }
+    
+}

+ 32 - 74
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceOrder/SwiftMoyaNetWorkServiceOrder.swift

@@ -27,23 +27,9 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
     ///
     /// - Parameters:
     ///   - completion: 回调
-    func orderCreateApi(name:String  = "", mobile:Int = 0, address:String = "", pickId:Int = 0, pickContact:String = "", money:Int = 0, proListMdlArr: Array<CartProductListModel>, completion: @escaping apiCallBack) {
-        
-        
-        
-        
-        
-//        name    是    string    收货人
-//        mobile    是    int    电话
-//        address    是    string    收货地址
-//        pick_node_id    否    int    自提点id
-//        pick_node_contact    否    string    自提点店长
-//        money    是    int    支付总金额(分)
-        
+    func orderCreateApi(paraMdl:OrderCreateParameterModel, completion: @escaping apiCallBack) {
         var parameters = Dictionary<String,Any>()
         
-        
-        
         // 本地获取city_id/city_name
         let loacationModel = LocationModel.shared().getLocationModel()
         let baiduToCityModel = BaiduToCityFactory.shared.query(bjcityId: loacationModel!.cityCode)
@@ -54,73 +40,45 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         let deliver_type = DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType
         parameters.updateValue(deliver_type ?? 0, forKey: "deliver_type")
         
-        SwiftProgressHUD.shared().showWait()
-        SwiftMoyaNetWorkManager.shared().request(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters))) { (cartAmountModel) in
-            SwiftProgressHUD.shared().hide()
-            completion(cartAmountModel)
+        parameters.updateValue(paraMdl.name ?? "", forKey: "name")
+        parameters.updateValue(paraMdl.mobile ?? 0, forKey: "mobile")
+        parameters.updateValue(paraMdl.address ?? "", forKey: "address")
+        parameters.updateValue(paraMdl.pickNodeId ?? 0, forKey: "pick_node_id")
+        parameters.updateValue(paraMdl.pickNodeContact ?? "", forKey: "pick_node_contact")
+        parameters.updateValue(paraMdl.money ?? 0, forKey: "money")
+        
+        // 处理Json字符串
+        var detailDicArr = Array<Any>()
+        for productListShopMdl: CartProductListModel in paraMdl.selShopListArr! {
+            var shopDic = Dictionary<String,Any>()
+            var productsArr = Array<Any>()
+            for productMdl: ProductModel in productListShopMdl.productList! {
+                var productDic = Dictionary<String,Any>()
+                productDic.updateValue(productMdl.skuId ?? 0, forKey: "sku_id")
+                productDic.updateValue(productMdl.amount ?? 0, forKey: "number")
+                productsArr.append(productDic)
+            }
+            shopDic.updateValue(productListShopMdl.shopId ?? 0, forKey: "shop_id")
+            shopDic.updateValue(productListShopMdl.buyerNotes ?? "", forKey: "remark")
+            shopDic.updateValue(productsArr, forKey: "products")
+            detailDicArr.append(shopDic)
         }
-    }
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    // MARK: - 搜索、列表
-    /// 搜索、列表
-    ///
-    /// - Parameters:
-    ///   - keyword: 关键字:商品名称、子标题、规格
-    ///   - category_id: 一级分类id
-    ///   - field_order: 1销量 2价格
-    ///   - desc: 排序方式:1 desc倒序、2 asc正序
-    ///   - completion: 回调
-    func productListApi(page:Int = 1,shopId:Int  = 0, keyword:String = "",categoryId:Int = 0,desc:Int = 0,fieldOrder:Int = 0,completion: @escaping apiCallBack) {
-        var parameters = Dictionary<String,Any>()
-        // 本地获取city_id
-        let loacationModel = LocationModel.shared().getLocationModel()
-        let baiduToCityModel = BaiduToCityFactory.shared.query(bjcityId: loacationModel!.cityCode)
-        parameters.updateValue(baiduToCityModel.areaCode, forKey: "city_id")
+        print(detailDicArr)
+        let jsonStr = JSON(detailDicArr).description
+        parameters.updateValue(jsonStr, forKey: "detail")
         
-        // 本地获取deliver_type
-        let deliver_type = DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType
-        parameters.updateValue(deliver_type ?? "2", forKey: "deliver_type")
-        parameters.updateValue(page, forKey: "page")
-        parameters.updateValue(keyword, forKey: "keyword")
         
-        if shopId == 0 {
-            parameters.updateValue("", forKey: "shop_id")
-        }else {
-            parameters.updateValue(shopId, forKey: "shop_id")
-        }
         
-        if desc == 0 {
-            parameters.updateValue("", forKey: "desc")
-        }else {
-            parameters.updateValue(desc, forKey: "desc")
-        }
         
-        if fieldOrder == 0 {
-            parameters.updateValue("", forKey: "field_order")
-        }else {
-            parameters.updateValue(fieldOrder, forKey: "field_order")
-        }
-        
-        if categoryId == 0 {
-            parameters.updateValue("", forKey: "category_id1")
-        }else {
-            parameters.updateValue(categoryId, forKey: "category_id1")
-        }
         
         SwiftProgressHUD.shared().showWait()
-        SwiftMoyaNetWorkManager.shared()
-            .request(ProductSearchListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productSearch(parameters: parameters))) {(productSearchListModel) in
-                SwiftProgressHUD.shared().hide()
-                completion(productSearchListModel)
+        SwiftMoyaNetWorkManager.shared().request(OrderCreateBackModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderCreate(parameters: parameters))) { (orderCreateBackModel) in
+            SwiftProgressHUD.shared().hide()
+            completion(orderCreateBackModel)
         }
     }
+    
+    
+    
         
 }