71 lines
2.1 KiB
Java
71 lines
2.1 KiB
Java
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
|
|
@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
|
|
@Setter
|
|
@Builder
|
|
@AllArgsConstructor
|
|
@NoArgsConstructor
|
|
@SQLRestriction("deleted = false")
|
|
public class GroupBatchItem extends BaseEntity {
|
|
@Column(name = "group_batch_id")
|
|
private UUID groupBatchId;
|
|
@Column(name = "recipient_id")
|
|
private UUID recipientId;
|
|
@Column(name = "recipient_name")
|
|
private String recipientName;
|
|
@Column(name = "recipient_phone")
|
|
private String recipientPhone;
|
|
private String recipientAccount;
|
|
private BigDecimal amount;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
private GroupBatchItemStatus status;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "confirm_status")
|
|
private GroupBatchItemConfirmStatus confirmStatus;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "integration_status")
|
|
private GroupBatchItemIntegrationStatus integrationStatus;
|
|
|
|
@Column(columnDefinition = "TEXT")
|
|
private String confirmError;
|
|
|
|
@Column(columnDefinition = "TEXT")
|
|
private String integrationError;
|
|
|
|
@ManyToOne
|
|
@JoinColumn(name = "transaction_id")
|
|
private Transaction transaction;
|
|
|
|
private String billClientId;
|
|
private String billName;
|
|
private String billProductName;
|
|
private String providerImage;
|
|
private String providerLabel;
|
|
private String creditAddress;
|
|
}
|
|
|