123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //
- // SwiftMoyaNetWorkServiceOrder.swift
- // RainbowPlanet
- //
- // Created by Christopher on 2019/5/15.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import Foundation
- import Moya
- import SwiftyJSON
- import ObjectMapper
- class SwiftMoyaNetWorkServiceOrder: NSObject {
- private static let _sharedInstance = SwiftMoyaNetWorkServiceOrder()
-
- private override init() {} // 私有化init方法
-
- class func shared() -> SwiftMoyaNetWorkServiceOrder {
- return _sharedInstance
- }
- /// 数据回调
- typealias apiCallBack = (Any) -> (Void)
-
- // MARK: - 创建订单
- /// 创建订单
- ///
- /// - Parameters:
- /// - completion: 回调
- 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)
- parameters.updateValue(baiduToCityModel.areaCode, forKey: "city_id")
- parameters.updateValue(baiduToCityModel.areaName, forKey: "city_name")
-
- // 本地获取deliver_type
- let deliver_type = DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType
- parameters.updateValue(deliver_type ?? 0, forKey: "deliver_type")
-
- 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)
- }
- let jsonStr = JSON(detailDicArr).description
- parameters.updateValue(jsonStr, forKey: "detail")
-
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared().request(OrderCreateBackModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderCreate(parameters: parameters))) { (orderCreateBackModel) in
- SwiftProgressHUD.shared().hide()
- completion(orderCreateBackModel)
- }
- }
-
- // MARK: - 前台订单列表
- /// 前台订单列表
- ///
- /// - Parameters:
- /// - status: 订单状态
- /// - completion: 回调
- func orderPurchaseOrderListApi(page:Int = 1,status:Int = -1,completion: @escaping apiCallBack) {
- var parameters = Dictionary<String,Any>()
-
- if status == -1 {
- parameters.updateValue("", forKey: "search_status")
- }else {
- parameters.updateValue(status, forKey: "search_status")
- }
- parameters.updateValue(page, forKey: "page")
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared().request(OrderListModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseOrderList(parameters: parameters))) { (orderListModel) in
- SwiftProgressHUD.shared().hide()
- completion(orderListModel)
- }
- }
-
- // MARK: - 前台订单详情
- /// 前台订单详情
- ///
- /// - Parameters:
- /// - status: 订单状态
- /// - completion: 回调
- func orderPurchaseDetailApi(purchaseNo:String = "",completion: @escaping apiCallBack) {
- var parameters = Dictionary<String,Any>()
- parameters.updateValue(purchaseNo, forKey: "search_status")
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared().request(OrderModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseDetail(parameters: parameters))) { (orderModel) in
- SwiftProgressHUD.shared().hide()
- completion(orderModel)
- }
-
- }
-
- }
|