update address, cancel order

This commit is contained in:
Phuoc Nguyen
2025-11-25 16:39:29 +07:00
parent 039dfb9fb5
commit 84669ac89c
11 changed files with 584 additions and 194 deletions

View File

@@ -324,4 +324,48 @@ class OrderRemoteDataSource {
throw Exception('Failed to get order detail: $e');
}
}
/// Update order address
///
/// Calls: POST /api/method/building_material.building_material.api.sales_order.update
/// Body: {
/// "name": "SAL-ORD-2025-00053",
/// "shipping_address_name": "Công ty Tiến Nguyễn 2-thanh toán",
/// "customer_address": "Nguyễn Lê Duy Ti-Billing"
/// }
/// Updates shipping and billing addresses for an existing order
Future<void> updateOrderAddress({
required String orderId,
required String shippingAddressName,
required String customerAddress,
}) async {
try {
await _dioClient.post(
'${ApiConstants.frappeApiMethod}${ApiConstants.updateOrder}',
data: {
'name': orderId,
'shipping_address_name': shippingAddressName,
'customer_address': customerAddress,
},
);
} catch (e) {
throw Exception('Failed to update order address: $e');
}
}
/// Cancel order
///
/// Calls: POST /api/method/building_material.building_material.api.sales_order.cancel
/// Body: { "name": "SAL-ORD-2025-00054" }
/// Cancels an existing order (only allowed for "Chờ phê duyệt" status)
Future<void> cancelOrder(String orderId) async {
try {
await _dioClient.post(
'${ApiConstants.frappeApiMethod}${ApiConstants.cancelOrder}',
data: {'name': orderId},
);
} catch (e) {
throw Exception('Failed to cancel order: $e');
}
}
}