saved initate payment and checktxn status

This commit is contained in:
Lincpay Tech
2025-11-07 18:38:09 +05:30
parent 58db98cc06
commit af7cdaf5d7
15 changed files with 518 additions and 113 deletions
@@ -0,0 +1,58 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Table(name = "agent_fund_transfer_Txn_Status")
@NoArgsConstructor
@Getter
@Setter
@AllArgsConstructor
public class AgentFundTransfer {
@Id
@Column(name = "fund_txn_reference_id")
private String fundTxnReferenceId;
@Column(name = "transaction_master_id")
private String TransactionMasterId; //primary key from transaction master
@Column(name = "txn_id")
private String txnId;
@Column(name = "req_id")
private String reqId;
@Column(name = "fund_txn_remarks")
private String fundTxnRemarks;
@Column(name = "fund_txn_date")
private String fundTxnDate;
@Column(name = "fund_txn_amt")
private Double fundTxnAmt;
@Column(name = "fund_utr")
private String fundUTR;
@Column(name = "fund_resp_remarks")
private String fundRespRemarks;
@Column(name = "agent_npci_id")
private String agentNpciId;
@Column(name = "txn_ref_id")
private String txnRefId;
@Column(name = "fund_status")
private String fundStatus;
}
@@ -0,0 +1,33 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
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 lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
@Table(name = "customer_params_transaction")
public class CustomerParamTransaction {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String paramsId;
private String name;
private String value;
private String type;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "txn_id", referencedColumnName = "bank_txn_id")
private TransactionMaster transactionMaster;
}
@@ -0,0 +1,38 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
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 lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
@Table(name = "device_block_tag")
public class DeviceBlockTag {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "tag_id")
private String tagId;
@Column(name = "value")
private String value;
// ✅ ManyToOne relation back to TransactionMaster
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "txn_id", referencedColumnName = "bank_txn_id")
private TransactionMaster transactionMaster;
}
@@ -0,0 +1,31 @@
package com.billpaymentservice.bbps.entites;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "payment_initiate")
public class PaymentInitiate {
@Id
@Column(name = "req_id")
private String reqId;
@Column(name = "bank_txn_Id", nullable = false)
private String bankTxnId;
@Column(name = "txn_id")
private String txnId;
@Column(name = "status")
private String status;
}
@@ -0,0 +1,163 @@
package com.billpaymentservice.bbps.entites;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@Entity
@Table(name = "transaction_master")
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class TransactionMaster {
// 👇 JSON me "txn_id" aayega, ye DB me bank_txn_id column me save hoga
@Id
@JsonProperty("txn_id")
@Column(name = "bank_txn_id", nullable = false, unique = true)
private String bankTxnId;
// 👇 Apna internal transaction id, manually generate or system ke through
@Column(name = "txn_id")
private String txnId;
@Column(name = "req_id")
private String reqId;
@Column(name = "ref_id")
private String refId;
@Column(name = "txn_npci_id")
private String txnNpciId;
@Column(name = "payment_ref_id")
private String paymentRefId;
@Column(name = "remitter_name")
private String remitterName;
@Column(name = "order_id")
private String orderId;
@Column(name = "bill_id")
private String billId;
@Column(name = "user_type")
private String userType;
@Column(name = "user_id")
private String userId;
@Column(name = "txn_amount")
private Double txnAmount;
@Column(name = "total_txn_amount")
private Double totalTxnAmount;
@Column(name = "biller_id")
private String billerId;
@Column(name = "biller_category")
private String billerCategory;
@Column(name = "biller_name")
private String billerName;
@Column(name = "client_req_id")
private String clientReqId;
@Column(name = "off_us_pay")
private String offUsPay;
@Column(name = "split_pay")
private String splitPay;
@Column(name = "quick_pay")
private String quickPay;
@Column(name = "payment_mode")
private String paymentMode;
@Column(name = "agent_payment_information", columnDefinition = "TEXT")
private String agentPaymentInformation;
@Column(name = "cust_conv_fee")
private Double custConvFee;
@Column(name = "currency")
private String currency;
@Column(name = "status")
private String status;
@Column(name = "requested_ip")
private String requestedIp;
@Column(name = "customer_mob_no")
private String customerMobNo;
@Column(name = "mac_address")
private String macAddress;
@Column(name = "split_pay_amount")
private Double splitPayAmount;
@Column(name = "cou_cust_conv_fee")
private Double couCustConvFee;
@Column(name = "settlement_verification")
private Boolean settlementVerification;
@Column(name = "fund_txn_type")
private String fundTxnType;
@Column(name = "reason", columnDefinition = "TEXT")
private String reason;
@Column(name = "amount_tags", columnDefinition = "TEXT")
private String amountTags;
@Column(name = "payment_information", columnDefinition = "TEXT")
private String paymentInformation;
// ✅ Relation with DeviceBlockTagEntity
@OneToMany(mappedBy = "transactionMaster", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<DeviceBlockTag> deviceBlockTags;
// ✅ Relation with CustomerParamEntity
@OneToMany(mappedBy = "transactionMaster", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<CustomerParamTransaction> customerParams;
@Column(name = "plan_id")
private String planId;
@Column(name = "plan_type")
private String planType;
@Column(name = "creation_date")
private String creationDate;
@Column(name = "modified_date")
private String modifiedDate;
@Column(name = "created_epoch_date")
private Long createdEpochDate;
@Column(name = "modified_epoch_date")
private Long modifiedEpochDate;
}
@@ -1,66 +0,0 @@
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;
}