新增门店订单与核销管理列表,对齐 Android 订单能力并完善账号级缓存。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -25,11 +25,51 @@ protocol OrderServing {
|
||||
) async throws -> ListPayload<OrderEntity>
|
||||
|
||||
/// 获取核销订单列表。
|
||||
func writeOffList(scenicId: Int, storeId: Int?, page: Int, pageSize: Int) async throws -> ListPayload<WriteOffOrderItem>
|
||||
func writeOffList(
|
||||
scenicId: Int,
|
||||
storeId: Int?,
|
||||
page: Int,
|
||||
pageSize: Int,
|
||||
orderStatus: Int?,
|
||||
orderVerifyStatus: Int?,
|
||||
startTime: String?,
|
||||
endTime: String?,
|
||||
userPhone: String?
|
||||
) async throws -> ListPayload<WriteOffOrderItem>
|
||||
|
||||
/// 核销指定订单号。
|
||||
func writeOff(orderNumber: String) async throws
|
||||
|
||||
/// 更新订单精修选择。
|
||||
func updateRefinedChoice(orderNumber: String, isRefined: Int) async throws
|
||||
|
||||
/// 取消订单。
|
||||
func cancelOrder(orderNumber: String) async throws
|
||||
|
||||
/// 赠送修图/视频数量。
|
||||
func sendGift(orderNumber: String, photoNum: Int, videoNum: Int) async throws
|
||||
|
||||
/// 获取店长店铺订单列表。
|
||||
func storeOrderList(
|
||||
storeId: Int?,
|
||||
page: Int,
|
||||
pageSize: Int,
|
||||
userPhone: String?,
|
||||
orderStatus: Int?,
|
||||
orderType: Int?,
|
||||
startTime: String?,
|
||||
endTime: String?
|
||||
) async throws -> ListPayload<StoreOrderListItem>
|
||||
|
||||
/// 申请店长店铺订单退款。
|
||||
func storeOrderRefund(
|
||||
storeId: Int,
|
||||
orderNumber: String,
|
||||
refundType: OrderRefundMode,
|
||||
refundAmount: String,
|
||||
refundReason: String
|
||||
) async throws
|
||||
|
||||
/// 获取门店订单详情。
|
||||
func storeOrderDetail(storeId: Int, orderNumber: String) async throws -> StoreOrderDetailResponse
|
||||
|
||||
@ -111,7 +151,17 @@ final class OrdersAPI: OrderServing {
|
||||
}
|
||||
|
||||
/// 获取核销订单列表。
|
||||
func writeOffList(scenicId: Int, storeId: Int? = nil, page: Int = 1, pageSize: Int = 20) async throws -> ListPayload<WriteOffOrderItem> {
|
||||
func writeOffList(
|
||||
scenicId: Int,
|
||||
storeId: Int? = nil,
|
||||
page: Int = 1,
|
||||
pageSize: Int = 20,
|
||||
orderStatus: Int? = nil,
|
||||
orderVerifyStatus: Int? = nil,
|
||||
startTime: String? = nil,
|
||||
endTime: String? = nil,
|
||||
userPhone: String? = nil
|
||||
) async throws -> ListPayload<WriteOffOrderItem> {
|
||||
var queryItems = [
|
||||
URLQueryItem(name: "scenic_id", value: "\(scenicId)"),
|
||||
URLQueryItem(name: "page", value: "\(max(page, 1))"),
|
||||
@ -120,6 +170,21 @@ final class OrdersAPI: OrderServing {
|
||||
if let storeId, storeId > 0 {
|
||||
queryItems.append(URLQueryItem(name: "store_id", value: "\(storeId)"))
|
||||
}
|
||||
if let orderStatus, orderStatus > 0 {
|
||||
queryItems.append(URLQueryItem(name: "order_status", value: "\(orderStatus)"))
|
||||
}
|
||||
if let orderVerifyStatus, orderVerifyStatus > 0 {
|
||||
queryItems.append(URLQueryItem(name: "order_verify_status", value: "\(orderVerifyStatus)"))
|
||||
}
|
||||
if let startTime, !startTime.isEmpty {
|
||||
queryItems.append(URLQueryItem(name: "start_time", value: startTime))
|
||||
}
|
||||
if let endTime, !endTime.isEmpty {
|
||||
queryItems.append(URLQueryItem(name: "end_time", value: endTime))
|
||||
}
|
||||
if let userPhone, !userPhone.isEmpty {
|
||||
queryItems.append(URLQueryItem(name: "user_phone", value: userPhone))
|
||||
}
|
||||
|
||||
return try await client.send(
|
||||
APIRequest(
|
||||
@ -256,4 +321,106 @@ final class OrdersAPI: OrderServing {
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/// 更新订单精修选择。
|
||||
func updateRefinedChoice(orderNumber: String, isRefined: Int) async throws {
|
||||
let _: EmptyPayload = try await client.send(
|
||||
APIRequest(
|
||||
method: .post,
|
||||
path: "/api/yf-handset-app/photog/order/refined",
|
||||
queryItems: [
|
||||
URLQueryItem(name: "order_number", value: orderNumber),
|
||||
URLQueryItem(name: "is_refined", value: "\(isRefined)")
|
||||
]
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/// 取消订单。
|
||||
func cancelOrder(orderNumber: String) async throws {
|
||||
let _: EmptyPayload = try await client.send(
|
||||
APIRequest(
|
||||
method: .post,
|
||||
path: "/api/yf-handset-app/photog/order/cancel",
|
||||
body: CancelOrderRequest(orderNumber: orderNumber)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/// 赠送修图/视频数量。
|
||||
func sendGift(orderNumber: String, photoNum: Int, videoNum: Int) async throws {
|
||||
let _: EmptyPayload = try await client.send(
|
||||
APIRequest(
|
||||
method: .post,
|
||||
path: "/api/yf-handset-app/photog/order/gift-retouch",
|
||||
body: SendGiftRequest(orderNumber: orderNumber, photoNum: photoNum, videoNum: videoNum)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/// 获取店长店铺订单列表。
|
||||
func storeOrderList(
|
||||
storeId: Int? = nil,
|
||||
page: Int = 1,
|
||||
pageSize: Int = 20,
|
||||
userPhone: String? = nil,
|
||||
orderStatus: Int? = nil,
|
||||
orderType: Int? = nil,
|
||||
startTime: String? = nil,
|
||||
endTime: String? = nil
|
||||
) async throws -> ListPayload<StoreOrderListItem> {
|
||||
var queryItems = [
|
||||
URLQueryItem(name: "page", value: "\(max(page, 1))"),
|
||||
URLQueryItem(name: "page_size", value: "\(max(pageSize, 1))")
|
||||
]
|
||||
if let storeId, storeId > 0 {
|
||||
queryItems.append(URLQueryItem(name: "store_id", value: "\(storeId)"))
|
||||
}
|
||||
if let userPhone, !userPhone.isEmpty {
|
||||
queryItems.append(URLQueryItem(name: "user_phone", value: userPhone))
|
||||
}
|
||||
if let orderStatus, orderStatus > 0 {
|
||||
queryItems.append(URLQueryItem(name: "order_status", value: "\(orderStatus)"))
|
||||
}
|
||||
if let orderType {
|
||||
queryItems.append(URLQueryItem(name: "order_type", value: "\(orderType)"))
|
||||
}
|
||||
if let startTime, !startTime.isEmpty {
|
||||
queryItems.append(URLQueryItem(name: "start_time", value: startTime))
|
||||
}
|
||||
if let endTime, !endTime.isEmpty {
|
||||
queryItems.append(URLQueryItem(name: "end_time", value: endTime))
|
||||
}
|
||||
|
||||
return try await client.send(
|
||||
APIRequest(
|
||||
method: .get,
|
||||
path: "/api/app/store/order/list",
|
||||
queryItems: queryItems
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/// 申请店长店铺订单退款。
|
||||
func storeOrderRefund(
|
||||
storeId: Int,
|
||||
orderNumber: String,
|
||||
refundType: OrderRefundMode,
|
||||
refundAmount: String,
|
||||
refundReason: String
|
||||
) async throws {
|
||||
let _: EmptyPayload = try await client.send(
|
||||
APIRequest(
|
||||
method: .post,
|
||||
path: "/api/app/store/order/refund",
|
||||
body: StoreOrderRefundRequest(
|
||||
storeId: storeId,
|
||||
orderNumber: orderNumber,
|
||||
refundType: refundType.rawValue,
|
||||
refundAmount: refundAmount,
|
||||
refundReason: refundReason
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user