added log tracing classes
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
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 OutboundTraceLog {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
// 🔹 Linking fields
|
||||
private String requestId; // same as inbound ka requestId
|
||||
private String txnId; // same txnId for full trace
|
||||
|
||||
// 🔹 API / endpoint info
|
||||
private String apiName; // e.g. fetchBillerData
|
||||
private String endpointUrl; // full URL of external API
|
||||
private String httpMethod; // GET / POST
|
||||
|
||||
// 🔹 Request/Response payloads
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String requestPayload; // jo tumne bheja external ko
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String responsePayload; // jo external ne bheja
|
||||
|
||||
// 🔹 Response/status
|
||||
private String responseCode; // HTTP status code (200, 500, etc.)
|
||||
private String status; // SUCCESS / FAILED
|
||||
private LocalDateTime sendTime; // jab request gayi
|
||||
private LocalDateTime responseReceiveTime; // jab response aaya
|
||||
private LocalDateTime createdAt = LocalDateTime.now();
|
||||
|
||||
@Column(length = 255)
|
||||
private String remark;
|
||||
public OutboundTraceLog(String txnId, String apiName, String endpointUrl, String requestPayload) {
|
||||
this.txnId = txnId;
|
||||
this.apiName = apiName;
|
||||
this.endpointUrl = endpointUrl;
|
||||
this.requestPayload = requestPayload;
|
||||
this.sendTime = LocalDateTime.now();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user