package com.billpaymentservice.bbps.entites; import java.time.LocalDateTime; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @ToString public class InboundTraceLog { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; // 🔹 Identifiers @Column(length = 50, unique = true) private String requestId; // external requestId (from client) @Column(length = 35) private String txnId; // internally generated transaction id // 🔹 Source & API info private String orgId; // tumhara org code (like ORG001) private String mid; // merchant id from request private String apiName; // e.g. getBillerByBillerId private String httpMethod; // GET / POST // 🔹 Request/Response data @Column(columnDefinition = "TEXT") private String requestPayload; // jo external ne bheja @Column(columnDefinition = "TEXT") private String responsePayload; // jo tumne wapas bheja // 🔹 Status & timing private String status; // SUCCESS / FAILED private String responseCode; // like 200, 400 etc. private LocalDateTime requestTime; // jab request aayi private LocalDateTime responseTime; // jab response gaya private LocalDateTime createdAt = LocalDateTime.now(); @Column(length = 255) private String remark; // error ya note public InboundTraceLog(String requestId, String txnId, String apiName, String requestPayload) { this.requestId = requestId; this.txnId = txnId; this.apiName = apiName; this.requestPayload = requestPayload; this.requestTime = LocalDateTime.now(); } }