From a84a1000a8aa999ddca02a2660e004c9d9516d6e Mon Sep 17 00:00:00 2001 From: Vusa Date: Tue, 23 Jun 2026 00:22:47 +0200 Subject: [PATCH] minor fixes --- .../controllers/TransactonController.java | 5 +- .../qantra/tm/domain/models/Transaction.java | 1 + .../services/GroupBatchWorkflowService.java | 4 ++ src/main/resources/application-lab.properties | 2 +- .../resources/liquibase-diff-changeLog.xml | 60 ++++++++++++++++++- 5 files changed, 67 insertions(+), 5 deletions(-) diff --git a/src/main/java/zw/qantra/tm/domain/controllers/TransactonController.java b/src/main/java/zw/qantra/tm/domain/controllers/TransactonController.java index 20efc4b..ecf1889 100644 --- a/src/main/java/zw/qantra/tm/domain/controllers/TransactonController.java +++ b/src/main/java/zw/qantra/tm/domain/controllers/TransactonController.java @@ -10,7 +10,9 @@ import io.nflow.engine.workflow.instance.WorkflowInstanceAction; import io.nflow.engine.workflow.instance.WorkflowInstanceFactory; import lombok.RequiredArgsConstructor; import net.kaczmarzyk.spring.data.jpa.domain.Equal; +import net.kaczmarzyk.spring.data.jpa.domain.EqualIgnoreCase; import net.kaczmarzyk.spring.data.jpa.domain.In; +import net.kaczmarzyk.spring.data.jpa.domain.LikeIgnoreCase; import net.kaczmarzyk.spring.data.jpa.web.annotation.Or; import net.kaczmarzyk.spring.data.jpa.web.annotation.Spec; import net.kaczmarzyk.spring.data.jpa.web.annotation.Conjunction; @@ -57,7 +59,8 @@ public class TransactonController { @Conjunction(value = { @Or({ @Spec(path = "status", spec = Equal.class), - @Spec(path = "createdAt", spec = Equal.class), + @Spec(path = "createdAt", spec = Equal.class), + @Spec(path = "billName", spec = LikeIgnoreCase.class), @Spec(path = "providerLabel", spec = Equal.class), @Spec(path = "billClientId", spec = Equal.class), @Spec(path = "productUid", spec = Equal.class), diff --git a/src/main/java/zw/qantra/tm/domain/models/Transaction.java b/src/main/java/zw/qantra/tm/domain/models/Transaction.java index 8fa3091..37e132b 100644 --- a/src/main/java/zw/qantra/tm/domain/models/Transaction.java +++ b/src/main/java/zw/qantra/tm/domain/models/Transaction.java @@ -39,6 +39,7 @@ public class Transaction extends BaseEntity { private String userId; private String trace; private String region; + @Enumerated(EnumType.STRING) private PartyType partyType; private BigDecimal amount; private BigDecimal charge; diff --git a/src/main/java/zw/qantra/tm/domain/services/GroupBatchWorkflowService.java b/src/main/java/zw/qantra/tm/domain/services/GroupBatchWorkflowService.java index 1a76f5c..a4879d3 100644 --- a/src/main/java/zw/qantra/tm/domain/services/GroupBatchWorkflowService.java +++ b/src/main/java/zw/qantra/tm/domain/services/GroupBatchWorkflowService.java @@ -119,6 +119,7 @@ public class GroupBatchWorkflowService { transaction.setPaymentProcessorName(batch.getPaymentProcessorName()); transaction.setPaymentProcessorImage(batch.getPaymentProcessorImage()); transaction.setBatchId(batch.getId()); + transaction.setBillName("Batch - " + batch.getDescription()); transaction = calculateChargesHandler.process(transaction); transaction = (Transaction) cleanUpHandler.process(transaction); @@ -194,6 +195,9 @@ public class GroupBatchWorkflowService { batch.setStatus(GroupBatchStatus.PARTIAL); } else { batch.setStatus(GroupBatchStatus.COMPLETED); + Transaction paymentTransaction = transactionService.findById(batch.getPaymentTransactionId()); + paymentTransaction.setIntegrationStatus(Status.SUCCESS); + transactionService.save(paymentTransaction); } batch.setCompletedAt(LocalDateTime.now()); diff --git a/src/main/resources/application-lab.properties b/src/main/resources/application-lab.properties index a508bca..2d0b077 100644 --- a/src/main/resources/application-lab.properties +++ b/src/main/resources/application-lab.properties @@ -7,7 +7,7 @@ server.port=6950 server.servlet.context-path=/api -spring.jpa.hibernate.ddl-auto=validate +spring.jpa.hibernate.ddl-auto=update spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:5432/qpay?useLegacyDatetimeCode=false diff --git a/src/main/resources/liquibase-diff-changeLog.xml b/src/main/resources/liquibase-diff-changeLog.xml index 588a470..1d53b37 100644 --- a/src/main/resources/liquibase-diff-changeLog.xml +++ b/src/main/resources/liquibase-diff-changeLog.xml @@ -1,8 +1,62 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert party_type column from integer ordinal to string enum values to match @Enumerated(EnumType.STRING) in Transaction.java + + + + + + + + + + UPDATE transaction SET party_type_str = 'INDIVIDUAL' WHERE party_type = 0 OR party_type = '0'; + UPDATE transaction SET party_type_str = 'GROUP' WHERE party_type = 1 OR party_type = '1'; + UPDATE transaction SET party_type_str = 'BATCH' WHERE party_type = 2 OR party_type = '2'; + + + + + + +