| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- //
- // LNHttpManager+Order.swift
- // Lanu
- //
- // Created by OneeChan on 2025/11/18.
- //
- import Foundation
- private let kNetPath_Order_Create = "/skill/order/payment"
- private let kNetPath_Order_List = "/skill/order/list"
- private let kNetPath_Order_Detail = "/skill/order/detail"
- private let kNetPath_Order_Unfinished = "/skill/order/unfinishedWith"
- private let kNetPath_Order_Last = "/playmate/mylast/orderinfo"
- private let kNetPath_Order_Finish = "/skill/order/finish"
- private let kNetPath_Order_Refund = "/skill/order/refund/apply"
- private let kNetPath_Order_Star = "/skill/order/star"
- private let kNetPath_Order_Cancel = "/skill/order/canecl"
- private let kNetPath_Order_Handler = "/playmate/order/handler"
- private let kNetPath_Order_QR_Create = "/skill/create/order/qrcode"
- private let kNetPath_Order_QR_Detail = "/skill/view/order/qrcode"
- private let kNetPath_Order_QR_Order = "/skill/order/qr/payment"
- private let kNetPath_Order_Records = "/playmate/order/list"
- private let kNetPath_Order_Protest = "/playmate/submit/refundVoucher"
- private let kNetPath_Order_Discount = "/skill/firstOrder/discount/chance"
- private enum LNOrderHandlerType: Int {
- case accept = 1
- case reject = 2
- case start = 3
- case done = 4
- }
- enum LNOrderScene: Int {
- case normal = 0
- case room
- }
- extension LNHttpManager {
- func createOrderBySkill(
- skillId: String, count: Int, remark: String, scene: LNOrderScene,
- completion: @escaping (LNCreateOrderResponse?, LNHttpError?) -> Void)
- {
- let params: [String: Any] = [
- "skillId": skillId,
- "purchaseQty": count,
- "remark": remark,
- "source": scene.rawValue
- ]
- post(path: kNetPath_Order_Create, params: params, completion: completion)
- }
- }
- extension LNHttpManager {
- func getOrderList(
- size: Int, next: String,
- completion: @escaping (LNOrderListResponse?, LNHttpError?) -> Void)
- {
- post(path: kNetPath_Order_List, params: [
- "status": -1,
- "page": [
- "size": size, "next": next
- ]
- ], completion: completion)
- }
-
- func getOrderDetail(orderId: String, completion: @escaping (LNOrderDetailResponse?, LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Detail, params: ["id": orderId], completion: completion)
- }
-
- func getOrderRecordList(
- size: Int, next: String,
- completion: @escaping (LNOrderRecordListResponse?, LNHttpError?) -> Void)
- {
- post(path: kNetPath_Order_Records, params: [
- "status": -1,
- "page": [
- "size": size, "next": next
- ]
- ], completion: completion)
- }
-
- func getUnfinishedOrderWith(uid: String, size: Int, next: String,
- completion: @escaping (LNUnfinishedOrderListResponse?, LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Unfinished, params: [
- "userNo": uid,
- "page": [
- "size": size,
- "next": next
- ]
- ], completion: completion)
- }
-
- func getLastOrder(completion: @escaping (LNLastOrderResponse?, LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Last, completion: completion)
- }
- }
- extension LNHttpManager {
- func createOrderQR(skillId: String, count: Int, type: LNOrderSource,
- completion: @escaping (LNCreateOrderQRCodeResponse?, LNHttpError?) -> Void) {
- post(path: kNetPath_Order_QR_Create, params: [
- "skillId": skillId,
- "purchaseQty": count,
- "type": type.rawValue
- ], completion: completion)
- }
-
- func getQRDetail(data: String, completion: @escaping (LNQRCodeDetailResponse?, LNHttpError?) -> Void) {
- post(path: kNetPath_Order_QR_Detail, params: [
- "id": data
- ], completion: completion)
- }
-
- func createQROrder(data: String, count: Int, extra: String, scene: LNOrderScene,
- completion: @escaping (LNCreateOrderResponse?, LNHttpError?) -> Void) {
- let params: [String: Any] = [
- "qrCode": data,
- "purchaseQty": count,
- "remark": extra,
- "source": scene.rawValue
- ]
- post(path: kNetPath_Order_QR_Order, params: params, completion: completion)
- }
- }
- extension LNHttpManager {
- func cancelOrder(orderId: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Cancel, params: [
- "id": orderId
- ], completion: completion)
- }
-
- func finishOrder(orderId: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Finish, params: [
- "id": orderId
- ], completion: completion)
- }
-
- func refundOrder(orderId: String, reason: String, attachments: [String], completion: @escaping (LNHttpError?) -> Void) {
- var atts: [[String: String]] = []
- attachments.forEach {
- atts.append(["attachmentUrl": $0])
- }
- post(path: kNetPath_Order_Refund, params: [
- "orderId": orderId,
- "reason": reason,
- "attachments": atts
- ], completion: completion)
- }
-
- func commentOrder(orderId: String, star: Double, comment: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Star, params: [
- "orderId": orderId,
- "star": star,
- "comment": comment
- ], completion: completion)
- }
-
- func rejectOrder(orderId: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Handler, params: [
- "orderNo": orderId,
- "type": LNOrderHandlerType.reject.rawValue
- ], completion: completion)
- }
-
- func acceptOrder(orderId: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Handler, params: [
- "orderNo": orderId,
- "type": LNOrderHandlerType.accept.rawValue
- ], completion: completion)
- }
-
- func startOrderService(orderId: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Handler, params: [
- "orderNo": orderId,
- "type": LNOrderHandlerType.start.rawValue
- ], completion: completion)
- }
-
- func finishOrderService(orderId: String, completion: @escaping (LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Handler, params: [
- "orderNo": orderId,
- "type": LNOrderHandlerType.done.rawValue
- ], completion: completion)
- }
-
- func protestOrder(orderId: String, reason: String, attachments: [String], completion: @escaping (LNHttpError?) -> Void) {
- var atts: [[String: String]] = []
- attachments.forEach {
- atts.append(["attachmentUrl": $0])
- }
- post(path: kNetPath_Order_Protest, params: [
- "orderId": orderId,
- "reason": reason,
- "attachments": atts
- ], completion: completion)
- }
- }
- extension LNHttpManager {
- func fetchOrderDiscount(completion: @escaping (LNOrderDiscountVO?, LNHttpError?) -> Void) {
- post(path: kNetPath_Order_Discount, completion: completion)
- }
- }
|