added initatePayment and checkTxnStatus

This commit is contained in:
himanshu
2025-10-30 17:57:12 +05:30
parent 78dd74475a
commit 65cd50567d
43 changed files with 1319 additions and 124 deletions
@@ -0,0 +1,32 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
@Table(name = "agent_fund_transfer")
public class AgentFundTransferEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String fundTxnReferenceId;
@Column(nullable = false)
private String fundTxnRemarks;
private String fundTxnDate;
private Double fundTxnAmt;
private String fundUTR;
private String fundRespRemarks;
private String agentNpciId;
private String txnRefId;
private String fundStatus;
}
@@ -22,8 +22,8 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "beneficiary_details")
public class BeneficiaryDetails extends Auditable<String> {
@Table(name = "Bharat_connect_master")
public class BharatConnectMaster extends Auditable<String> {
@Id
@Column(name = "org_id", nullable = false, unique = true, length = 50)
@@ -48,4 +48,7 @@ public class BeneficiaryDetails extends Auditable<String> {
@Column(name = "api_base_url", length = 500)
private String apiBaseUrl;
@Column(name = "is_active")
private boolean isActive=false;
}
@@ -0,0 +1,55 @@
package com.billpaymentservice.bbps.entites;
import java.time.LocalDateTime;
import java.util.List;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Entity
@Table(name = "bill_payment")
public class BillPayment {
@Id
@Column(name = "txn_id")
private String txnId;
@Column(name = "ref_id")
private String refId;
@Column(name = "biller_id")
private String billerId;
@Column(name = "biller_category")
private String billerCategory;
@Column(name = "biller_name")
private String billerName;
@Column(name = "payment_mode")
private String paymentMode;
@Column(name = "txn_amount")
private double txnAmount;
@Column(name = "status")
private String status;
@Column(name = "currency")
private String currency;
@Column(name = "payment_channel")
private String paymentChannel;
@Column(name = "customer_mobile")
private String customerMobNo;
@Column(name = "created_at")
private LocalDateTime createdAt = LocalDateTime.now();
// 🔗 One bill payment has many remitter identities
@OneToMany(mappedBy = "billPayment", cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true)
private List<RemitterIdentity> remitterIdentities;
}
@@ -0,0 +1,22 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
@Table(name = "customer_params")
public class CustomerParamDAO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String paramsId;
private String name;
private String value;
private String type;
}
@@ -0,0 +1,28 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Entity
@Table(name = "remitter_identity")
public class RemitterIdentity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "value")
private String value;
// Many remitter identities belong to one bill payment
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "txn_id")
private BillPayment billPayment;
}
@@ -0,0 +1,66 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
@Entity
@Getter
@Setter
@Table(name = "transaction_status")
public class TransactionStatus {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String txnId;
@Column(nullable = false)
private String refId;
private String txnNpciId;
private String orderId;
private String billId;
private String userType;
private String userId;
private Double txnAmount;
private Double totalTxnAmount;
private String billerId;
private String billerCategory;
private String billerName;
private String clientReqId;
private String offUsPay;
private String splitPay;
private String quickPay;
private String paymentMode;
private Double custConvFee;
private String currency;
private String status;
private String requestedIp;
private String customerMobNo;
private String macAddress;
private Double splitPayAmount;
private Double couCustConvFee;
private Boolean settlementVerification;
private String fundTxnType;
private String reason;
private String planId;
private String planType;
private LocalDateTime creationDate;
private LocalDateTime modifiedDate;
private Long createdEpochDate;
private Long modifiedEpochDate;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "fund_transfer_id")
private AgentFundTransferEntity agentFundTransfer;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "transaction_id")
private List<CustomerParamDAO> customerParamsDAO;
}