added model indexes
This commit is contained in:
@@ -1,12 +1,7 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.EnumType;
|
|
||||||
import jakarta.persistence.Enumerated;
|
|
||||||
import jakarta.persistence.JoinColumn;
|
|
||||||
import jakarta.persistence.OneToOne;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -17,15 +12,21 @@ import zw.qantra.tm.domain.enums.RequestType;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "additional_data", indexes = {
|
||||||
|
@Index(name = "idx_additional_data_txn_id", columnList = "transaction_id"),
|
||||||
|
@Index(name = "idx_additional_data_txn_type", columnList = "transaction_id, request_type"),
|
||||||
|
})
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class AdditionalData extends BaseEntity {
|
public class AdditionalData extends BaseEntity {
|
||||||
|
@Column(name = "transaction_id")
|
||||||
private String transactionId;
|
private String transactionId;
|
||||||
|
|
||||||
@Column(columnDefinition = "TEXT")
|
@Column(columnDefinition = "TEXT")
|
||||||
private String jsonString;
|
private String jsonString;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "request_type")
|
||||||
private RequestType requestType;
|
private RequestType requestType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.SQLRestriction;
|
import org.hibernate.annotations.SQLRestriction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "category", indexes = {
|
||||||
|
@Index(name = "idx_category_name", columnList = "name"),
|
||||||
|
})
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
@Builder
|
@Builder
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ import java.util.HashSet;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "charge", indexes = {
|
||||||
|
@Index(name = "idx_charge_currency", columnList = "currency"),
|
||||||
|
@Index(name = "idx_charge_label_currency", columnList = "charge_label, currency"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -32,6 +36,7 @@ public class Charge extends BaseEntity {
|
|||||||
private BigDecimal maximumAmount;
|
private BigDecimal maximumAmount;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "charge_label")
|
||||||
private ChargeLabelEnum chargeLabel;
|
private ChargeLabelEnum chargeLabel;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
private CurrencyType currency;
|
private CurrencyType currency;
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ import zw.qantra.tm.domain.enums.ChargeConditionType;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "charge_condition", indexes = {
|
||||||
|
@Index(name = "idx_charge_condition_codes", columnList = "codes"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "currency", indexes = {
|
||||||
|
@Index(name = "idx_currency_iso_code", columnList = "iso_code"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class Currency extends BaseEntity {
|
public class Currency extends BaseEntity {
|
||||||
|
@Column(name = "iso_code")
|
||||||
private String isoCode;
|
private String isoCode;
|
||||||
private String name;
|
private String name;
|
||||||
private String displayName;
|
private String displayName;
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.EnumType;
|
|
||||||
import jakarta.persistence.Enumerated;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -18,6 +15,13 @@ import java.time.LocalDateTime;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "group_batch", indexes = {
|
||||||
|
@Index(name = "idx_group_batch_user_id", columnList = "user_id"),
|
||||||
|
@Index(name = "idx_group_batch_status", columnList = "status"),
|
||||||
|
@Index(name = "idx_group_batch_recipient_group_id", columnList = "recipient_group_id"),
|
||||||
|
@Index(name = "idx_group_batch_created_at", columnList = "created_at"),
|
||||||
|
@Index(name = "idx_group_batch_payment_ref", columnList = "payment_reference"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -26,7 +30,9 @@ import java.util.UUID;
|
|||||||
@SQLRestriction("deleted = false")
|
@SQLRestriction("deleted = false")
|
||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
public class GroupBatch extends BaseEntity {
|
public class GroupBatch extends BaseEntity {
|
||||||
|
@Column(name = "recipient_group_id")
|
||||||
private UUID recipientGroupId;
|
private UUID recipientGroupId;
|
||||||
|
@Column(name = "user_id")
|
||||||
private String userId;
|
private String userId;
|
||||||
private String description;
|
private String description;
|
||||||
private String requestedBy;
|
private String requestedBy;
|
||||||
@@ -35,8 +41,11 @@ public class GroupBatch extends BaseEntity {
|
|||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
private GroupBatchStatus status;
|
private GroupBatchStatus status;
|
||||||
|
|
||||||
|
@Column(name = "payment_reference")
|
||||||
private String paymentReference;
|
private String paymentReference;
|
||||||
|
@Column(name = "payment_transaction_id")
|
||||||
private UUID paymentTransactionId;
|
private UUID paymentTransactionId;
|
||||||
|
@Column(name = "workflow_id")
|
||||||
private Long workflowId;
|
private Long workflowId;
|
||||||
|
|
||||||
private String confirmIdempotencyKey;
|
private String confirmIdempotencyKey;
|
||||||
|
|||||||
@@ -15,6 +15,12 @@ import java.math.BigDecimal;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "group_batch_item", indexes = {
|
||||||
|
@Index(name = "idx_gbi_batch_id", columnList = "group_batch_id"),
|
||||||
|
@Index(name = "idx_gbi_batch_confirm", columnList = "group_batch_id, confirm_status"),
|
||||||
|
@Index(name = "idx_gbi_batch_integ", columnList = "group_batch_id, integration_status"),
|
||||||
|
@Index(name = "idx_gbi_txn_id", columnList = "transaction_id"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -22,9 +28,13 @@ import java.util.UUID;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@SQLRestriction("deleted = false")
|
@SQLRestriction("deleted = false")
|
||||||
public class GroupBatchItem extends BaseEntity {
|
public class GroupBatchItem extends BaseEntity {
|
||||||
|
@Column(name = "group_batch_id")
|
||||||
private UUID groupBatchId;
|
private UUID groupBatchId;
|
||||||
|
@Column(name = "recipient_id")
|
||||||
private UUID recipientId;
|
private UUID recipientId;
|
||||||
|
@Column(name = "recipient_name")
|
||||||
private String recipientName;
|
private String recipientName;
|
||||||
|
@Column(name = "recipient_phone")
|
||||||
private String recipientPhone;
|
private String recipientPhone;
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
|
|
||||||
@@ -32,9 +42,11 @@ public class GroupBatchItem extends BaseEntity {
|
|||||||
private GroupBatchItemStatus status;
|
private GroupBatchItemStatus status;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "confirm_status")
|
||||||
private GroupBatchItemConfirmStatus confirmStatus;
|
private GroupBatchItemConfirmStatus confirmStatus;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "integration_status")
|
||||||
private GroupBatchItemIntegrationStatus integrationStatus;
|
private GroupBatchItemIntegrationStatus integrationStatus;
|
||||||
|
|
||||||
@Column(columnDefinition = "TEXT")
|
@Column(columnDefinition = "TEXT")
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.EnumType;
|
|
||||||
import jakarta.persistence.Enumerated;
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import zw.qantra.tm.domain.enums.Status;
|
import zw.qantra.tm.domain.enums.Status;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "otp", indexes = {
|
||||||
|
@Index(name = "idx_otp_username_type", columnList = "username, otp_type"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -17,6 +18,8 @@ public class Otp extends BaseEntity{
|
|||||||
private String username;
|
private String username;
|
||||||
private String otp;
|
private String otp;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "otp_status")
|
||||||
private Status otpStatus;
|
private Status otpStatus;
|
||||||
|
@Column(name = "otp_type")
|
||||||
private String otpType;
|
private String otpType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.SQLRestriction;
|
import org.hibernate.annotations.SQLRestriction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "payment_processor", indexes = {
|
||||||
|
@Index(name = "idx_payment_processor_label", columnList = "label"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.EnumType;
|
|
||||||
import jakarta.persistence.Enumerated;
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.SQLRestriction;
|
import org.hibernate.annotations.SQLRestriction;
|
||||||
import zw.qantra.tm.domain.enums.CurrencyType;
|
import zw.qantra.tm.domain.enums.CurrencyType;
|
||||||
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "provider", indexes = {
|
||||||
|
@Index(name = "idx_provider_category", columnList = "category"),
|
||||||
|
@Index(name = "idx_provider_client_id", columnList = "client_id"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -17,6 +18,7 @@ import zw.qantra.tm.domain.enums.CurrencyType;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@SQLRestriction("deleted = false")
|
@SQLRestriction("deleted = false")
|
||||||
public class Provider extends BaseEntity {
|
public class Provider extends BaseEntity {
|
||||||
|
@Column(name = "client_id")
|
||||||
private String clientId;
|
private String clientId;
|
||||||
private String label;
|
private String label;
|
||||||
private String name;
|
private String name;
|
||||||
|
|||||||
@@ -2,12 +2,18 @@ package zw.qantra.tm.domain.models;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.SQLRestriction;
|
import org.hibernate.annotations.SQLRestriction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "recipient", indexes = {
|
||||||
|
@Index(name = "idx_recipient_account_user", columnList = "account, user_id"),
|
||||||
|
@Index(name = "idx_recipient_user_id", columnList = "user_id"),
|
||||||
|
@Index(name = "idx_recipient_phone", columnList = "phone_number"),
|
||||||
|
@Index(name = "idx_recipient_email", columnList = "email"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -18,10 +24,13 @@ import org.hibernate.annotations.SQLRestriction;
|
|||||||
public class Recipient extends BaseEntity {
|
public class Recipient extends BaseEntity {
|
||||||
private String name;
|
private String name;
|
||||||
private String email;
|
private String email;
|
||||||
|
@Column(name = "phone_number")
|
||||||
private String phoneNumber;
|
private String phoneNumber;
|
||||||
private String address;
|
private String address;
|
||||||
private String account;
|
private String account;
|
||||||
private String initials;
|
private String initials;
|
||||||
|
@Column(name = "latest_provider_label")
|
||||||
private String latestProviderLabel;
|
private String latestProviderLabel;
|
||||||
|
@Column(name = "user_id")
|
||||||
private String userId;
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -10,6 +10,9 @@ import lombok.Setter;
|
|||||||
import org.hibernate.annotations.SQLRestriction;
|
import org.hibernate.annotations.SQLRestriction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "recipient_group", indexes = {
|
||||||
|
@Index(name = "idx_recipient_group_user_id", columnList = "user_id"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -20,6 +23,7 @@ import org.hibernate.annotations.SQLRestriction;
|
|||||||
public class RecipientGroup extends BaseEntity {
|
public class RecipientGroup extends BaseEntity {
|
||||||
private String name;
|
private String name;
|
||||||
private String description;
|
private String description;
|
||||||
|
@Column(name = "user_id")
|
||||||
private String userId;
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.JoinColumn;
|
|
||||||
import jakarta.persistence.ManyToOne;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -14,6 +12,10 @@ import org.hibernate.annotations.SQLRestriction;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "recipient_group_member", indexes = {
|
||||||
|
@Index(name = "idx_rgm_group_id", columnList = "recipient_group_id"),
|
||||||
|
@Index(name = "idx_rgm_group_recipient", columnList = "recipient_group_id, recipient_id"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -22,12 +24,15 @@ import java.util.UUID;
|
|||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
@SQLRestriction("deleted = false")
|
@SQLRestriction("deleted = false")
|
||||||
public class RecipientGroupMember extends BaseEntity {
|
public class RecipientGroupMember extends BaseEntity {
|
||||||
|
@Column(name = "recipient_group_id")
|
||||||
private UUID recipientGroupId;
|
private UUID recipientGroupId;
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "recipient_id")
|
@JoinColumn(name = "recipient_id")
|
||||||
private Recipient recipient;
|
private Recipient recipient;
|
||||||
|
@Column(name = "recipient_uid")
|
||||||
private UUID recipientUid;
|
private UUID recipientUid;
|
||||||
private String account;
|
private String account;
|
||||||
|
@Column(name = "user_id")
|
||||||
private String userId;
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package zw.qantra.tm.domain.models;
|
package zw.qantra.tm.domain.models;
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -8,12 +8,17 @@ import lombok.NoArgsConstructor;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "setting", indexes = {
|
||||||
|
@Index(name = "idx_setting_name", columnList = "setting_name"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class Setting extends BaseEntity {
|
public class Setting extends BaseEntity {
|
||||||
|
@Column(name = "setting_name")
|
||||||
private String settingName;
|
private String settingName;
|
||||||
|
@Column(name = "setting_value")
|
||||||
private String settingValue;
|
private String settingValue;
|
||||||
}
|
}
|
||||||
@@ -12,6 +12,18 @@ import java.math.BigDecimal;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "transaction", indexes = {
|
||||||
|
@Index(name = "idx_transaction_trace_type", columnList = "trace, type"),
|
||||||
|
@Index(name = "idx_transaction_reference", columnList = "reference"),
|
||||||
|
@Index(name = "idx_transaction_user_id", columnList = "user_id"),
|
||||||
|
@Index(name = "idx_transaction_confirm_pay_integ", columnList = "confirmation_status, payment_status, integration_status"),
|
||||||
|
@Index(name = "idx_transaction_pay_poll", columnList = "payment_status, polling_status"),
|
||||||
|
@Index(name = "idx_transaction_status", columnList = "status"),
|
||||||
|
@Index(name = "idx_transaction_created_at", columnList = "created_at"),
|
||||||
|
@Index(name = "idx_transaction_debit_phone", columnList = "debit_phone"),
|
||||||
|
@Index(name = "idx_transaction_credit_phone", columnList = "credit_phone"),
|
||||||
|
@Index(name = "idx_transaction_workflow_id", columnList = "workflow_id"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -19,7 +31,9 @@ import java.util.UUID;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
|
@SQLRestriction("deleted = false")
|
||||||
public class Transaction extends BaseEntity {
|
public class Transaction extends BaseEntity {
|
||||||
|
@Column(name = "user_id")
|
||||||
private String userId;
|
private String userId;
|
||||||
private String trace;
|
private String trace;
|
||||||
private String region;
|
private String region;
|
||||||
@@ -39,6 +53,7 @@ public class Transaction extends BaseEntity {
|
|||||||
private String rrn;
|
private String rrn;
|
||||||
private String channelName;
|
private String channelName;
|
||||||
private String channel;
|
private String channel;
|
||||||
|
@Column(name = "debit_phone")
|
||||||
private String debitPhone;
|
private String debitPhone;
|
||||||
private String debitAccount;
|
private String debitAccount;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
@@ -47,6 +62,7 @@ public class Transaction extends BaseEntity {
|
|||||||
private String debitCard;
|
private String debitCard;
|
||||||
private String debitRef;
|
private String debitRef;
|
||||||
private String debitEmail;
|
private String debitEmail;
|
||||||
|
@Column(name = "credit_phone")
|
||||||
private String creditPhone;
|
private String creditPhone;
|
||||||
private String creditAccount;
|
private String creditAccount;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
@@ -69,14 +85,18 @@ public class Transaction extends BaseEntity {
|
|||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
private Status authorizationStatus;
|
private Status authorizationStatus;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "confirmation_status")
|
||||||
private Status confirmationStatus;
|
private Status confirmationStatus;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "payment_status")
|
||||||
private Status paymentStatus;
|
private Status paymentStatus;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "integration_status")
|
||||||
private Status integrationStatus;
|
private Status integrationStatus;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
private Status reversalStatus;
|
private Status reversalStatus;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "polling_status")
|
||||||
private Status pollingStatus;
|
private Status pollingStatus;
|
||||||
|
|
||||||
|
|
||||||
@@ -92,7 +112,7 @@ public class Transaction extends BaseEntity {
|
|||||||
private String erpPurchasePaymentRef;
|
private String erpPurchasePaymentRef;
|
||||||
private String erpCommissionJournalRef;
|
private String erpCommissionJournalRef;
|
||||||
|
|
||||||
@Column(nullable = true)
|
@Column(name = "workflow_id", nullable = true)
|
||||||
private long workflowId;
|
private long workflowId;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
|||||||
@@ -2,10 +2,7 @@ package zw.qantra.tm.domain.models;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.Enumerated;
|
|
||||||
import jakarta.persistence.EnumType;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -14,6 +11,9 @@ import lombok.Setter;
|
|||||||
import zw.qantra.tm.domain.enums.Status;
|
import zw.qantra.tm.domain.enums.Status;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
|
@Table(name = "transaction_event", indexes = {
|
||||||
|
@Index(name = "idx_txn_event_txn_id", columnList = "transaction_id"),
|
||||||
|
})
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -21,6 +21,7 @@ import zw.qantra.tm.domain.enums.Status;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
public class TransactionEvent extends BaseEntity {
|
public class TransactionEvent extends BaseEntity {
|
||||||
|
@Column(name = "transaction_id")
|
||||||
private String transactionId;
|
private String transactionId;
|
||||||
private String event;
|
private String event;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ import java.util.Collection;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "users")
|
@Table(name = "users", indexes = {
|
||||||
|
@Index(name = "idx_user_phone", columnList = "phone"),
|
||||||
|
})
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@SQLRestriction("deleted = false")
|
@SQLRestriction("deleted = false")
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ ecocash.url=https://developers.ecocash.co.zw/api/ecocash_pay/api/v2/payment/inst
|
|||||||
|
|
||||||
#velocity.api.base-url=https://api.velocityafrica.net
|
#velocity.api.base-url=https://api.velocityafrica.net
|
||||||
#velocity.api.api-key=z5WdSlItIhYL6nd7rxzf-jFdKN3jJyL1LubhDFBvXmc
|
#velocity.api.api-key=z5WdSlItIhYL6nd7rxzf-jFdKN3jJyL1LubhDFBvXmc
|
||||||
velocity.api.base-url=http://localhost:6975
|
#velocity.api.base-url=http://localhost:6975
|
||||||
velocity.api.api-key=gH13nirZdUQdqC9impgzTzqEqv-jdbLOTx_HD5fQr_A
|
#velocity.api.api-key=gH13nirZdUQdqC9impgzTzqEqv-jdbLOTx_HD5fQr_A
|
||||||
velocity.api.cancel-url=http://localhost:9005/poll
|
velocity.api.cancel-url=http://localhost:9005/poll
|
||||||
velocity.api.success-url=http://localhost:9005/poll
|
velocity.api.success-url=http://localhost:9005/poll
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ hot.password=Stikbanch@50
|
|||||||
hot.cache.duration.minutes=5
|
hot.cache.duration.minutes=5
|
||||||
|
|
||||||
velocity.api.base-url=https://api.velocityafrica.net
|
velocity.api.base-url=https://api.velocityafrica.net
|
||||||
velocity.api.api-key=cHE08ADmiATtf8VYgA59-wKVKVKj2WusKDAaaRLDsG8
|
velocity.api.api-key=hL5KvXqRAYWH_I8anEZsbiL-tFoM2y25g5tkYuLuw3s
|
||||||
velocity.api.cancel-url=https://pay.velocityafrica.net/poll
|
velocity.api.cancel-url=https://pay.velocityafrica.net/poll
|
||||||
velocity.api.success-url=https://pay.velocityafrica.net/poll
|
velocity.api.success-url=https://pay.velocityafrica.net/poll
|
||||||
|
|
||||||
|
|||||||
226
src/main/resources/liquibase-diff-changeLog.xml
Normal file
226
src/main/resources/liquibase-diff-changeLog.xml
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
|
||||||
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-7">
|
||||||
|
<createIndex indexName="IX_charge_exclude_productsPK" tableName="charge_exclude_products" unique="true">
|
||||||
|
<column name="charge_id"/>
|
||||||
|
<column name="charge_condition_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-8">
|
||||||
|
<createIndex indexName="IX_charge_include_productsPK" tableName="charge_include_products" unique="true">
|
||||||
|
<column name="charge_id"/>
|
||||||
|
<column name="charge_condition_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-9">
|
||||||
|
<createIndex indexName="idx_additional_data_txn_id" tableName="additional_data">
|
||||||
|
<column name="transaction_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-10">
|
||||||
|
<createIndex indexName="idx_additional_data_txn_type" tableName="additional_data">
|
||||||
|
<column name="transaction_id"/>
|
||||||
|
<column name="request_type"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-11">
|
||||||
|
<createIndex indexName="idx_category_name" tableName="category">
|
||||||
|
<column name="name"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-12">
|
||||||
|
<createIndex indexName="idx_charge_condition_codes" tableName="charge_condition">
|
||||||
|
<column name="codes"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-13">
|
||||||
|
<createIndex indexName="idx_charge_currency" tableName="charge">
|
||||||
|
<column name="currency"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-14">
|
||||||
|
<createIndex indexName="idx_charge_label_currency" tableName="charge">
|
||||||
|
<column name="charge_label"/>
|
||||||
|
<column name="currency"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-15">
|
||||||
|
<createIndex indexName="idx_currency_iso_code" tableName="currency">
|
||||||
|
<column name="iso_code"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-16">
|
||||||
|
<createIndex indexName="idx_gbi_batch_confirm" tableName="group_batch_item">
|
||||||
|
<column name="group_batch_id"/>
|
||||||
|
<column name="confirm_status"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-17">
|
||||||
|
<createIndex indexName="idx_gbi_batch_id" tableName="group_batch_item">
|
||||||
|
<column name="group_batch_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-18">
|
||||||
|
<createIndex indexName="idx_gbi_batch_integ" tableName="group_batch_item">
|
||||||
|
<column name="group_batch_id"/>
|
||||||
|
<column name="integration_status"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-19">
|
||||||
|
<createIndex indexName="idx_gbi_txn_id" tableName="group_batch_item">
|
||||||
|
<column name="transaction_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-20">
|
||||||
|
<createIndex indexName="idx_group_batch_created_at" tableName="group_batch">
|
||||||
|
<column name="created_at"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-21">
|
||||||
|
<createIndex indexName="idx_group_batch_payment_ref" tableName="group_batch">
|
||||||
|
<column name="payment_reference"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-22">
|
||||||
|
<createIndex indexName="idx_group_batch_recipient_group_id" tableName="group_batch">
|
||||||
|
<column name="recipient_group_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-23">
|
||||||
|
<createIndex indexName="idx_group_batch_status" tableName="group_batch">
|
||||||
|
<column name="status"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-24">
|
||||||
|
<createIndex indexName="idx_group_batch_user_id" tableName="group_batch">
|
||||||
|
<column name="user_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-25">
|
||||||
|
<createIndex indexName="idx_otp_username_type" tableName="otp">
|
||||||
|
<column name="username"/>
|
||||||
|
<column name="otp_type"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-26">
|
||||||
|
<createIndex indexName="idx_payment_processor_label" tableName="payment_processor">
|
||||||
|
<column name="label"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-27">
|
||||||
|
<createIndex indexName="idx_provider_category" tableName="provider">
|
||||||
|
<column name="category"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-28">
|
||||||
|
<createIndex indexName="idx_provider_client_id" tableName="provider">
|
||||||
|
<column name="client_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-29">
|
||||||
|
<createIndex indexName="idx_recipient_account_user" tableName="recipient">
|
||||||
|
<column name="account"/>
|
||||||
|
<column name="user_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-30">
|
||||||
|
<createIndex indexName="idx_recipient_email" tableName="recipient">
|
||||||
|
<column name="email"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-31">
|
||||||
|
<createIndex indexName="idx_recipient_group_user_id" tableName="recipient_group">
|
||||||
|
<column name="user_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-32">
|
||||||
|
<createIndex indexName="idx_recipient_phone" tableName="recipient">
|
||||||
|
<column name="phone_number"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-33">
|
||||||
|
<createIndex indexName="idx_recipient_user_id" tableName="recipient">
|
||||||
|
<column name="user_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-34">
|
||||||
|
<createIndex indexName="idx_rgm_group_id" tableName="recipient_group_member">
|
||||||
|
<column name="recipient_group_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-35">
|
||||||
|
<createIndex indexName="idx_rgm_group_recipient" tableName="recipient_group_member">
|
||||||
|
<column name="recipient_group_id"/>
|
||||||
|
<column name="recipient_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-36">
|
||||||
|
<createIndex indexName="idx_setting_name" tableName="setting">
|
||||||
|
<column name="setting_name"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-37">
|
||||||
|
<createIndex indexName="idx_transaction_confirm_pay_integ" tableName="transaction">
|
||||||
|
<column name="confirmation_status"/>
|
||||||
|
<column name="payment_status"/>
|
||||||
|
<column name="integration_status"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-38">
|
||||||
|
<createIndex indexName="idx_transaction_created_at" tableName="transaction">
|
||||||
|
<column name="created_at"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-39">
|
||||||
|
<createIndex indexName="idx_transaction_credit_phone" tableName="transaction">
|
||||||
|
<column name="credit_phone"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-40">
|
||||||
|
<createIndex indexName="idx_transaction_debit_phone" tableName="transaction">
|
||||||
|
<column name="debit_phone"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-41">
|
||||||
|
<createIndex indexName="idx_transaction_pay_poll" tableName="transaction">
|
||||||
|
<column name="payment_status"/>
|
||||||
|
<column name="polling_status"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-42">
|
||||||
|
<createIndex indexName="idx_transaction_reference" tableName="transaction">
|
||||||
|
<column name="reference"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-43">
|
||||||
|
<createIndex indexName="idx_transaction_status" tableName="transaction">
|
||||||
|
<column name="status"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-44">
|
||||||
|
<createIndex indexName="idx_transaction_trace_type" tableName="transaction">
|
||||||
|
<column name="trace"/>
|
||||||
|
<column name="type"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-45">
|
||||||
|
<createIndex indexName="idx_transaction_user_id" tableName="transaction">
|
||||||
|
<column name="user_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-46">
|
||||||
|
<createIndex indexName="idx_transaction_workflow_id" tableName="transaction">
|
||||||
|
<column name="workflow_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-47">
|
||||||
|
<createIndex indexName="idx_txn_event_txn_id" tableName="transaction_event">
|
||||||
|
<column name="transaction_id"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
<changeSet author="khoza (generated)" id="1781292513634-48">
|
||||||
|
<createIndex indexName="idx_user_phone" tableName="users">
|
||||||
|
<column name="phone"/>
|
||||||
|
</createIndex>
|
||||||
|
</changeSet>
|
||||||
|
</databaseChangeLog>
|
||||||
Reference in New Issue
Block a user