Files
bbps-backend/src/main/java/com/billpaymentservice/bbps/entites/InterchangeFeeConf.java
T
2025-12-10 10:03:15 +05:30

67 lines
1.8 KiB
Java

package com.billpaymentservice.bbps.entites;
import java.util.List;
import jakarta.persistence.CollectionTable;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Entity
@Table(name = "bbps_interchange_fee_conf")
public class InterchangeFeeConf extends Auditable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; // Primary Key for DB table
@Column(name = "interchange_fee_conf_id", nullable = false, unique = true)
private String interChangeFeeConfId;
@Column(name = "mti")
private String mti;
@Column(name = "payment_mode")
private String paymentMode;
@Column(name = "payment_channel")
private String paymentChannel;
@Column(name = "response_code")
private String responseCode;
// ⚙️ Since 'fees' is a list of simple strings, we use ElementCollection
@ElementCollection
@CollectionTable(
name = "interchange_fee_conf_fees",
joinColumns = @JoinColumn(name = "interchange_fee_conf_id_fk")
)
@Column(name = "fee_value")
private List<String> fees;
@Column(name = "default_fee")
private boolean defaultFee;
@Column(name = "effective_from")
private String effctvFrom;
@Column(name = "effective_to")
private String effctvTo;
// 🔗 Many InterchangeFeeConf records belong to one Biller
@ManyToOne
@JoinColumn(name = "biller_id", nullable = false)
private BillerDetails biller;
}