ShoppingCartViewController.swift 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. //
  2. // ShoppingCartViewController.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/3/7.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. // 购物车首页Vc
  8. import UIKit
  9. import RxSwift
  10. class ShoppingCartViewController: BaseViewController {
  11. var productSearchModelArray = Array<ProductSearchModel>()
  12. override func viewDidLoad() {
  13. super.viewDidLoad()
  14. setupViews()
  15. setupLayouts()
  16. let operationQueue = OperationQueue.main
  17. NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "ChartListToHomePage"), object: nil, queue: operationQueue) {
  18. [weak self] (notification) in
  19. self?.tabBarController?.selectedIndex = 0
  20. }
  21. }
  22. override func viewWillAppear(_ animated: Bool) {
  23. setupData()
  24. }
  25. deinit {
  26. NotificationCenter.default.removeObserver(self)
  27. }
  28. override func setupViews() {
  29. navigationBar.title = "购物车"
  30. setShoppingCartView()
  31. }
  32. override func setupLayouts() {
  33. }
  34. override func setupData() {
  35. shoppingCartView.tableView.addHeaderWithHeader(withBeginRefresh: true, animation: false) { [weak self] (page) in
  36. self?.productCartListApi()
  37. self?.productHotSaleApi(page: page)
  38. }
  39. shoppingCartView.tableView.addFooterWithWithHeader(withAutomaticallyRefresh: false) { [weak self] (page) in
  40. self?.productHotSaleApi(page: page)
  41. }
  42. }
  43. /// 添加view
  44. func setShoppingCartView() {
  45. view.addSubview(shoppingCartView)
  46. shoppingCartView.snp.makeConstraints { (make) in
  47. make.bottom.left.right.equalToSuperview()
  48. make.top.equalTo(kNavBarTotalHeight)
  49. }
  50. }
  51. private lazy var shoppingCartView: ShoppingCartView = {
  52. let shoppingCartView = ShoppingCartView()
  53. shoppingCartView.orderPayTransBlock = {
  54. [weak self] (selMdlArr, totalPrice) in
  55. let vc = ShoppingCartPayOrderController()
  56. vc.selListModelArr = selMdlArr
  57. vc.totalProductPrice = totalPrice
  58. self?.navigationController?.pushViewController(vc, animated: true)
  59. }
  60. shoppingCartView.refreshTransBlock = {
  61. [weak self] in
  62. self?.productCartListApi()
  63. }
  64. return shoppingCartView
  65. }()
  66. /// 购物车列表
  67. func productCartListApi() {
  68. SwiftMoyaNetWorkServiceProduct.shared().productCartListApi { [weak self] (cartListData) -> (Void) in
  69. let cartListData = cartListData as? ProductCartListData
  70. self?.shoppingCartView.cartListModelArr = cartListData?.data
  71. }
  72. }
  73. /// 商品热销
  74. func productHotSaleApi(page:Int = 1) {
  75. SwiftMoyaNetWorkServiceProduct.shared().productHotSaleApi(page: page) { [weak self] (productSearchListModel) -> (Void) in
  76. let productSearchListModel = productSearchListModel as? ProductSearchListModel
  77. if productSearchListModel?.pagination?.currentPage ?? 1 <= productSearchListModel?.pagination?.totalPages ?? 1 {
  78. if productSearchListModel?.pagination?.currentPage == 1{
  79. self?.productSearchModelArray.removeAll()
  80. }
  81. self?.productSearchModelArray = (self?.productSearchModelArray)! + (productSearchListModel?.data!)!
  82. self?.shoppingCartView.hotSaleModelArr = self?.productSearchModelArray
  83. } else {
  84. self?.shoppingCartView.hotSaleModelArr = self?.productSearchModelArray
  85. }
  86. }
  87. }
  88. }