Skip to content

Commit 85f2ed2

Browse files
Add certificate existence check before creation: Implemented a verification step to check if a certificate already exists for a given order ID, logging a message and skipping creation if it does. This enhances efficiency by preventing duplicate certificate generation.
1 parent 6f91755 commit 85f2ed2

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/application/create_certificate.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,21 @@ def __register_certificate(self, order: TechOrdersResponse) -> Optional[TechOrde
8282

8383
logger.info(f"Registering certificate for order ID: {order.order_id} and product ID: {order.product_id}.")
8484

85-
try:
85+
try:
8686
# Mapeia os dados da ordem técnica para entidades
8787
order_entity = TechOrderMapper.to_entity(order)
8888
product_entity = TechProductMapper.to_entity(order)
8989
participant_entity = TechParticipantMapper.to_entity(order)
9090

91+
92+
# Verifica se existe um certificado para a ordem
93+
certificate_exist = self.certificate_repository.get_by_order_id(order.order_id)
94+
if certificate_exist and len(certificate_exist) > 0:
95+
if certificate_exist[0].success:
96+
logger.info(f"Certificate already exists for order {order.order_id}, skipping certificate creation.")
97+
return None
98+
99+
91100
# Verifica se o participante já existe
92101
participant_exist = self.participant_repository.get_by_email(order.email)
93102
if not participant_exist:

0 commit comments

Comments
 (0)