From 3d8ce4866799bea7e66699acdeb86b60b0ba033c Mon Sep 17 00:00:00 2001
From: 无故事王国 <841720330@qq.com>
Date: 星期一, 03 六月 2024 19:51:06 +0800
Subject: [PATCH] add

---
 DolphinEnglishLearnStudent/Moudle/Market/VC/MarketContentVC.swift |   98 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 6 deletions(-)

diff --git a/DolphinEnglishLearnStudent/Moudle/Market/VC/MarketContentVC.swift b/DolphinEnglishLearnStudent/Moudle/Market/VC/MarketContentVC.swift
index e5ef208..5daa03a 100644
--- a/DolphinEnglishLearnStudent/Moudle/Market/VC/MarketContentVC.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Market/VC/MarketContentVC.swift
@@ -7,11 +7,24 @@
 
 import UIKit
 import WebKit
+import RxRelay
+
+class MarketContentViewModel{
+				//购买数量
+				var number = BehaviorRelay<Int>(value:1)
+				var detailModel = BehaviorRelay<MarketDetailModel?>(value:nil)
+				var surplusCoin = BehaviorRelay<Int>(value:0)
+				var goodsId = BehaviorRelay<Int>(value:0)
+				
+//				var orderNumber = BehaviorRelay<String>(value:"")
+				//收获地址
+				var address = BehaviorRelay<[AddressModel]>(value: [])
+}
 
 class MarketContentVC: BaseVC {
 
 				@IBOutlet weak var scrollView: UIScrollView!
-				@IBOutlet weak var image_cover: UIImageView!
+				@IBOutlet weak var view_banner: CommonBannerView!
 				@IBOutlet weak var view_footer: UIView!
 				@IBOutlet weak var view_container: UIView!
 				@IBOutlet weak var label_coin: UILabel!
@@ -22,10 +35,52 @@
 				@IBOutlet weak var label_surplusCoin: UILabel!
 				@IBOutlet weak var label_costCoin: UILabel!
 				@IBOutlet weak var cons_footHei: NSLayoutConstraint!
+				@IBOutlet weak var webViewHeiCons: NSLayoutConstraint!
+
+				private var viewModel = MarketContentViewModel()
+
+			required	init(goodsId:Int) {
+								super.init(nibName: nil, bundle: nil)
+							self.viewModel.goodsId.accept(goodsId)
+				}
+				
+				required init?(coder: NSCoder) {
+								fatalError("init(coder:) has not been implemented")
+				}
 				
 				override func viewDidLoad() {
         super.viewDidLoad()
 
+								Services.goodsDetail(goodsId: viewModel.goodsId.value).subscribe(onNext: {[weak self] result in
+												if let m = result.data{
+
+																let banner = m.good?.detailImg.components(separatedBy: ",").map({ url in
+																				return CommonBannerModel(index: 0, id: 0, name: nil, resource: url, mediaType: .imageUrl)
+																})
+
+																self?.view_banner.setItems(items: banner ?? [], autoRoll: true, selectClouse: nil)
+
+																self?.label_coin.text = "\(m.good?.integral ?? 0)"
+																self?.label_costCoin.text = "\(m.good?.integral ?? 0)"
+																self?.label_title.text = m.good?.name ?? ""
+																self?.label_categry.text = m.goodTypes.map({$0.name}).joined(separator: "|")
+
+																var info_Array = Array<String>()
+																info_Array.append("剩余数量:\(m.good?.surplus ?? 0)")
+																info_Array.append("可换数量:\(m.good?.userCount ?? 0)")
+																info_Array.append("\(m.exchangeNumber)人兑换")
+
+																self?.label_info.text = info_Array.joined(separator: "|")
+																self?.webView.loadHTMLString(m.good?.detail.jq_wrapHtml() ?? "", baseURL: nil)
+																self?.viewModel.detailModel.accept(m)
+												}
+
+								}).disposed(by: disposeBag)
+
+								Services.getIntegral().subscribe(onNext: {[weak self] result in
+												self?.label_surplusCoin.text = "剩余积分:\(result.data ?? 0)"
+												self?.viewModel.surplusCoin.accept(result.data ?? 0)
+								}).disposed(by: disposeBag)
     }
 
 				override func setUI() {
@@ -34,20 +89,51 @@
 								cons_footHei.constant = 54 + UIDevice.jq_safeEdges.bottom
 				}
 
+				override func setRx() {
+								webView.scrollView.rx.observe(CGSize.self, "contentSize").map { (size) -> CGFloat? in
+												if let size = size{
+																return size.height
+												}
+												return nil
+								}.subscribe(onNext: { [unowned self](height) in
+												if let height = height{
+																self.webViewHeiCons.constant = height
+												}
+								}).disposed(by: disposeBag)
+				}
+
 
 				@IBAction func exchangeAction(_ sender: UIButton) {
-//								CommonAlertView.show(isSinple: true, content: "兑换失败,当前剩余积分不足!") {
-//
-//								}
 
-								let vc = MarketExchangeVC()
+								guard viewModel.detailModel.value?.good?.surplus != 0 else {
+												CommonAlertView.show(isSinple: true, content: "兑换失败,当前剩余数量不足!") {
+
+												}
+												return
+								}
+
+								guard viewModel.detailModel.value?.good?.userCount != 0 else {
+												CommonAlertView.show(isSinple: true, content: "兑换失败,当前可换数量不足!") {
+
+												}
+												return
+								}
+
+								guard (viewModel.detailModel.value?.good?.integral ?? 0) < viewModel.surplusCoin.value else {
+												CommonAlertView.show(isSinple: true, content: "兑换失败,当前剩余积分不足!") {
+
+												}
+												return
+								}
+
+								let vc = MarketExchangeVC(viewModel: viewModel)
 								vc.title = "立即兑换"
 								push(vc: vc)
 				}
 
 				override func viewDidLayoutSubviews() {
 								super.viewDidLayoutSubviews()
-								image_cover.jq_addCorners(corner: [.topLeft,.topRight], radius: 8)
+								view_banner.jq_addCorners(corner: [.topLeft,.topRight], radius: 8)
 								view_footer.jq_addShadows(shadowColor: UIColor(hexStr: "#DEDEDE").withAlphaComponent(0.5), corner: 0, radius: 4, offset: CGSize(width: 0, height: -1), opacity: 1)
 
 								view_container.jq_addShadows(shadowColor: UIColor(hexStr: "#D9D9D9").withAlphaComponent(0.28), corner: 8, radius: 5, offset: CGSize(width: 0, height: 2), opacity: 1)

--
Gitblit v1.7.1