create order with payment

This commit is contained in:
efrilm
2025-10-28 00:58:39 +07:00
parent 37f0008ec8
commit 137f3d9636
20 changed files with 2815 additions and 1086 deletions
+1 -38
View File
@@ -39,7 +39,7 @@ class Order with _$Order {
required DateTime createdAt,
required DateTime updatedAt,
required List<OrderItem> orderItems,
required List<PaymentOrder> payments,
required List<Payment> payments,
required int totalPaid,
required int paymentCount,
required String splitType,
@@ -115,40 +115,3 @@ class OrderItem with _$OrderItem {
paidQuantity: 0,
);
}
@freezed
class PaymentOrder with _$PaymentOrder {
const factory PaymentOrder({
required String id,
required String orderId,
required String paymentMethodId,
required String paymentMethodName,
required String paymentMethodType,
required int amount,
required String status,
required int splitNumber,
required int splitTotal,
required String splitDescription,
required int refundAmount,
required Map<String, dynamic> metadata,
required DateTime createdAt,
required DateTime updatedAt,
}) = _PaymentOrder;
factory PaymentOrder.empty() => PaymentOrder(
id: '',
orderId: '',
paymentMethodId: '',
paymentMethodName: '',
paymentMethodType: '',
amount: 0,
status: '',
splitNumber: 0,
splitTotal: 0,
splitDescription: '',
refundAmount: 0,
metadata: const {},
createdAt: DateTime(1970),
updatedAt: DateTime(1970),
);
}
@@ -0,0 +1,38 @@
part of '../order.dart';
@freezed
class Payment with _$Payment {
const factory Payment({
required String id,
required String orderId,
required String paymentMethodId,
required String paymentMethodName,
required String paymentMethodType,
required int amount,
required String status,
required int splitNumber,
required int splitTotal,
required String splitDescription,
required int refundAmount,
required Map<String, dynamic> metadata,
required DateTime createdAt,
required DateTime updatedAt,
}) = _Payment;
factory Payment.empty() => Payment(
id: '',
orderId: '',
paymentMethodId: '',
paymentMethodName: '',
paymentMethodType: '',
amount: 0,
status: '',
splitNumber: 0,
splitTotal: 0,
splitDescription: '',
refundAmount: 0,
metadata: const {},
createdAt: DateTime(1970),
updatedAt: DateTime(1970),
);
}
@@ -0,0 +1,37 @@
part of '../order.dart';
@freezed
class PaymentRequest with _$PaymentRequest {
const factory PaymentRequest({
required String orderId,
required String paymentMethodId,
required int amount,
required String transactionId,
required int splitNumber,
required int splitTotal,
required String splitDescription,
required List<PaymentItemRequest> paymentOrderItems,
}) = _PaymentRequest;
factory PaymentRequest.empty() => const PaymentRequest(
orderId: '',
paymentMethodId: '',
amount: 0,
transactionId: '',
splitNumber: 0,
splitTotal: 0,
splitDescription: '',
paymentOrderItems: [],
);
}
@freezed
class PaymentItemRequest with _$PaymentItemRequest {
const factory PaymentItemRequest({
required String orderItemId,
required int amount,
}) = _PaymentItemRequest;
factory PaymentItemRequest.empty() =>
const PaymentItemRequest(orderItemId: '', amount: 0);
}