From c490a22b7cf6949a0b45eb8ee732bace1c023eeb Mon Sep 17 00:00:00 2001
From: 无故事王国 <841720330@qq.com>
Date: 星期五, 22 十二月 2023 09:54:50 +0800
Subject: [PATCH] fix bug

---
 WanPai/Common/View/PaymentView.swift |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/WanPai/Common/View/PaymentView.swift b/WanPai/Common/View/PaymentView.swift
index cefc9b6..1212b45 100644
--- a/WanPai/Common/View/PaymentView.swift
+++ b/WanPai/Common/View/PaymentView.swift
@@ -10,6 +10,16 @@
 
 class PaymentView: UIView,JQNibView{
 
+	enum PaymentEnumType {
+	case course //课程
+	case yard //场地
+	case joinMember //会员加入
+	case game //游戏
+	case recharge //充值
+	case goods(ExchangeType)
+	case activity
+	}
+
     @IBOutlet weak var view_container: UIView!
     @IBOutlet weak var cons_bottom: NSLayoutConstraint!
     @IBOutlet weak var btn_wechat: UIButton!
@@ -32,7 +42,9 @@
 	@IBOutlet weak var btn_integral: UIButton!
 	private var hasNotStudent:Bool = false
     private var clouse:((PayType)->Void)?
-    private var payType:PayType?
+    private var payType:PayType!
+	private var paymentEnumType:PaymentEnumType!
+	private var customType = [PayType]() //支付项目
 
 	override func awakeFromNib() {
 		super.awakeFromNib()
@@ -47,10 +59,11 @@
 		layoutIfNeeded()
 	}
 
-	static func show(money:(ali:Double?,wx:Double?,coin:Int?,course:Int?,integral:Int?),hasNotStudent:Bool = false,_ clouse:@escaping (PayType)->Void){
+	static func show(enumType:PaymentEnumType,money:(ali:Double?,wx:Double?,coin:Int?,course:Int?,integral:Int?),hasNotStudent:Bool = false,_ clouse:@escaping (PayType)->Void){
         let paymentView = PaymentView.jq_loadNibView()
         paymentView.frame = sceneDelegate?.window?.frame ?? .zero
         paymentView.clouse = clouse
+		paymentView.paymentEnumType = enumType
 //		paymentView.view_wechat.isHidden = (money.wx == nil || money.wx == 0)
         paymentView.view_coin.isHidden = (money.coin == nil || money.coin == 0)
         paymentView.view_course.isHidden = (money.course == nil || money.course == 0)
@@ -69,7 +82,7 @@
 		if !paymentView.view_alipay.isHidden{customType.append(.aliPay)}
 		if !paymentView.view_wechat.isHidden{customType.append(.wechat)}
 		if !paymentView.view_coin.isHidden{customType.append(.coin)}
-
+		paymentView.customType = customType
 		paymentView.btn_course.isUserInteractionEnabled = !hasNotStudent
 
 		paymentView.payType = customType.first
@@ -127,7 +140,26 @@
     }
     
     @IBAction func paymentAction(_ sender: UIButton) {
-        guard payType != nil else {alertError(msg: "请选择支付方式");return}
+		//场地,游戏,门票 可免费,根据上面的金额,展示了哪些条目判断,如果都没展示,金额全部会是0
+		switch paymentEnumType {
+			case .yard,.game:
+				if payType == nil && customType.count == 0{
+					payType = .coin
+				}else{
+					guard payType != nil else {alertError(msg: "请选择支付方式");return}
+				}
+			case .goods(let type):
+				if type == .ticket{
+					if payType == nil && customType.count == 0{
+						payType = .coin
+					}else{
+						guard payType != nil else {alertError(msg: "请选择支付方式");return}
+					}
+				}else{
+					guard payType != nil else {alertError(msg: "请选择支付方式");return}
+				}
+			default:guard payType != nil else {alertError(msg: "请选择支付方式");return}
+		}
         clouse?(payType!)
         hidden()
     }

--
Gitblit v1.7.1