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:
@@ -0,0 +1,63 @@
|
||||
using CMSMicroservice.Protobuf.Protos;
|
||||
using CMSMicroservice.WebApi.Common.Services;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Commands.CreatePublicMessage;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Commands.UpdatePublicMessage;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Commands.DeletePublicMessage;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Commands.PublishMessage;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Commands.ArchiveMessage;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Queries.GetAllMessages;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Queries.GetActiveMessages;
|
||||
using CMSMicroservice.Application.PublicMessageCQ.Queries.GetPublicMessage;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
namespace CMSMicroservice.WebApi.Services;
|
||||
|
||||
public class PublicMessageService : PublicMessageContract.PublicMessageContractBase
|
||||
{
|
||||
private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS;
|
||||
|
||||
public PublicMessageService(IDispatchRequestToCQRS dispatchRequestToCQRS)
|
||||
{
|
||||
_dispatchRequestToCQRS = dispatchRequestToCQRS;
|
||||
}
|
||||
|
||||
public override async Task<CreatePublicMessageResponse> CreatePublicMessage(CreatePublicMessageRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<CreatePublicMessageRequest, CreatePublicMessageCommand, CreatePublicMessageResponse>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<Empty> UpdatePublicMessage(UpdatePublicMessageRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<UpdatePublicMessageRequest, UpdatePublicMessageCommand>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<Empty> DeletePublicMessage(DeletePublicMessageRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<DeletePublicMessageRequest, DeletePublicMessageCommand>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<PublishMessageResponse> PublishMessage(PublishMessageRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<PublishMessageRequest, PublishMessageCommand, PublishMessageResponse>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<ArchiveMessageResponse> ArchiveMessage(ArchiveMessageRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<ArchiveMessageRequest, ArchiveMessageCommand, ArchiveMessageResponse>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<GetAllMessagesResponse> GetAllMessages(GetAllMessagesRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<GetAllMessagesRequest, GetAllMessagesQuery, GetAllMessagesResponse>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<GetActiveMessagesResponse> GetActiveMessages(GetActiveMessagesRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<GetActiveMessagesRequest, GetActiveMessagesQuery, GetActiveMessagesResponse>(request, context);
|
||||
}
|
||||
|
||||
public override async Task<GetPublicMessageResponse> GetPublicMessage(GetPublicMessageRequest request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<GetPublicMessageRequest, GetPublicMessageQuery, GetPublicMessageResponse>(request, context);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user