completed group batch feature
This commit is contained in:
66
src/main/java/zw/qantra/tm/domain/models/GroupBatch.java
Normal file
66
src/main/java/zw/qantra/tm/domain/models/GroupBatch.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package zw.qantra.tm.domain.models;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.SQLRestriction;
|
||||
import zw.qantra.tm.domain.enums.GroupBatchStatus;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.UUID;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@SQLRestriction("deleted = false")
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class GroupBatch extends BaseEntity {
|
||||
private UUID recipientGroupId;
|
||||
private String userId;
|
||||
private String description;
|
||||
private String requestedBy;
|
||||
private String currency;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private GroupBatchStatus status;
|
||||
|
||||
private String paymentReference;
|
||||
private UUID paymentTransactionId;
|
||||
private Long workflowId;
|
||||
|
||||
private String confirmIdempotencyKey;
|
||||
private String requestIdempotencyKey;
|
||||
private String pollIdempotencyKey;
|
||||
private String paymentProcessorLabel;
|
||||
private String paymentProcessorName;
|
||||
private String paymentProcessorImage;
|
||||
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String resultFileUrl;
|
||||
|
||||
private LocalDateTime confirmStartedAt;
|
||||
private LocalDateTime requestStartedAt;
|
||||
private LocalDateTime pollStartedAt;
|
||||
private LocalDateTime integrationStartedAt;
|
||||
private LocalDateTime completedAt;
|
||||
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String transactionTemplate;
|
||||
|
||||
private Integer count;
|
||||
private BigDecimal value;
|
||||
private Integer successfulCount;
|
||||
private Integer failedCount;
|
||||
}
|
||||
|
||||
50
src/main/java/zw/qantra/tm/domain/models/GroupBatchItem.java
Normal file
50
src/main/java/zw/qantra/tm/domain/models/GroupBatchItem.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package zw.qantra.tm.domain.models;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.SQLRestriction;
|
||||
import zw.qantra.tm.domain.enums.GroupBatchItemConfirmStatus;
|
||||
import zw.qantra.tm.domain.enums.GroupBatchItemIntegrationStatus;
|
||||
import zw.qantra.tm.domain.enums.GroupBatchItemStatus;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.UUID;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@SQLRestriction("deleted = false")
|
||||
public class GroupBatchItem extends BaseEntity {
|
||||
private UUID groupBatchId;
|
||||
private UUID recipientId;
|
||||
private String recipientName;
|
||||
private String recipientPhone;
|
||||
private BigDecimal amount;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private GroupBatchItemStatus status;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private GroupBatchItemConfirmStatus confirmStatus;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private GroupBatchItemIntegrationStatus integrationStatus;
|
||||
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String confirmError;
|
||||
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String integrationError;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "transaction_id")
|
||||
private Transaction transaction;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package zw.qantra.tm.domain.models;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.SQLRestriction;
|
||||
|
||||
@@ -10,6 +13,7 @@ import org.hibernate.annotations.SQLRestriction;
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@SQLRestriction("deleted = false")
|
||||
public class Recipient extends BaseEntity {
|
||||
private String name;
|
||||
|
||||
25
src/main/java/zw/qantra/tm/domain/models/RecipientGroup.java
Normal file
25
src/main/java/zw/qantra/tm/domain/models/RecipientGroup.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package zw.qantra.tm.domain.models;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import jakarta.persistence.Entity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.SQLRestriction;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@SQLRestriction("deleted = false")
|
||||
public class RecipientGroup extends BaseEntity {
|
||||
private String name;
|
||||
private String description;
|
||||
private String userId;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package zw.qantra.tm.domain.models;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.SQLRestriction;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@SQLRestriction("deleted = false")
|
||||
public class RecipientGroupMember extends BaseEntity {
|
||||
private UUID recipientGroupId;
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "recipient_id")
|
||||
private Recipient recipient;
|
||||
private UUID recipientUid;
|
||||
private String account;
|
||||
private String userId;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,7 @@ import jakarta.persistence.*;
|
||||
import lombok.*;
|
||||
import org.hibernate.annotations.SQLRestriction;
|
||||
import org.springframework.data.domain.Persistable;
|
||||
import zw.qantra.tm.domain.enums.AuthType;
|
||||
import zw.qantra.tm.domain.enums.CurrencyType;
|
||||
import zw.qantra.tm.domain.enums.RequestType;
|
||||
import zw.qantra.tm.domain.enums.Status;
|
||||
import zw.qantra.tm.domain.enums.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.UUID;
|
||||
@@ -24,6 +21,7 @@ public class Transaction extends BaseEntity {
|
||||
private String userId;
|
||||
private String trace;
|
||||
private String region;
|
||||
private PartyType partyType;
|
||||
private BigDecimal amount;
|
||||
private BigDecimal charge;
|
||||
private BigDecimal gatewayCharge;
|
||||
|
||||
Reference in New Issue
Block a user