123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- //
- // 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: "purchase_no")
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared.request(OrderModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseDetail(parameters: parameters))) { (orderModel) in
- SwiftProgressHUD.shared().hide()
- completion(orderModel)
- }
- }
-
- /// 订单退款详情
- ///
- /// - Parameters:
- /// - refundNo: <#refundNo description#>
- /// - completion: <#completion description#>
- func orderPurchaseRefundDetailApi(refundNo:String = "",completion: @escaping apiCallBack) {
- var parameters = Dictionary<String,Any>()
- parameters.updateValue(refundNo, forKey: "refund_no")
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared.request(OrderRefundDetailModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseRefundDetail(parameters: parameters))) { (orderModel) in
- SwiftProgressHUD.shared().hide()
- completion(orderModel)
- }
- }
-
- // MARK: - 申请退款
- /// 申请退款
- ///
- /// - Parameters:
- /// - purchaseId: 订单id
- /// - mobile: 电话
- /// - refundReason: 退款原因
- /// - refund_remark: 退款备注
- /// - detail: 子订单id(json字符串
- /// - imgs: 图库(json字符串)
- /// - completion: 回调
- func orderPurchaseRefundApi(purchaseId:Int = 0,mobile:String = "",refundReason:String = "",refund_remark:String = "",detail:String = "",imgs:String = "",completion: @escaping apiCallBack) {
- var parameters = Dictionary<String,Any>()
- parameters.updateValue(purchaseId, forKey: "purchase_id")
- parameters.updateValue(mobile, forKey: "mobile")
- parameters.updateValue(refundReason, forKey: "refund_reason")
- parameters.updateValue(refund_remark, forKey: "refund_remark")
- parameters.updateValue(detail, forKey: "detail")
- parameters.updateValue(imgs, forKey: "imgs")
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared.request(OrderApplyRefundModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseRefund(parameters: parameters))) { (orderApplyRefundModel) in
- SwiftProgressHUD.shared().hide()
- completion(orderApplyRefundModel)
- }
- }
-
- // MARK: - 确认收货
- /// 确认收货
- ///
- /// - Parameters:
- /// - purchaseId: 订单编号
- /// - completion: 回调
- func orderPurchaseConfirmApi(purchaseId:Int = 0,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("")
- }
- }
-
- // MARK: - 关闭订单
- /// 关闭订单
- ///
- /// - Parameters:
- /// - patchNumN: 批次号
- /// - completion: 回调
- func orderPurchaseCloseApi(patchNum:String = "",completion: @escaping apiCallBack) {
- var parameters = Dictionary<String,Any>()
- parameters.updateValue(patchNum, forKey: "patch_num")
- SwiftProgressHUD.shared().showWait()
- SwiftMoyaNetWorkManager.shared.request(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseClose(parameters: parameters))) { (data) in
- SwiftProgressHUD.shared().showText("取消成功")
- completion("")
- }
- }
-
- }
|