ShoppingCartPayOrderController.swift 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. //
  2. // ShoppingCartPayOrderController.swift
  3. // RainbowPlanet
  4. //
  5. // Created by Christopher on 2019/5/9.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. // 购物车--订单支付
  8. import UIKit
  9. import RxSwift
  10. // 跳转类型
  11. enum WillJumpType {
  12. case expressAddInfo // 添加快递地址
  13. case expressManageInfo // 管理快递地址
  14. case selfAddInfo // 添加自提收货信息
  15. case selfPersonalInfo // 自提个人信息
  16. case selfAddressInfo // 自提地址信息
  17. }
  18. class ShoppingCartPayOrderController: BaseViewController {
  19. // 已选商品ModelArr
  20. var selListModelArr : Array<CartProductListModel>?
  21. // 全部已选总价
  22. var totalProductPrice: Int?
  23. override func viewDidLoad() {
  24. super.viewDidLoad()
  25. setupViews()
  26. setupLayouts()
  27. }
  28. override func viewWillAppear(_ animated: Bool) {
  29. setupData()
  30. }
  31. override func setupViews() {
  32. navigationBar.title = "订单支付"
  33. self.setOrderPayView()
  34. }
  35. override func setupLayouts() {
  36. }
  37. override func setupData() {
  38. let deliverType = DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType
  39. orderPayView.deliverType = deliverType
  40. switch deliverType {
  41. case "1":
  42. self.userDefaultContactApi()
  43. case "2":
  44. // 获取默认快递信息
  45. self.userDefaultExpressApi()
  46. default:
  47. break
  48. }
  49. }
  50. /// 添加view
  51. func setOrderPayView() {
  52. view.addSubview(orderPayView)
  53. orderPayView.snp.makeConstraints { (make) in
  54. make.bottom.left.right.equalToSuperview()
  55. make.top.equalTo(kNavBarTotalHeight)
  56. }
  57. }
  58. private lazy var orderPayView: ShoppingCartOrderPayView = {
  59. let orderPayView = ShoppingCartOrderPayView()
  60. orderPayView.proListModelArr = self.selListModelArr
  61. orderPayView.totalProductPrice = self.totalProductPrice!
  62. orderPayView.commitOrderTransBlock = {
  63. [weak self] (paraMdl) in
  64. self?.orderCreateApi(paraMdl: paraMdl)
  65. }
  66. orderPayView.jumpNavBlock = {
  67. [weak self] (jumpType) in
  68. switch jumpType {
  69. case WillJumpType.expressAddInfo:
  70. let vc = EditExpressAddressViewController()
  71. self?.navigationController?.pushViewController(vc, animated: true)
  72. case WillJumpType.expressManageInfo:
  73. let vc = ExpressAddressListViewController()
  74. self?.navigationController?.pushViewController(vc, animated: true)
  75. case WillJumpType.selfAddInfo:
  76. let vc = EditSelfMentionContactsViewController()
  77. self?.navigationController?.pushViewController(vc, animated: true)
  78. case WillJumpType.selfPersonalInfo:
  79. let vc = SelfMentionContactsListViewController()
  80. self?.navigationController?.pushViewController(vc, animated: true)
  81. case WillJumpType.selfAddressInfo:
  82. let vc = SelfRecommendationViewController()
  83. self?.navigationController?.pushViewController(vc, animated: true)
  84. }
  85. }
  86. return orderPayView
  87. }()
  88. /// 获取默认快递信息
  89. func userDefaultExpressApi() {
  90. SwiftMoyaNetWorkServiceUser.shared().userDefaultExpressApi { [weak self] (expressAddrModel) -> (Void) in
  91. self?.orderPayView.expressAddressMdl = expressAddrModel as? ExpressAddresModel
  92. }
  93. }
  94. // 获取默认用户自提信息
  95. func userDefaultContactApi() {
  96. SwiftMoyaNetWorkServiceUser.shared().userDefaultContactApi { [weak self] (contactModel) -> (Void) in
  97. self?.orderPayView.selfAddressInfoMdl = contactModel as? DefaultContactInfoModel
  98. }
  99. }
  100. // 创建订单
  101. func orderCreateApi(paraMdl: OrderCreateParameterModel) {
  102. SwiftMoyaNetWorkServiceOrder.shared().orderCreateApi(paraMdl: paraMdl) { (data) -> (Void) in
  103. // 支付弹窗调用
  104. AlertSheetView.payAlertSheetView {
  105. }
  106. }
  107. }
  108. }