|
|
@@ -63,6 +63,7 @@ class LNCreateOrderPanel: LNPopupView {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private var targetUid: String?
|
|
|
var completionHandler: ((String) -> Void)?
|
|
|
|
|
|
override init(frame: CGRect) {
|
|
|
@@ -89,6 +90,7 @@ class LNCreateOrderPanel: LNPopupView {
|
|
|
|
|
|
skillId = detail.id
|
|
|
price = detail.price
|
|
|
+ targetUid = detail.userNo
|
|
|
curCount = count
|
|
|
|
|
|
extraInput.text = extra
|
|
|
@@ -110,6 +112,7 @@ class LNCreateOrderPanel: LNPopupView {
|
|
|
|
|
|
skillId = skill.id
|
|
|
price = skill.price
|
|
|
+ targetUid = user.userNo
|
|
|
curCount = 1
|
|
|
}
|
|
|
|
|
|
@@ -129,6 +132,7 @@ class LNCreateOrderPanel: LNPopupView {
|
|
|
|
|
|
qrCode = detail.qrCode
|
|
|
price = detail.price
|
|
|
+ targetUid = detail.sellerUserNo
|
|
|
curCount = count
|
|
|
|
|
|
extraInput.text = extra
|
|
|
@@ -197,26 +201,22 @@ extension LNCreateOrderPanel {
|
|
|
guard let self else { return }
|
|
|
let extra = extraInput.text ?? ""
|
|
|
|
|
|
+ let handler = { [weak self] (orderNo: String?) in
|
|
|
+ guard let self else { return }
|
|
|
+ guard let orderNo else { return }
|
|
|
+ dismiss()
|
|
|
+ if let targetUid,
|
|
|
+ !(navigationController?.topViewController is LNIMChatViewController) {
|
|
|
+ pushToChat(uid: targetUid)
|
|
|
+ }
|
|
|
+ completionHandler?(orderNo)
|
|
|
+ }
|
|
|
if let skillId {
|
|
|
LNOrderManager.shared.createOrder(
|
|
|
- skillId: skillId, count: curCount, remark: extra)
|
|
|
- { [weak self] orderNo in
|
|
|
- guard let self else { return }
|
|
|
- guard let orderNo else { return }
|
|
|
-
|
|
|
- dismiss()
|
|
|
- completionHandler?(orderNo)
|
|
|
- }
|
|
|
+ skillId: skillId, count: curCount, remark: extra, handler: handler)
|
|
|
} else if let qrCode {
|
|
|
LNOrderManager.shared.createQRCodeOrder(
|
|
|
- data: qrCode, count: curCount, extra: extra)
|
|
|
- { [weak self] orderNo in
|
|
|
- guard let self else { return }
|
|
|
- guard let orderNo else { return }
|
|
|
-
|
|
|
- dismiss()
|
|
|
- completionHandler?(orderNo)
|
|
|
- }
|
|
|
+ data: qrCode, count: curCount, extra: extra, handler: handler)
|
|
|
}
|
|
|
}), for: .touchUpInside)
|
|
|
container.addSubview(confirmButton)
|