feat: Implement Public Message Management Commands and Queries
- Add GetUserPackageStatusQueryValidator for user package status validation. - Create ArchiveMessageCommand and ArchiveMessageCommandHandler for archiving public messages. - Implement ArchiveMessageCommandValidator to validate message ID. - Introduce PublishMessageCommand and PublishMessageCommandHandler for publishing messages. - Add PublishMessageCommandValidator for validating publish message requests. - Implement GetPublicMessageQuery and GetPublicMessageQueryHandler for retrieving public messages. - Create GetPublicMessageQueryValidator for validating public message requests. - Add ApplyDiscountToOrderCommand and ApplyDiscountToOrderCommandHandler for applying discounts to orders. - Implement ApplyDiscountToOrderCommandValidator for validating discount application requests. - Create UpdateOrderStatusCommand and UpdateOrderStatusCommandHandler for changing order statuses. - Implement UpdateOrderStatusCommandValidator for validating order status updates. - Add CalculateOrderPVQuery and CalculateOrderPVQueryHandler for calculating order PV. - Implement CalculateOrderPVQueryValidator for validating PV calculation requests. - Create GetOrdersByDateRangeQuery and GetOrdersByDateRangeQueryHandler for retrieving orders by date range. - Implement GetOrdersByDateRangeQueryValidator for validating date range queries. - Add PublicMessage entity to represent public messages in the system. - Implement PublicMessageService for handling public message operations via gRPC.
This commit is contained in:
@@ -43,6 +43,25 @@ service PackageContract
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
// Package Purchase System
|
||||
rpc PurchaseGoldenPackage(PurchaseGoldenPackageRequest) returns (PurchaseGoldenPackageResponse){
|
||||
option (google.api.http) = {
|
||||
post: "/PurchaseGoldenPackage"
|
||||
body: "*"
|
||||
};
|
||||
};
|
||||
rpc VerifyGoldenPackagePurchase(VerifyGoldenPackagePurchaseRequest) returns (VerifyGoldenPackagePurchaseResponse){
|
||||
option (google.api.http) = {
|
||||
post: "/VerifyGoldenPackagePurchase"
|
||||
body: "*"
|
||||
};
|
||||
};
|
||||
rpc GetUserPackageStatus(GetUserPackageStatusRequest) returns (GetUserPackageStatusResponse){
|
||||
option (google.api.http) = {
|
||||
get: "/GetUserPackageStatus"
|
||||
};
|
||||
};
|
||||
}
|
||||
message CreateNewPackageRequest
|
||||
{
|
||||
@@ -106,3 +125,55 @@ message GetAllPackageByFilterResponseModel
|
||||
string image_path = 4;
|
||||
int64 price = 5;
|
||||
}
|
||||
|
||||
// Package Purchase Messages
|
||||
message PurchaseGoldenPackageRequest
|
||||
{
|
||||
int64 user_id = 1;
|
||||
int64 package_id = 2;
|
||||
string return_url = 3;
|
||||
}
|
||||
|
||||
message PurchaseGoldenPackageResponse
|
||||
{
|
||||
bool success = 1;
|
||||
string message = 2;
|
||||
int64 order_id = 3;
|
||||
string payment_gateway_url = 4;
|
||||
string tracking_code = 5;
|
||||
}
|
||||
|
||||
message VerifyGoldenPackagePurchaseRequest
|
||||
{
|
||||
int64 order_id = 1;
|
||||
string authority = 2;
|
||||
string status = 3;
|
||||
}
|
||||
|
||||
message VerifyGoldenPackagePurchaseResponse
|
||||
{
|
||||
bool success = 1;
|
||||
string message = 2;
|
||||
int64 order_id = 3;
|
||||
int64 transaction_id = 4;
|
||||
string reference_code = 5;
|
||||
int64 wallet_balance = 6;
|
||||
}
|
||||
|
||||
message GetUserPackageStatusRequest
|
||||
{
|
||||
int64 user_id = 1;
|
||||
}
|
||||
|
||||
message GetUserPackageStatusResponse
|
||||
{
|
||||
int64 user_id = 1;
|
||||
string package_purchase_method = 2;
|
||||
bool has_purchased_package = 3;
|
||||
bool is_club_member_active = 4;
|
||||
int64 wallet_balance = 5;
|
||||
int64 discount_balance = 6;
|
||||
bool can_activate_club_membership = 7;
|
||||
google.protobuf.StringValue last_order_number = 8;
|
||||
google.protobuf.Timestamp last_purchase_date = 9;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user