Compare commits
74
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
38979f0f94 | ||
|
|
46e50acc88 | ||
|
|
95e1c8b45d | ||
|
|
6126bc1d81 | ||
|
|
5d0f043848 | ||
|
|
a4842788c1 | ||
|
|
a9d04ee757 | ||
|
|
e3fdca6f72 | ||
|
|
0197f6951f | ||
|
|
7fac2cb590 | ||
|
|
596f519d1e | ||
|
|
705af33f1e | ||
|
|
ae298a35f6 | ||
|
|
f752ed269f | ||
|
|
d34b2e1b84 | ||
|
|
c8bc6e7f12 | ||
|
|
67be2acbc4 | ||
|
|
d3ae7decc8 | ||
|
|
a41dca5693 | ||
|
|
499bb1e995 | ||
|
|
4b5f81d0d5 | ||
|
|
0e747ed2a7 | ||
|
|
f9ba70414b | ||
|
|
d133fc0c75 | ||
|
|
a2f9ee8ed7 | ||
|
|
98ca620bb4 | ||
|
|
8ae11f86d4 | ||
|
|
eeb326a221 | ||
|
|
efd6a58b62 | ||
|
|
78c0e023d9 | ||
|
|
28cf0aa98d | ||
|
|
b3c507338e | ||
|
|
6079ce48a3 | ||
|
|
67404c2279 | ||
|
|
870c37e7f5 | ||
|
|
66a7677917 | ||
|
|
2da63b2f11 | ||
|
|
06cb102aed | ||
|
|
825e309785 | ||
|
|
abf89ce7f0 | ||
|
|
eb28221b96 | ||
|
|
29bce40c65 | ||
|
|
e21039090d | ||
|
|
699d8572a9 | ||
|
|
bb0aee2b2b | ||
|
|
13bfd34bbd | ||
|
|
fb3c5d2e96 | ||
|
|
2c4855d59a | ||
|
|
0e56b4de7b | ||
|
|
74e4f86d67 | ||
|
|
896ff1722a | ||
|
|
6ea6dc4775 | ||
|
|
1cfe331ff1 | ||
|
|
c25382bd5c | ||
|
|
fe4f653065 | ||
|
|
597f6b10d4 | ||
|
|
7e7b8ae9cf | ||
|
|
1e38efe3c0 | ||
|
|
66fceb95a1 | ||
|
|
a28f70d2a9 | ||
|
|
f15e967e58 | ||
|
|
693b0b7801 | ||
|
|
812aa3c2ff | ||
|
|
1ab2768226 | ||
|
|
08b0689209 | ||
|
|
aea3d0d3a8 | ||
|
|
c0dbf531bd | ||
|
|
d88c624d50 | ||
|
|
28708d1d74 | ||
|
|
003dd9325c | ||
|
|
9a9a07875c | ||
|
|
a210c86bcd | ||
|
|
78c38e6d74 | ||
|
|
58d450b22e |
@@ -45,6 +45,12 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.github.resilience4j</groupId>
|
||||
<artifactId>resilience4j-spring-boot3</artifactId>
|
||||
<version>2.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
@@ -159,6 +165,12 @@
|
||||
<version>0.11.5</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.17.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- Test -->
|
||||
<dependency>
|
||||
@@ -174,6 +186,8 @@
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.billpaymentservice.bbps.audit;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import org.springframework.data.annotation.CreatedBy;
|
||||
import org.springframework.data.annotation.CreatedDate;
|
||||
import org.springframework.data.annotation.LastModifiedBy;
|
||||
import org.springframework.data.annotation.LastModifiedDate;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.MappedSuperclass;
|
||||
import jakarta.persistence.Temporal;
|
||||
import jakarta.persistence.TemporalType;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@MappedSuperclass
|
||||
public abstract class Auditable<U> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@CreatedDate
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name = "create_date_time")
|
||||
protected Date createDateTime;
|
||||
|
||||
@LastModifiedDate
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name = "updated_date_time")
|
||||
protected Date updatedDateTime;
|
||||
|
||||
@LastModifiedBy
|
||||
@Column(name = "updated_by")
|
||||
protected U updatedBy;
|
||||
|
||||
@CreatedBy
|
||||
@Column(name = "create_by")
|
||||
protected U createdBy;
|
||||
|
||||
@Column(name = "is_deleted")
|
||||
protected boolean isDeleted = false;
|
||||
}
|
||||
@@ -11,9 +11,7 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.billpaymentservice.bbps.entites.UserEntity;
|
||||
import com.billpaymentservice.bbps.entites.UsersDetails;
|
||||
import com.billpaymentservice.bbps.repository.UserRepository;
|
||||
import com.billpaymentservice.bbps.repository.UsersDetailsRepository;
|
||||
|
||||
@Service
|
||||
public class CustomUserDetailsService implements UserDetailsService {
|
||||
|
||||
@@ -2,13 +2,14 @@ package com.billpaymentservice.bbps.config;
|
||||
|
||||
import java.security.cert.X509Certificate;
|
||||
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.TrustManager;
|
||||
import javax.net.ssl.X509TrustManager;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
||||
import org.springframework.web.client.RestClient;
|
||||
|
||||
@Configuration
|
||||
@@ -16,24 +17,31 @@ public class RestClientConfig {
|
||||
|
||||
@Bean
|
||||
public RestClient restClient() throws Exception {
|
||||
// ✅ Create trust all SSL context
|
||||
SSLContext sslContext = SSLContext.getInstance("TLS");
|
||||
|
||||
// Create Trust-All SSL context
|
||||
TrustManager[] trustAllCerts = new TrustManager[]{
|
||||
new X509TrustManager() {
|
||||
public X509Certificate[] getAcceptedIssuers() {
|
||||
return new X509Certificate[0];
|
||||
}
|
||||
public void checkClientTrusted(X509Certificate[] certs, String authType) {
|
||||
}
|
||||
public void checkServerTrusted(X509Certificate[] certs, String authType) {
|
||||
}
|
||||
public void checkClientTrusted(X509Certificate[] certs, String authType) {}
|
||||
public void checkServerTrusted(X509Certificate[] certs, String authType) {}
|
||||
}
|
||||
};
|
||||
|
||||
SSLContext sslContext = SSLContext.getInstance("TLS");
|
||||
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
|
||||
|
||||
// ✅ Create RestClient with custom SSL context
|
||||
// Use JDK's Simple HTTP client with custom SSL context
|
||||
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
|
||||
requestFactory.setBufferRequestBody(false);
|
||||
|
||||
// Apply SSL context to HttpsURLConnection globally
|
||||
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
|
||||
HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);
|
||||
|
||||
return RestClient.builder()
|
||||
.requestFactory(new HttpComponentsClientHttpRequestFactory())
|
||||
.requestFactory(requestFactory)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.billpaymentservice.bbps.config;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.billpaymentservice.bbps.controller.AgentController;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.HttpMethod;
|
||||
@@ -18,13 +19,16 @@ import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
||||
@EnableWebSecurity
|
||||
public class SecurityConfig {
|
||||
|
||||
private final AgentController agentController;
|
||||
|
||||
private final JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
|
||||
|
||||
private final JwtFilter jwtFilter;
|
||||
|
||||
public SecurityConfig(JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint, JwtFilter jwtFilter) {
|
||||
public SecurityConfig(JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint, JwtFilter jwtFilter, AgentController agentController) {
|
||||
this.jwtAuthenticationEntryPoint = jwtAuthenticationEntryPoint;
|
||||
this.jwtFilter = jwtFilter;
|
||||
this.agentController = agentController;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@@ -39,6 +43,8 @@ public class SecurityConfig {
|
||||
"/swagger-resources/**",
|
||||
"/webjars/**",
|
||||
"/error")
|
||||
.permitAll()
|
||||
.requestMatchers("/payment/callback/startPayment","/complaints/checkTicketStatus")
|
||||
.permitAll().requestMatchers(HttpMethod.OPTIONS, "/**").permitAll()
|
||||
.anyRequest().authenticated())
|
||||
.exceptionHandling(ex -> ex.authenticationEntryPoint(jwtAuthenticationEntryPoint))
|
||||
|
||||
@@ -9,7 +9,6 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.GeneralResp;
|
||||
import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.request.BillFetchByBillIdRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.BillFetchByClientIdRequest;
|
||||
@@ -19,6 +18,14 @@ import com.billpaymentservice.bbps.dto.request.FetchBillValidatestRequest;
|
||||
import com.billpaymentservice.bbps.dto.response.BillDataResponse;
|
||||
import com.billpaymentservice.bbps.dto.response.FetchBillValidateResponse;
|
||||
import com.billpaymentservice.bbps.service.AgentService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/agent")
|
||||
@@ -31,20 +38,22 @@ public class AgentController {
|
||||
this.agentService = agentService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches bill details from external BBPS service
|
||||
*/
|
||||
@PostMapping(value = "/requestBillFetch", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/requestBillFetch")
|
||||
@Operation(summary = "Initiate bill fetch request", description = "This API initiates a bill fetch request for the given customer/biller details.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill fetch request initiated successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> requestBillFetch(@Validated @RequestBody FetchBillRequest fetchBillRequest) {
|
||||
|
||||
ResponseModel response = agentService.initiateBillFetch(fetchBillRequest);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches bill details from external BBPS service
|
||||
*/
|
||||
@PostMapping(value = "/fetchBillById", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/fetchBillById")
|
||||
@Operation(summary = "Fetch bill details by bill ID", description = "This API retrieves bill details from the BBPS system using the provided bill ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully by bill ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> fetchBillById(
|
||||
@Validated @RequestBody BillFetchByBillIdRequest billFetchByBillIdRequest) {
|
||||
|
||||
@@ -52,10 +61,11 @@ public class AgentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches bill details validate from external BBPS service
|
||||
*/
|
||||
@PostMapping(value = "/requestBillValidate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/requestBillValidate")
|
||||
@Operation(summary = "Initiate bill validation request", description = "This API validates customer input and bill details .")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill validation initiated successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> requestBillValidate(
|
||||
@Validated @RequestBody FetchBillValidatestRequest fetchBillValidateRequest) {
|
||||
|
||||
@@ -63,10 +73,11 @@ public class AgentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches bill details by bill Id from external BBPS service
|
||||
*/
|
||||
@PostMapping(value = "/requestBillValidateByBillId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/requestBillValidateByBillId")
|
||||
@Operation(summary = "Bill validate by details by bill ID", description = "This API retrieves bill details from BBPS using the provided bill ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully by bill ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> requestBillByBillId(
|
||||
@Validated @RequestBody BillFetchByBillIdRequest billRequest) {
|
||||
|
||||
@@ -74,7 +85,11 @@ public class AgentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/fetchBillByClientReqId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/fetchBillByClientReqId")
|
||||
@Operation(summary = "Fetch bill details by client request ID", description = "This API fetches bill details using the client-generated request ID (clientReqId).")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully using client request ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> fetchBillByClientReqId(
|
||||
@Validated @RequestBody BillFetchByClientIdRequest billFetchByClientIdRequest) {
|
||||
|
||||
@@ -82,7 +97,11 @@ public class AgentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/fetchBillValidateByClientReqId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/fetchBillValidateByClientReqId")
|
||||
@Operation(summary = "Fetch bill details by client request ID", description = "This API retrieves bill details using the client's request ID (clientReqId).")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Bill details fetched successfully using client request ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> fetchBillValidateByClientReqId(
|
||||
@Validated @RequestBody BillValidateByClientIdRequest billValidateByClientIdRequest) {
|
||||
|
||||
@@ -90,15 +109,24 @@ public class AgentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value="/callback/billFetch", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/callback/billFetch")
|
||||
@Operation(summary = "Handle bill fetch callback", description = "This callback API is invoked by BBPS/Biller to send bill fetch response.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Callback received and processed successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> handleBillFetchCallback(@RequestBody BillDataResponse billDataResponse) {
|
||||
ResponseModel genralResp = agentService.processBillFetchCallback(billDataResponse);
|
||||
// Return a response indicating successful receipt
|
||||
return ResponseEntity.ok(genralResp);
|
||||
}
|
||||
|
||||
@PostMapping(value="/callback/billValidate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<ResponseModel> handleBillValidateCallback(@RequestBody FetchBillValidateResponse fetchBillValidateResponse) {
|
||||
@PostMapping(value = "/callback/billValidate")
|
||||
@Operation(summary = "Handle bill validate callback", description = "This callback API is triggered by BBPS/Biller to send bill validation response.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Callback received and processed successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> handleBillValidateCallback(
|
||||
@RequestBody FetchBillValidateResponse fetchBillValidateResponse) {
|
||||
ResponseModel genralResp = agentService.processBillValidateCallback(fetchBillValidateResponse);
|
||||
// Return a response indicating successful receipt
|
||||
return ResponseEntity.ok(genralResp);
|
||||
|
||||
@@ -10,14 +10,18 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.auth.AuthResponse;
|
||||
import com.billpaymentservice.bbps.dto.response.AuthResponses;
|
||||
import com.billpaymentservice.bbps.dto.auth.LoginRequest;
|
||||
import com.billpaymentservice.bbps.dto.auth.OtpSendResponse;
|
||||
import com.billpaymentservice.bbps.dto.auth.RegisterRequest;
|
||||
import com.billpaymentservice.bbps.dto.auth.VerifyOtpRequest;
|
||||
import com.billpaymentservice.bbps.service.AuthService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@RestController
|
||||
@@ -32,25 +36,42 @@ public class AuthController {
|
||||
this.authService = authService;
|
||||
}
|
||||
|
||||
@PostMapping(value = "/sendOtp", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/sendOtp")
|
||||
@Operation(summary = "Send OTP to user", description = "This API sends an OTP to the user's registered mobile number for authentication.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "OTP sent successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> sendOtp(@Validated @RequestBody LoginRequest request) {
|
||||
log.info("Received sendOtp request for mobile: {}", request.getMobile());
|
||||
return ResponseEntity.ok(authService.sendOtp(request));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/verifyOtp", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/verifyOtp")
|
||||
@Operation(summary = "Verify OTP", description = "This API verifies the OTP entered by the user and validates the authentication flow.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "OTP verified successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
|
||||
public ResponseEntity<ResponseModel> verifyOtp(@Validated @RequestBody VerifyOtpRequest request) {
|
||||
|
||||
return ResponseEntity.ok(authService.verifyOtp(request));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/register", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/register")
|
||||
@Operation(summary = "Register a new user", description = "This API registers a new user into the system by validating the provided registration details.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "User registered successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> register(@Validated @RequestBody RegisterRequest request) {
|
||||
|
||||
return ResponseEntity.ok(authService.registerUser(request));
|
||||
}
|
||||
|
||||
@PostMapping("/loginWithoutDecryption")
|
||||
@Operation(summary = "Login without decryption (Testing Only)", description = "This API is used only for testing purposes. It authenticates the user without decrypting the credentials, typically used when token generation fails or decryption flow is not enabled.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "User authenticated successfully (Testing Only)", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> login(@RequestBody LoginRequest loginRequest) {
|
||||
|
||||
return ResponseEntity.ok(authService.authenticateUser(loginRequest));
|
||||
|
||||
@@ -16,10 +16,16 @@ import com.billpaymentservice.bbps.dto.request.AllMasterOptionsRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplainStatusRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplaintRequestDTO;
|
||||
import com.billpaymentservice.bbps.dto.request.GetTicketLatestStausRequest;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.request.ViewAllComplaintsRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ViewAllComplaintsTicketsRequest;
|
||||
import com.billpaymentservice.bbps.service.ComplainService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/complaints")
|
||||
@@ -31,19 +37,26 @@ public class ComplainController {
|
||||
|
||||
private final ComplainService complainService;
|
||||
|
||||
// ✅ Constructor name fixed and variable consistent
|
||||
public ComplainController(ComplainService complainService) {
|
||||
this.complainService = complainService;
|
||||
}
|
||||
|
||||
@PostMapping(value = "/addComplainTicket", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/addComplainTicket")
|
||||
@Operation(summary = "Add complaint ticket", description = "This API creates a new complaint ticket based on the provided request details.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint ticket created successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> addComplain(@Validated @RequestBody ComplaintRequestDTO complainRequestDTO) {
|
||||
|
||||
ResponseModel response = complainService.addComplain(complainRequestDTO);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/checkTicketStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/checkTicketStatus")
|
||||
@Operation(summary = "Fetch latest complaint ticket status", description = "This API retrieves the latest status of a complaint ticket based on the provided ticket ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint ticket status fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getComplaintStatus(
|
||||
@Validated @RequestBody GetTicketLatestStausRequest request) {
|
||||
log.info("Received complaint status request for complaintId: {}", request.getTicketId());
|
||||
@@ -51,7 +64,11 @@ public class ComplainController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/viewComplainsTicketHistory", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/viewComplainsTicketHistory")
|
||||
@Operation(summary = "View complaint ticket history", description = "This API retrieves the full complaint history for the provided ticket ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint ticket history fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> viewComplaintHistory(@Validated @RequestBody ComplainStatusRequest request) {
|
||||
log.info("Received complaint View Complaint History request for ticketId: {}", request.getTicketId());
|
||||
ResponseModel response = complainService.viewComplaintHistory(request);
|
||||
@@ -59,6 +76,10 @@ public class ComplainController {
|
||||
}
|
||||
|
||||
@PostMapping("/viewTicketById")
|
||||
@Operation(summary = "View complaint details by ID", description = "This API retrieves the complaint details for the given complaint ticket ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Complaint details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> viewComplaintById(@Validated @RequestBody ComplainStatusRequest request) {
|
||||
log.info("Received complaint View Complaint By ID request for complaintId: {}", request.getTicketId());
|
||||
ResponseModel response = complainService.viewComplaintById(request);
|
||||
@@ -66,19 +87,33 @@ public class ComplainController {
|
||||
}
|
||||
|
||||
@PostMapping("/allMasterOptions")
|
||||
@Operation(summary = "Fetch all master options by ID", description = "This API retrieves all master option values based on the provided ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Master options fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getAllStatuses(@Validated @RequestBody AllMasterOptionsRequest request) {
|
||||
return ResponseEntity.ok(complainService.getAllActiveStatuses(request));
|
||||
}
|
||||
|
||||
@PostMapping("/viewAllComplaints")
|
||||
public ResponseEntity<ResponseModel> viewAllComplaints(@RequestBody ViewAllComplaintsTicketsRequest request) {
|
||||
@Operation(summary = "View all complaints by status type", description = "This API retrieves all complaints filtered by the provided status type.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "All complaints fetched successfully based on status type", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> viewAllComplaints(
|
||||
@Validated @RequestBody ViewAllComplaintsTicketsRequest request) {
|
||||
log.info("Received request complaint View All Complaints for Status Type={}", request.getStatusType());
|
||||
ResponseModel response = complainService.ViewAllComplaints(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/viewAllComplaintsByUserId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<ResponseModel> viewAllComplaintsByUserId(@Validated @RequestBody AllMasterOptionsRequest request) {
|
||||
@PostMapping(value = "/viewAllComplaintsByUserId")
|
||||
@Operation(summary = "View all complaints by user ID", description = "This API retrieves all complaint tickets associated with the provided user ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "All complaints fetched successfully by user ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> viewAllComplaintsByUserId(
|
||||
@Validated @RequestBody AllMasterOptionsRequest request) {
|
||||
ResponseModel response = complainService.viewAllComplaintsByUserId(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@@ -16,13 +16,18 @@ import com.billpaymentservice.bbps.dto.request.BillerDetailRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ContactMasterRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.CustomParamRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.DispositionRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.LoginRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.MasterCategoryRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.MasterRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.PlanRequest;
|
||||
import com.billpaymentservice.bbps.dto.response.AuthResponses;
|
||||
import com.billpaymentservice.bbps.service.MasterDataService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
@RequestMapping("/masterData")
|
||||
@@ -39,8 +44,12 @@ public class MasterDataController {
|
||||
this.masterDataService = masterDataService;
|
||||
}
|
||||
|
||||
/** Get Details of the biller by billId **/
|
||||
@PostMapping(value = "/getBillerDetails", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/getBillerDetails")
|
||||
@Operation(summary = "Fetch biller details", description = "Get biller details by biller id and returns the result")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Biller details fetch successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getBillerDetails(@Valid @RequestBody BillerDetailRequest billerDetailRequest) {
|
||||
|
||||
log.info("Received biller details request for billerId: {}", billerDetailRequest.getBillerId());
|
||||
@@ -48,32 +57,41 @@ public class MasterDataController {
|
||||
return ResponseEntity.ok(masterDataService.getBillerByBillerId(billerDetailRequest));
|
||||
}
|
||||
|
||||
/** Get Master Contact **/
|
||||
@PostMapping(value = "/getContactMasterResponse", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/getContactMasterResponse")
|
||||
@Operation(summary = "Fetch contact master data", description = "Fetch contact master and returns the response")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Fetch contact master response fetch successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getContactMaster(
|
||||
@Validated @RequestBody ContactMasterRequest contactMasterRequest) {
|
||||
|
||||
return ResponseEntity.ok(masterDataService.getContactMaster(contactMasterRequest));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/getDispostionDetail", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/getDispostionDetail")
|
||||
@Operation(summary = "Fetch disposition details", description = "Fetch disposition details for a given ticket and return the response")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Disposition details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
public ResponseEntity<ResponseModel> getDispostionDetail(
|
||||
@Validated @RequestBody DispositionRequest dispositionDetailRequest) {
|
||||
return ResponseEntity.ok(masterDataService.getDispositionDetails(dispositionDetailRequest));
|
||||
}
|
||||
|
||||
@PostMapping(value = "/getTicketDispositions", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/getTicketDispositions")
|
||||
@Operation(summary = "Fetch ticket disposition details", description = "Fetch ticket disposition details for a given ticket and return the response")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Ticket disposition details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
public ResponseEntity<ResponseModel> getTicketDispositions(
|
||||
@Validated @RequestBody DispositionRequest dispositionDetailRequest) {
|
||||
return ResponseEntity.ok(masterDataService.getTicketDispositions(dispositionDetailRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get CustomerParam by billerId.The parameter is different from the data we are
|
||||
* getting in the billerDetail
|
||||
**/
|
||||
|
||||
@PostMapping(value = "/getCustomerParamDetails", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/getCustomerParamDetails")
|
||||
@Operation(summary = "Fetch customer parameter details by biller ID", description = "API fetches the customer parameter configuration based on the provided biller ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Customer parameter details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getCustomerParamDetails(
|
||||
@Validated @RequestBody CustomParamRequest customerParamRequest) {
|
||||
|
||||
@@ -82,68 +100,68 @@ public class MasterDataController {
|
||||
return ResponseEntity.ok(masterDataService.getCustomerParamByBillerId(customerParamRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get All Master Data .The parameter is different from the data we are getting
|
||||
* Made By Arham in the MasterRequest
|
||||
**/
|
||||
@PostMapping("/getAllMastersData")
|
||||
@Operation(summary = "Fetch all master data", description = "API retrieves all the master data based on the provided .")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Master data fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseModel fetchMasterData(@Validated @RequestBody MasterRequest masterRequest) {
|
||||
return masterDataService.getMasterData(masterRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* POST Master CategoryResponseList Wise API Fetch CategoryResponseList Wise
|
||||
* from BBPS URL Made By Arham
|
||||
**/
|
||||
@PostMapping(value = "/getMasterCategoryWise", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/getMasterCategoryWise")
|
||||
@Operation(summary = "Fetch master data category-wise", description = "API retrieves master data based on the selected category.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Category-wise master data fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getMasterDataCategoryWise(
|
||||
@Valid @RequestBody MasterCategoryRequest masterRequest) {
|
||||
return ResponseEntity.ok(masterDataService.fetchMasterDataCategoryWise(masterRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* POST Customer Param Groups API Fetch CategoryResponseList Wise from BBPS URL
|
||||
* Made By Arham
|
||||
**/
|
||||
@PostMapping(value = "/customerParamGroupsByBillerId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/customerParamGroupsByBillerId")
|
||||
@Operation(summary = "Fetch customer parameter groups by biller ID", description = "API retrieves all customer parameter groups configured for the specified biller ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Customer parameter groups fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getCustomerParamGroup(
|
||||
@Validated @RequestBody BillerDetailRequest requestModel) {
|
||||
return ResponseEntity.ok(masterDataService.fetchCustomerParamGroup(requestModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* POST Fetch All AMount Options By Biller Id API Fetch CategoryResponseList
|
||||
* Wise from BBPS URL Made By Arham
|
||||
**/
|
||||
@PostMapping(value = "/fetchAmountOptionsByBillerId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/fetchAmountOptionsByBillerId")
|
||||
@Operation(summary = "Fetch all master amount options by biller ID", description = "API retrieves all the master amount options configured for the given biller ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Master amount options fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> fetchAllMasterAmountOptionsByBillerId(
|
||||
@Validated @RequestBody BillerDetailRequest requestModel) {
|
||||
return ResponseEntity.ok(masterDataService.fetchAllMasterAmountOption(requestModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* POST Fetch All AMount Options By Biller Id API Fetch CategoryResponseList
|
||||
* Wise from BBPS URL Made By Arham
|
||||
**/
|
||||
@PostMapping(value = "/fetchAllPlanCategoriesByBillerId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/fetchAllPlanCategoriesByBillerId")
|
||||
@Operation(summary = "Fetch plan categories by biller ID", description = "API retrieves all plan categories available for the specified biller ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Plan categories fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> fetchPlanCategories(@Validated @RequestBody BillerDetailRequest requestModel) {
|
||||
return ResponseEntity.ok(masterDataService.fetchPlanCategorie(requestModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* POST Fetch Initiating Channel API Fetch CategoryResponseList Wise from BBPS
|
||||
* URL Made By Arham
|
||||
**/
|
||||
@PostMapping(value = "/initiatingChannel", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/initiatingChannel")
|
||||
@Operation(summary = "Fetch initiating channel details by biller ID", description = "API retrieves initiating channel information configured for the specified biller ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Initiating channel details fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> initiatingChannel(@Validated @RequestBody BillerDetailRequest requestModel) {
|
||||
return ResponseEntity.ok(masterDataService.fetchInitiatingChannel(requestModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* POST Fetch All AMount Options By Biller Id API Fetch CategoryResponseList
|
||||
* Wise from BBPS Made By Arham URL
|
||||
**/
|
||||
@PostMapping(value = "/fetchPlanByCategoryName", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/fetchPlanByCategoryName")
|
||||
@Operation(summary = "Fetch plans by category name", description = "API retrieves all available plans for the specified category name.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Plans fetched successfully based on category name", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> fetchPlanByCategory(@Validated @RequestBody PlanRequest requestModel) {
|
||||
return ResponseEntity.ok(masterDataService.fetchPlanByCategories(requestModel));
|
||||
}
|
||||
|
||||
@@ -12,10 +12,16 @@ import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.request.BillPaymentRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.TransactionStatusRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.TrasactionStatusByClientReqIdRequest;
|
||||
import com.billpaymentservice.bbps.dto.response.TransactionStatusResponse;
|
||||
import com.billpaymentservice.bbps.service.PaymentService;
|
||||
import com.billpaymentservice.bbps.service.PaymentStartService;
|
||||
import com.billpaymentservice.bbps.dto.request.PaymentStartUserRequest;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/agent/payment")
|
||||
@@ -28,21 +34,27 @@ public class PaymentController {
|
||||
private final PaymentService paymentService;
|
||||
private final PaymentStartService paymentStartService;
|
||||
|
||||
// New constructor used by Spring to inject both services
|
||||
public PaymentController(PaymentService paymentService, PaymentStartService paymentStartService) {
|
||||
this.paymentService = paymentService;
|
||||
this.paymentStartService = paymentStartService;
|
||||
}
|
||||
|
||||
@PostMapping(value = "/intiatePayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/intiatePayment")
|
||||
@Operation(summary = "Initiate payment request", description = "This API initiates the payment process for the provided bill payment request.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment initiated successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> requestBillFetch(
|
||||
@Validated @RequestBody BillPaymentRequest billPaymentRequest) {
|
||||
|
||||
@RequestBody BillPaymentRequest billPaymentRequest) {
|
||||
ResponseModel response = paymentService.initiatePayment(billPaymentRequest);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/checkTransactionStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/checkTransactionStatus")
|
||||
@Operation(summary = "Check transaction status", description = "This API checks the current status of a bill payment transaction using transactionId or clientReqId.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Transaction status fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> checkTransactionStatus(
|
||||
@Validated @RequestBody TransactionStatusRequest transactionStatusRequest) {
|
||||
|
||||
@@ -50,7 +62,11 @@ public class PaymentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/checkTransactionStatusByClientReqId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/checkTransactionStatusByClientReqId")
|
||||
@Operation(summary = "Check transaction status by client request ID", description = "This API checks the payment transaction status using the client-generated request ID (clientReqId).")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Transaction status fetched successfully using clientReqId", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> checkTransactionStatusByClientReqId(
|
||||
@Validated @RequestBody TrasactionStatusByClientReqIdRequest transactionStatusRequest) {
|
||||
|
||||
@@ -58,8 +74,4 @@ public class PaymentController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.billpaymentservice.bbps.controller;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.request.PollBackRequest;
|
||||
import com.billpaymentservice.bbps.service.PollBackService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
|
||||
@RequestMapping("/payment")
|
||||
@RestController
|
||||
public class PaymentPollBackController {
|
||||
|
||||
private final PollBackService pollBackService;
|
||||
|
||||
public PaymentPollBackController(PollBackService pollBackService) {
|
||||
this.pollBackService = pollBackService;
|
||||
}
|
||||
|
||||
@PostMapping(value = "/pollback")
|
||||
@Operation(summary = "Process poll-back request", description = "This API handles the poll-back request from biller.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Poll Back processed successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> startIntentPayment(@Validated @RequestBody PollBackRequest pollBackRequest) {
|
||||
ResponseModel response = pollBackService.managePollBack(pollBackRequest);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
@@ -12,9 +12,17 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.request.PaymentStartUserRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.CallbackRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.PaymentStartUserRequest;
|
||||
import com.billpaymentservice.bbps.service.PaymentStartService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/payment")
|
||||
@@ -25,14 +33,23 @@ public class PaymentStartController {
|
||||
this.paymentStartService = paymentStartService;
|
||||
}
|
||||
|
||||
@PostMapping(value = "/startWebPayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<ResponseModel> startWebPayment(@Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) {
|
||||
@PostMapping(value = "/startWebPayment")
|
||||
@Operation(summary = "Start web payment process", description = "This API initiates the payment process for a web-based transaction using user and bill details.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment process started successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> startWebPayment(
|
||||
@Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) {
|
||||
|
||||
ResponseModel response = paymentStartService.startWebPayment(paymentStartUserRequest);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/callback/startPayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/callback/startPayment")
|
||||
@Operation(summary = "Handle start payment callback", description = "This callback API is invoked by the payment gateway/BBPS to confirm the payment initiation status.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Start Payment Callback handled successfully", content = @Content(mediaType = "application/json")) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<Map<String, String>> handleCallback(@RequestBody CallbackRequest callbackRequest) {
|
||||
ResponseModel resp = paymentStartService.handleStartCallback(callbackRequest);
|
||||
Map<String, String> result = new HashMap<>();
|
||||
@@ -41,12 +58,15 @@ public class PaymentStartController {
|
||||
return ResponseEntity.ok(result);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/startIntentPayment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<ResponseModel> startIntentPayment(@Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) {
|
||||
if (this.paymentStartService == null) {
|
||||
// Defensive: if bean not injected, return failure
|
||||
return ResponseEntity.badRequest().body(new ResponseModel("PaymentStartService not available", "FAILED", 400, null));
|
||||
}
|
||||
@PostMapping(value = "/startIntentPayment")
|
||||
@Operation(summary = "Start intent payment process", description = "This API initiates the intent-based payment process for a user.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Intent payment started successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))), })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> startIntentPayment(
|
||||
@Validated @RequestBody PaymentStartUserRequest paymentStartUserRequest) {
|
||||
ResponseEntity.badRequest().body(new ResponseModel("PaymentStartService not available", "FAILED", 400, null));
|
||||
|
||||
ResponseModel response = paymentStartService.startIntentPayment(paymentStartUserRequest);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,14 @@ import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.request.PaymentHistoryByTxnRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.PaymentHistoryRequest;
|
||||
import com.billpaymentservice.bbps.service.TxnHistoryService;
|
||||
import com.billpaymentservice.bbps.util.ApiDocCommonResponses;
|
||||
import com.billpaymentservice.bbps.util.BBPSConstant;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@RestController
|
||||
@@ -29,7 +36,11 @@ public class TxnHistoryController {
|
||||
|
||||
}
|
||||
|
||||
@PostMapping(value = "/paymentHistoryDetails", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/paymentHistoryDetails")
|
||||
@Operation(summary = "Get payment history details", description = "This API retrieves the payment history for a user based.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment history fetched successfully", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getPaymentHistory(
|
||||
@Validated @RequestBody PaymentHistoryRequest paymentHistoryRequest) {
|
||||
|
||||
@@ -37,7 +48,11 @@ public class TxnHistoryController {
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@PostMapping(value = "/paymentHistoryByTxnId", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@PostMapping(value = "/paymentHistoryByTxnId")
|
||||
@Operation(summary = "Get payment history by transaction ID", description = "This API retrieves the payment details for a specific transaction using the provided transaction ID.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = BBPSConstant.OK_STR, description = "Payment history fetched successfully by transaction ID", content = @Content(mediaType = "application/json", schema = @Schema(implementation = ResponseModel.class))) })
|
||||
@ApiDocCommonResponses
|
||||
public ResponseEntity<ResponseModel> getPaymentHistoryByTxnId(
|
||||
@Validated @RequestBody PaymentHistoryByTxnRequest request) {
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ComplaintResponseDto {
|
||||
|
||||
private String ticketId;
|
||||
private String ticketType;
|
||||
private String txnNpciId;
|
||||
private String status;
|
||||
private String userId;
|
||||
private String ticketDesp;
|
||||
private String ticketDesr;
|
||||
|
||||
private List<ComplaintStatusDto> complaintStatusList;
|
||||
private List<ComplaintHistoryDTO> historyList;
|
||||
private List<ComplaintStatusDetailsDto> statusDetailsList;
|
||||
private List<ViewAllComplaintDto> viewAllList;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ComplaintStatusDetailsDto {
|
||||
|
||||
private String ticketStatus;
|
||||
private String ticketType;
|
||||
private String txnAmount;
|
||||
private String billerName;
|
||||
private String ticketId;
|
||||
private String totalTxnAmount;
|
||||
private String billCategory;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ComplaintStatusDto {
|
||||
|
||||
private String ticketId;
|
||||
private String npciTicketStatus;
|
||||
private String ticketDespo;
|
||||
private String createdTime;
|
||||
private String npciTicketType;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class PaymentPollBackResponse {
|
||||
private String txnId;
|
||||
private String orderId;
|
||||
private String txnStatus;
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -10,6 +11,7 @@ import lombok.Setter;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Tag {
|
||||
|
||||
private String name;
|
||||
private String value;
|
||||
}
|
||||
|
||||
@@ -66,9 +66,12 @@ public class TransactionDTO {
|
||||
private String planType;
|
||||
|
||||
// ✅ Date fields as String (for JSON compatibility)
|
||||
private String creationDate;
|
||||
private String modifiedDate;
|
||||
|
||||
private Long createdEpochDate;
|
||||
private Long modifiedEpochDate;
|
||||
@JsonProperty("creationDate")
|
||||
private String creationDateBank;
|
||||
@JsonProperty("modifiedDate")
|
||||
private String modifiedDateBank;
|
||||
@JsonProperty("createdEpochDate")
|
||||
private Long createdEpochDateBank;
|
||||
@JsonProperty("modifiedEpochDate")
|
||||
private Long modifiedEpochDateBank;
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ public class TransactionHistoryMasterDTO {
|
||||
private String billId;
|
||||
private String userType;
|
||||
private String userId;
|
||||
private Double txnAmount;
|
||||
private Double totalTxnAmount;
|
||||
private String txnAmount;
|
||||
private String totalTxnAmount;
|
||||
private String billerId;
|
||||
private String billerCategory;
|
||||
private String billerName;
|
||||
@@ -33,15 +33,15 @@ public class TransactionHistoryMasterDTO {
|
||||
private String quickPay;
|
||||
private String paymentMode;
|
||||
private String agentPaymentInformation;
|
||||
private Double custConvFee;
|
||||
private String 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 splitPayAmount;
|
||||
private String couCustConvFee;
|
||||
private String settlementVerification;
|
||||
private String fundTxnType;
|
||||
private String reason;
|
||||
private String amountTags;
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ public class TransactionHistoryParticularDetailsDTO {
|
||||
|
||||
private String billerName;
|
||||
|
||||
private Double totalTxnAmount;
|
||||
private String totalTxnAmount;
|
||||
|
||||
private String bankTxnId;
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ViewAllComplaintDto {
|
||||
|
||||
private String ticketStatus;
|
||||
private String txnAmount;
|
||||
private String billerName;
|
||||
private String ticketId;
|
||||
private String txnNpciId;
|
||||
private String ticketType;
|
||||
private String createdTime;
|
||||
private String billCategory;
|
||||
private String totalTxnAmount;
|
||||
|
||||
}
|
||||
@@ -16,15 +16,16 @@ public class AuthResponse {
|
||||
private boolean success;
|
||||
private String message;
|
||||
private boolean userExists;
|
||||
private UserDto user;
|
||||
private Object user;
|
||||
private String token;
|
||||
|
||||
public AuthResponse(boolean success, String message, boolean userExists, UserDto user) {
|
||||
public AuthResponse(boolean success, String message, String token, Object user) {
|
||||
this.success = success;
|
||||
this.message = message;
|
||||
this.userExists = userExists;
|
||||
this.token = token;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public AuthResponse(boolean success, String message, String token) {
|
||||
this.success = success;
|
||||
this.message = message;
|
||||
|
||||
@@ -1,19 +1,24 @@
|
||||
package com.billpaymentservice.bbps.dto.auth;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoginRequest {
|
||||
|
||||
@NotNull(message = "Mobile number cannot be null.")
|
||||
@Size(min = 10, max = 10, message = "Mobile number must be exactly 10 digits.")
|
||||
@Pattern(regexp = "^[0-9]{10}$", message = "Mobile number must contain only digits.")
|
||||
private String mobile;
|
||||
|
||||
public LoginRequest() {}
|
||||
|
||||
public LoginRequest(String mobile) {
|
||||
this.mobile = mobile;
|
||||
}
|
||||
|
||||
public String getMobile() {
|
||||
return mobile;
|
||||
}
|
||||
|
||||
public void setMobile(String mobile) {
|
||||
this.mobile = mobile;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,17 @@
|
||||
package com.billpaymentservice.bbps.dto.auth;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OtpSendResponse {
|
||||
private boolean success;
|
||||
private String message;
|
||||
|
||||
public OtpSendResponse() {}
|
||||
|
||||
public OtpSendResponse(boolean success, String message) {
|
||||
this.success = success;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public boolean isSuccess() {
|
||||
return success;
|
||||
}
|
||||
|
||||
public void setSuccess(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,15 +2,35 @@ package com.billpaymentservice.bbps.dto.auth;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.request.BaseClass;
|
||||
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RegisterRequest extends BaseClass {
|
||||
|
||||
@NotNull(message = "Mobile number cannot be null.")
|
||||
@Size(min = 10, max = 10, message = "Mobile number must be exactly 10 digits.")
|
||||
@Pattern(regexp = "^[0-9]{10}$", message = "Mobile number must contain only 10 digits.")
|
||||
private String mobile;
|
||||
|
||||
@NotNull(message = "Name cannot be null.")
|
||||
@Size(min = 2, max = 100, message = "Name must be between 2 and 100 characters.")
|
||||
private String name;
|
||||
|
||||
@NotNull(message = "Email cannot be null.")
|
||||
@Email(message = "Email must be a valid email address.")
|
||||
private String email;
|
||||
|
||||
@NotNull(message = "Registration token cannot be null.")
|
||||
private String registrationToken;
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import lombok.Setter;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserDto {
|
||||
private Long id;
|
||||
private String userId;
|
||||
private String mobile;
|
||||
private String name;
|
||||
private String email;
|
||||
|
||||
@@ -1,30 +1,28 @@
|
||||
package com.billpaymentservice.bbps.dto.auth;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class VerifyOtpRequest {
|
||||
|
||||
@NotNull(message = "Mobile number cannot be null.")
|
||||
@Size(min = 10, max = 10, message = "Mobile number must be exactly 10 digits.")
|
||||
@Pattern(regexp = "^[0-9]{10}$", message = "Mobile number must contain only digits.")
|
||||
private String mobile;
|
||||
|
||||
@NotNull(message = "OTP cannot be null.")
|
||||
@Size(min = 6, max = 6, message = "OTP must be exactly 6 digits.")
|
||||
@Pattern(regexp = "^[0-9]{6}$", message = "OTP must contain only 6 digits.")
|
||||
private String otp;
|
||||
|
||||
public VerifyOtpRequest() {
|
||||
}
|
||||
|
||||
public VerifyOtpRequest(String mobile, String otp) {
|
||||
this.mobile = mobile;
|
||||
this.otp = otp;
|
||||
}
|
||||
|
||||
public String getMobile() {
|
||||
return mobile;
|
||||
}
|
||||
|
||||
public void setMobile(String mobile) {
|
||||
this.mobile = mobile;
|
||||
}
|
||||
|
||||
public String getOtp() {
|
||||
return otp;
|
||||
}
|
||||
|
||||
public void setOtp(String otp) {
|
||||
this.otp = otp;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -7,4 +9,10 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class AllMasterOptionsRequest extends BaseClass {
|
||||
|
||||
private Integer pageNo = 0;
|
||||
|
||||
@NotNull(message = "pageEnd is required")
|
||||
@Min(value = 1, message = "pageEnd must be greater than 0")
|
||||
private Integer pageSize;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -12,7 +12,7 @@ import lombok.Setter;
|
||||
@NoArgsConstructor
|
||||
public class BillFetchByBillIdRequest extends BaseClass {
|
||||
|
||||
@NotNull
|
||||
@NotBlank(message = "bill id not be null")
|
||||
private String billId;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -8,25 +11,37 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class BillPaymentRequest extends BaseClass {
|
||||
|
||||
private String tenantId;
|
||||
private String refId;
|
||||
|
||||
private String billId;
|
||||
private boolean amountOptions;
|
||||
|
||||
// Change the field to Boolean (wrapper) type to allow @NotNull validation
|
||||
private boolean amountOptions; // Changed to Boolean (wrapper type)
|
||||
|
||||
private String paymentMode;
|
||||
|
||||
private String paymentInformation;
|
||||
|
||||
private String billerId;
|
||||
|
||||
private String billerName;
|
||||
|
||||
private String billerCategory;
|
||||
|
||||
private String macAdress;
|
||||
|
||||
private String customerMobNo;
|
||||
private Integer txnAmount;
|
||||
|
||||
private Integer txnAmount; // Changed to @NotNull as it's an Integer (non-nullable)
|
||||
|
||||
private String paymentRefId;
|
||||
|
||||
private String clientReqId;
|
||||
|
||||
private String paymentChannel;
|
||||
|
||||
private List<DeviceBlockTagRequest> deviceBlockTags;
|
||||
private List<CustomerParamTagRequest> customerParamsRequest;
|
||||
private List<CustomerParamTagRequest> customerParams;
|
||||
private List<RemitterIdentityRequest> remitterIdentity;
|
||||
private List<AmountBreakRequest> amountBreakSet;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -10,7 +11,7 @@ import lombok.ToString;
|
||||
@ToString(callSuper = true)
|
||||
public class BillerDetailRequest extends BaseClass{
|
||||
|
||||
@NotNull
|
||||
@NotBlank(message = "biller id not be null")
|
||||
private String billerId;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
public class CallbackRequest {
|
||||
@NotBlank(message = "mid is mandatory")
|
||||
private String mid;
|
||||
@NotBlank(message = "data is mandatory")
|
||||
private String data;
|
||||
@NotBlank(message = "signature is mandatory")
|
||||
private String signature;
|
||||
|
||||
public String getMid() {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -7,9 +9,16 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class ComplaintRequestDTO extends BaseClass {
|
||||
|
||||
private String ticketDescription; // Complaint description that the user enters
|
||||
private String ticketDisposition; // Complaint disposition
|
||||
private String ticketDispositionCode; // Type of complaint
|
||||
private String txnId; // Transaction ID (optional)
|
||||
@NotBlank(message = "Ticket description cannot be null.")
|
||||
private String ticketDescription;
|
||||
|
||||
@NotBlank(message = "Ticket disposition cannot be null.")
|
||||
private String ticketDisposition;
|
||||
|
||||
@NotBlank(message = "Ticket disposition code cannot be null.")
|
||||
private String ticketDispositionCode;
|
||||
|
||||
@NotBlank(message = "Transaction ID cannot be null.")
|
||||
private String txnId;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -14,6 +14,6 @@ import lombok.ToString;
|
||||
@ToString
|
||||
public class CustomParamRequest extends BaseClass {
|
||||
|
||||
@NotNull
|
||||
@NotBlank(message = "biller id not be null")
|
||||
private String billerId;
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@ import com.billpaymentservice.bbps.dto.CustomerParamsRequest;
|
||||
import com.billpaymentservice.bbps.dto.RemitterIdentity;
|
||||
import com.billpaymentservice.bbps.dto.Tag;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@@ -18,19 +20,29 @@ import lombok.ToString;
|
||||
@ToString
|
||||
public class FetchBillRequest extends BaseClass {
|
||||
|
||||
// private String tenantId; // M
|
||||
private String billerId; // M
|
||||
private String billerName; //M
|
||||
// private String digiledgeKey; // M
|
||||
// private String agentId; // M
|
||||
private String billerCategory; // M
|
||||
private String clientReqId; // C
|
||||
private String macAdress; // C
|
||||
private String customerMobNo; // M
|
||||
private String remitterName; // O
|
||||
private String paymentChannel; // M
|
||||
private List<Tag> deviceBlockTags; // M
|
||||
private CustomerParamsRequest customerParamsRequest; // M
|
||||
private List<RemitterIdentity> remitterIdentity; // O
|
||||
@NotBlank(message = "biller id not be null")
|
||||
private String billerId;
|
||||
|
||||
@NotBlank(message = "biller name not be null")
|
||||
private String billerName;
|
||||
|
||||
@NotBlank(message = "biller category not be null")
|
||||
private String billerCategory;
|
||||
|
||||
private String clientReqId;
|
||||
private String macAdress;
|
||||
|
||||
@NotBlank(message = "customer mob no not be null")
|
||||
private String customerMobNo;
|
||||
|
||||
private String remitterName;
|
||||
|
||||
@NotBlank(message = "payment channel not be null")
|
||||
private String paymentChannel;
|
||||
|
||||
private List<Tag> deviceBlockTags;
|
||||
|
||||
private CustomerParamsRequest customerParamsRequest;
|
||||
private List<RemitterIdentity> remitterIdentity;
|
||||
|
||||
}
|
||||
|
||||
+11
-10
@@ -2,6 +2,7 @@ package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.CustomerParamsRequest;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@@ -14,18 +15,18 @@ import lombok.Setter;
|
||||
@NoArgsConstructor
|
||||
public class FetchBillValidatestRequest extends BaseClass {
|
||||
|
||||
@NotNull
|
||||
private String billerId; // Alphanumeric, Unique ID assigned by NPCI
|
||||
@NotNull
|
||||
private String billerName; // String, Name of the biller
|
||||
@NotNull
|
||||
private String billerCategory; // String, CategoryResponseList of the biller
|
||||
@NotNull
|
||||
private String customerMobNo; // String, Mobile of the Customer
|
||||
@NotBlank(message = "biller id not be null")
|
||||
private String billerId;
|
||||
@NotBlank(message = "biller name not be null")
|
||||
private String billerName;
|
||||
@NotBlank(message = "biller category not be null")
|
||||
private String billerCategory;
|
||||
@NotBlank(message = "biller mob no not be null")
|
||||
private String customerMobNo;
|
||||
private String clientReqId;
|
||||
|
||||
// Optional Fields
|
||||
private String macAddress; // Alphanumeric MAC Address of the Agent Server
|
||||
//private String clientReqId; // String, Unique id provided by the client
|
||||
private String macAddress;
|
||||
// private String clientReqId;
|
||||
private CustomerParamsRequest customerParamsRequest; // Customer parameters for identifying the bill
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@@ -15,7 +16,7 @@ public class MasterCategoryRequest extends BaseClass {
|
||||
|
||||
private String billerName;
|
||||
|
||||
@NotNull
|
||||
@NotBlank(message = "category name not be null")
|
||||
private String category;
|
||||
|
||||
private Integer pageNo = 0;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -7,4 +9,10 @@ import lombok.Setter;
|
||||
@Setter
|
||||
public class PaymentHistoryRequest extends BaseClass {
|
||||
|
||||
private Integer pageNo = 0;
|
||||
|
||||
@NotNull(message = "pageEnd is required")
|
||||
@Min(value = 1, message = "pageEnd must be greater than 0")
|
||||
private Integer pageSize;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -13,13 +14,20 @@ import lombok.Setter;
|
||||
@AllArgsConstructor
|
||||
// DTO representing the user request payload described by the user
|
||||
public class PaymentStartUserRequest extends BaseClass implements Serializable {
|
||||
@NotBlank(message = "amount can not be null")
|
||||
private String amount;
|
||||
private String currency;
|
||||
private String emailId;
|
||||
@NotBlank(message = "currency can not be null")
|
||||
String currency;
|
||||
@NotBlank(message = "customerVpa can not be null")
|
||||
private String customerVpa;
|
||||
private String mobileNo;
|
||||
private String respUrl;
|
||||
@NotBlank(message = "txnReqType can not be null")
|
||||
private String txnReqType;
|
||||
@NotBlank(message = "udf1(Latitude) can not be null")
|
||||
private String udf1;
|
||||
@NotBlank(message = "udf2(Longitude) can not be null")
|
||||
private String udf2;
|
||||
private String emailId;
|
||||
private String mobileNo;
|
||||
private String name;
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -26,8 +28,9 @@ public class PlanRequest extends BaseClass {
|
||||
|
||||
private String circle;
|
||||
|
||||
// ✅ Optional pagination parameters
|
||||
private Integer page;
|
||||
private Integer page = 0;
|
||||
|
||||
@NotNull(message = "pageEnd is required")
|
||||
@Min(value = 1, message = "pageEnd must be greater than 0")
|
||||
private Integer pagesize;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class PollBackRequest extends BaseClass {
|
||||
|
||||
@NotBlank(message = "order Id not be null")
|
||||
private String orderId;
|
||||
}
|
||||
+5
-2
@@ -1,5 +1,6 @@
|
||||
package com.billpaymentservice.bbps.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -8,8 +9,10 @@ import lombok.Setter;
|
||||
public class ViewAllComplaintsTicketsRequest extends BaseClass {
|
||||
|
||||
private String statusType; // e.g. COMPLAINT_OPEN_SUCCESS
|
||||
private Integer pageNo; // default 0
|
||||
private Integer pageSize; // default 10
|
||||
@Min(value = 0, message = "Page number must be a non-negative integer.")
|
||||
private Integer pageNo;
|
||||
@Min(value = 1, message = "Page size must be at least 1.")
|
||||
private Integer pageSize;
|
||||
private String ticketType; // default 10
|
||||
|
||||
}
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.billpaymentservice.bbps.dto.response;
|
||||
|
||||
import com.billpaymentservice.bbps.entites.PaymentStartRecord;
|
||||
import com.billpaymentservice.bbps.entites.TransactionMaster;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PaymentStartWithTransactionDto {
|
||||
private PaymentStartRecord paymentStartRecord;
|
||||
private TransactionMaster transactionMaster;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.billpaymentservice.bbps.dto.response;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.TicketDetailsDTO;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -9,9 +10,13 @@ public class TicketCheckStatusResponse {
|
||||
|
||||
private String refId;
|
||||
private TicketDetailsDTO ticketDetails;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String message;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String remarks;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String status;
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String statusCode;
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ import lombok.ToString;
|
||||
@Setter
|
||||
@Entity
|
||||
@ToString
|
||||
@Table(name = "additional_info")
|
||||
@Table(name = "bbps_additional_info")
|
||||
public class AdditionalInfo {
|
||||
|
||||
@Id
|
||||
@@ -26,11 +26,9 @@ public class AdditionalInfo {
|
||||
private Long id; // primary key for the table
|
||||
|
||||
@Column(name = "param_config_id", nullable = false)
|
||||
@NotBlank(message = "Param Config ID cannot be blank")
|
||||
private String paramConfigId;
|
||||
|
||||
@Column(name = "param_name", nullable = false)
|
||||
@NotBlank(message = "Param name cannot be blank")
|
||||
private String paramName;
|
||||
|
||||
@Column(name = "data_type_dao")
|
||||
|
||||
@@ -12,10 +12,10 @@ import lombok.Setter;
|
||||
|
||||
|
||||
@Entity
|
||||
@Table(name = "additional_info_bill")
|
||||
@Table(name = "bbps_additional_info_bill")
|
||||
@Getter
|
||||
@Setter
|
||||
public class AdditionalInfoBill {
|
||||
public class AdditionalInfoBill extends Auditable {
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
@@ -11,10 +11,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "additional_info_bill_validate")
|
||||
@Table(name = "bbps_additional_info_bill_validate")
|
||||
@Getter
|
||||
@Setter
|
||||
public class AdditionalInfoBillValidate {
|
||||
public class AdditionalInfoBillValidate extends Auditable {
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
|
||||
@@ -16,10 +16,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "plan_additional_info")
|
||||
@Table(name = "bbps_plan_additional_info")
|
||||
@Getter
|
||||
@Setter
|
||||
public class AdditionalInfoPlans {
|
||||
public class AdditionalInfoPlans extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -10,12 +10,12 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "agent_fund_transfer_Txn_Status")
|
||||
@Table(name = "bbps_agent_fund_transfer_Txn_Status")
|
||||
@NoArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
public class AgentFundTransfer {
|
||||
public class AgentFundTransfer extends Auditable {
|
||||
|
||||
|
||||
@Id
|
||||
|
||||
@@ -13,8 +13,8 @@ import lombok.Setter;
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "agent_fund_transfer")
|
||||
public class AgentFundTransferEntity {
|
||||
@Table(name = "bbps_agent_fund_transfer")
|
||||
public class AgentFundTransferEntity extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -34,4 +34,3 @@ public class AgentFundTransferEntity {
|
||||
private String txnRefId;
|
||||
private String fundStatus;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "amount_option")
|
||||
@Table(name = "bbps_amount_option")
|
||||
@Getter
|
||||
@Setter
|
||||
public class AmountOption {
|
||||
public class AmountOption extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "amount_option_id")
|
||||
|
||||
@@ -2,8 +2,6 @@ package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
@@ -19,8 +17,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "amount_option_biller_id")
|
||||
public class AmountOptionByBillerId extends Auditable<String> {
|
||||
|
||||
@Table(name = "bbps_amount_option_biller_id")
|
||||
public class AmountOptionByBillerId extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -12,8 +12,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "amount_option_details")
|
||||
public class AmountOptionDetails {
|
||||
@Table(name = "bbps_amount_option_details")
|
||||
|
||||
public class AmountOptionDetails extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -35,4 +36,7 @@ public class AmountOptionDetails {
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.persistence.PrePersist;
|
||||
import jakarta.persistence.PreUpdate;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Date;
|
||||
|
||||
import jakarta.persistence.PrePersist;
|
||||
import jakarta.persistence.PreUpdate;
|
||||
|
||||
public class AuditListener {
|
||||
|
||||
@PrePersist
|
||||
public void prePersist(Object entity) {
|
||||
Date now = new Date(); // current date + time
|
||||
|
||||
// creation fields
|
||||
setIfNull(entity, "createDateTime", now);
|
||||
setIfNull(entity, "createdBy", null);
|
||||
setIfNull(entity, "createdEpochDate", now.getTime());
|
||||
|
||||
// default soft delete flag
|
||||
setAlways(entity, "isDeleted", Boolean.FALSE);
|
||||
}
|
||||
|
||||
@PreUpdate
|
||||
public void preUpdate(Object entity) {
|
||||
Date now = new Date();
|
||||
|
||||
// update fields
|
||||
setAlways(entity, "updatedDateTime", now);
|
||||
setIfNull(entity, "updatedBy", null);
|
||||
setAlways(entity, "modifiedEpochDate", now.getTime());
|
||||
}
|
||||
|
||||
private void setIfNull(Object entity, String fieldName, Object value) {
|
||||
try {
|
||||
Field f = findField(entity.getClass(), fieldName);
|
||||
if (f == null) return;
|
||||
|
||||
boolean accessible = f.canAccess(entity);
|
||||
f.setAccessible(true);
|
||||
|
||||
if (f.get(entity) == null) {
|
||||
f.set(entity, value);
|
||||
}
|
||||
|
||||
f.setAccessible(accessible);
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
private void setAlways(Object entity, String fieldName, Object value) {
|
||||
try {
|
||||
Field f = findField(entity.getClass(), fieldName);
|
||||
if (f == null) return;
|
||||
|
||||
boolean accessible = f.canAccess(entity);
|
||||
f.setAccessible(true);
|
||||
f.set(entity, value);
|
||||
f.setAccessible(accessible);
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
|
||||
private Field findField(Class<?> cls, String name) {
|
||||
Class<?> current = cls;
|
||||
while (current != null && current != Object.class) {
|
||||
try {
|
||||
return current.getDeclaredField(name);
|
||||
} catch (NoSuchFieldException e) {
|
||||
current = current.getSuperclass();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.EntityListeners;
|
||||
import jakarta.persistence.MappedSuperclass;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* Base mapped superclass for audit fields. All JPA entities should extend this
|
||||
* to get automatic population of createdAt/updatedAt/isDeleted via
|
||||
* AuditListener.
|
||||
*/
|
||||
@MappedSuperclass
|
||||
@EntityListeners(AuditListener.class)
|
||||
@Getter
|
||||
@Setter
|
||||
public abstract class Auditable implements Serializable {
|
||||
@Column(name = "create_date_time")
|
||||
private Date createDateTime;
|
||||
|
||||
@Column(name = "updated_date_time")
|
||||
private Date updatedDateTime;
|
||||
|
||||
@Column(name = "create_by")
|
||||
private String createdBy;
|
||||
|
||||
@Column(name = "updated_by")
|
||||
private String updatedBy;
|
||||
|
||||
@Column(name = "created_epoch_date")
|
||||
private Long createdEpochDate;
|
||||
|
||||
@Column(name = "modified_epoch_date")
|
||||
private Long modifiedEpochDate;
|
||||
|
||||
@Column(name = "is_deleted")
|
||||
private Boolean isDeleted = Boolean.FALSE;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
@@ -21,7 +19,7 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "bbps_master_data")
|
||||
public class BBPSMastersData extends Auditable<String> {
|
||||
public class BBPSMastersData extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -17,7 +17,7 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Table(name = "bbps_merchant_validation")
|
||||
public class BBPSMerchantValidation {
|
||||
public class BBPSMerchantValidation extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -42,5 +42,5 @@ public class BBPSMerchantValidation {
|
||||
|
||||
private String txtId;
|
||||
|
||||
private boolean is_deleted;
|
||||
// Removed local is_deleted field, now handled by Auditable
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
@@ -17,8 +15,8 @@ import lombok.Setter;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "Bharat_connect_master")
|
||||
public class BharatConnectMaster extends Auditable<String> {
|
||||
@Table(name = "bbps_bharat_connect_master")
|
||||
public class BharatConnectMaster extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "org_id", nullable = false, unique = true, length = 50)
|
||||
|
||||
@@ -13,8 +13,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "bill_additional_info")
|
||||
public class BillAdditionalInfo {
|
||||
@Table(name = "bbps_bill_additional_info")
|
||||
|
||||
public class BillAdditionalInfo extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
@@ -13,8 +14,8 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "bill_customer_params")
|
||||
public class BillCustomerParams {
|
||||
@Table(name = "bbps_bill_customer_params")
|
||||
public class BillCustomerParams extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
@@ -11,8 +12,9 @@ import lombok.NoArgsConstructor;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "bill_initiate")
|
||||
public class BillInitiate {
|
||||
@Table(name = "bbps_bill_initiate")
|
||||
|
||||
public class BillInitiate extends Auditable {
|
||||
@Id
|
||||
@Column(name = "req_id")
|
||||
private String reqId;
|
||||
@@ -23,4 +25,7 @@ public class BillInitiate {
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "client_user_id")
|
||||
private String clientUserId;
|
||||
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.OneToMany;
|
||||
@@ -15,24 +19,33 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "bill_master")
|
||||
@Table(name = "bbps_bill_master")
|
||||
@Builder
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BillMaster {
|
||||
public class BillMaster extends Auditable {
|
||||
|
||||
@Id
|
||||
private String billId; // primary key
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(name = "bill_id", unique = true)
|
||||
private String billId; // primary key
|
||||
private String reqId; // client se aaya hua
|
||||
private String txnId; // system-generated
|
||||
private String refId;
|
||||
private String billerId;
|
||||
private String status;
|
||||
private String mid;
|
||||
private String actionType;
|
||||
private String clientUserId;
|
||||
private String userId;
|
||||
@Column(name = "initiator_txn_id")
|
||||
private String initiatorTxnId;
|
||||
@Column(name = "checker_txn_id")
|
||||
private String checkerTxnId;
|
||||
@OneToOne(cascade = CascadeType.ALL)
|
||||
@JoinColumn(name = "biller_response_id")
|
||||
private BillerResponse billerResponse;
|
||||
@@ -40,10 +53,4 @@ public class BillMaster {
|
||||
private List<AdditionalInfoBill> additionalInfo;
|
||||
@OneToMany(mappedBy = "billMaster", cascade = CascadeType.ALL)
|
||||
private List<CustomerParamBill> customerParams;
|
||||
private String creationDate;
|
||||
private String modifiedDate;
|
||||
private Long createdEpochDate;
|
||||
private Long modifiedEpochDate;
|
||||
|
||||
// getters and setters
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
@@ -16,8 +15,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "bill_payment")
|
||||
public class BillPayment {
|
||||
@Table(name = "bbps_bill_payment")
|
||||
|
||||
public class BillPayment extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "txn_id")
|
||||
@@ -53,9 +53,6 @@ public class BillPayment {
|
||||
@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;
|
||||
|
||||
@@ -13,8 +13,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "bill_tag_list")
|
||||
public class BillTag {
|
||||
@Table(name = "bbps_bill_tag_list")
|
||||
|
||||
public class BillTag extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
@@ -9,16 +8,25 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Entity
|
||||
@Table(name = "bill_validation")
|
||||
@Table(name = "bbps_bill_validation_master")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BillValidation {
|
||||
public class BillValidation extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "bill_id", nullable = false, length = 100)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(name = "bill_id", unique = true)
|
||||
private String billId;
|
||||
|
||||
private String mid;
|
||||
|
||||
private String initiatorTxnId;
|
||||
|
||||
private String checkerTxnId;
|
||||
|
||||
@Column(name = "ref_id", length = 100)
|
||||
private String refId;
|
||||
|
||||
@@ -47,15 +55,13 @@ public class BillValidation {
|
||||
@Column(name = "plan_info_daos", columnDefinition = "TEXT")
|
||||
private String planInfoDaos;
|
||||
|
||||
@Column(name = "creation_date", length = 50)
|
||||
private String creationDate;
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "modified_date", length = 50)
|
||||
private String modifiedDate;
|
||||
@Column(name = "req_id")
|
||||
private String reqId;
|
||||
|
||||
@Column(name = "created_epoch_date", length = 50)
|
||||
private String createdEpochDate;
|
||||
@Column(name = "client_user_id")
|
||||
private String clientUserId;
|
||||
|
||||
@Column(name = "modified_epoch_date", length = 50)
|
||||
private String modifiedEpochDate;
|
||||
}
|
||||
@@ -13,19 +13,17 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "biller_additional_info_payment")
|
||||
@Table(name = "bbps_biller_additional_info_payment")
|
||||
@Entity
|
||||
public class BillerAdditionalInfoPayment {
|
||||
public class BillerAdditionalInfoPayment extends Auditable {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id; // primary key for the table
|
||||
|
||||
@Column(name = "param_config_id", nullable = false)
|
||||
@NotBlank(message = "Param Config ID cannot be blank")
|
||||
private String paramConfigId;
|
||||
|
||||
@Column(name = "param_name", nullable = false)
|
||||
@NotBlank(message = "Param name cannot be blank")
|
||||
private String paramName;
|
||||
|
||||
@Column(name = "data_type_dao")
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
@@ -18,12 +16,12 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "biller_category_icon")
|
||||
@Table(name = "bbps_biller_category_icon")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BillerCategoryIcon extends Auditable<String>{
|
||||
public class BillerCategoryIcon extends Auditable{
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
@@ -15,12 +13,12 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "biller_category_wise")
|
||||
@Table(name = "bbps_biller_category_wise")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BillerCategoryWise extends Auditable<String> {
|
||||
public class BillerCategoryWise extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "biller_id")
|
||||
@@ -59,6 +57,9 @@ public class BillerCategoryWise extends Auditable<String> {
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
// One-to-One mapping with icon
|
||||
@OneToOne(mappedBy = "biller", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
|
||||
private BillerCategoryIcon icon;
|
||||
|
||||
@@ -2,12 +2,12 @@ package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EntityListeners;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import jakarta.persistence.OneToOne;
|
||||
@@ -21,6 +21,7 @@ import lombok.ToString;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@EntityListeners(AuditListener.class)
|
||||
@ToString(exclude = {
|
||||
"billerPaymentModes",
|
||||
"billerPaymentChannels",
|
||||
@@ -34,9 +35,9 @@ import lombok.ToString;
|
||||
"billerAdditionalInfoPayments"
|
||||
})
|
||||
|
||||
@Table(name = "biller_details")
|
||||
@Table(name = "bbps_biller_details")
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class BillerDetails{
|
||||
public class BillerDetails extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "biller_id", length = 14, nullable = false, unique = true)
|
||||
@@ -45,18 +46,15 @@ public class BillerDetails{
|
||||
private String billerId;
|
||||
|
||||
@Column(name = "biller_name")
|
||||
@NotBlank(message = "Biller name cannot be blank")
|
||||
private String billerName;
|
||||
|
||||
@Column(name = "biller_alias_name")
|
||||
private String billerAliasName;
|
||||
|
||||
@Column(name = "biller_category_name", nullable = false)
|
||||
@NotBlank(message = "Biller category name cannot be blank")
|
||||
@Column(name = "biller_category_name")
|
||||
private String billerCategoryName;
|
||||
|
||||
@Column(name = "biller_mode")
|
||||
@NotBlank(message = "Biller mode cannot be blank")
|
||||
private String billerMode;
|
||||
|
||||
@Column(name = "biller_accepts_adhoc")
|
||||
@@ -69,14 +67,12 @@ public class BillerDetails{
|
||||
private String parentBillerId;
|
||||
|
||||
@Column(name = "biller_ownership")
|
||||
@NotBlank(message = "Biller ownership is required (PSU or Private)")
|
||||
private String billerOwnerShp;
|
||||
|
||||
@Column(name = "biller_coverage")
|
||||
private String billerCoverage;
|
||||
|
||||
@Column(name = "fetch_requirement")
|
||||
@NotBlank(message = "Fetch requirement is mandatory")
|
||||
private String fetchRequirement;
|
||||
|
||||
@Column(name = "payment_amount_exactness")
|
||||
|
||||
@@ -17,14 +17,14 @@ import lombok.ToString;
|
||||
@Setter
|
||||
@Entity
|
||||
@ToString
|
||||
@Table(name = "biller_plan_response_params")
|
||||
public class BillerPlanResponseParams {
|
||||
@Table(name = "bbps_biller_plan_response_params")
|
||||
|
||||
public class BillerPlanResponseParams extends Auditable {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id; // Primary Key
|
||||
|
||||
@Column(name = "biller_plan_response_id", nullable = false, unique = true)
|
||||
@NotBlank(message = "Biller Plan Response ID cannot be blank")
|
||||
private String billerPlanResponseId;
|
||||
// ✅ params list — since it's not a separate table, we can store as JSON or text
|
||||
@Column(name = "params", columnDefinition = "TEXT")
|
||||
@@ -38,4 +38,3 @@ public class BillerPlanResponseParams {
|
||||
@JoinColumn(name = "biller_id", nullable = false)
|
||||
private BillerDetails biller;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,10 +11,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "biller_response")
|
||||
@Table(name = "bbps_biller_response")
|
||||
@Getter
|
||||
@Setter
|
||||
public class BillerResponse {
|
||||
public class BillerResponse extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
|
||||
@@ -20,8 +20,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "biller_response_params")
|
||||
public class BillerResponseParams {
|
||||
@Table(name = "bbps_biller_response_params")
|
||||
|
||||
public class BillerResponseParams extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "biller_response_id", nullable = false, unique = true)
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
@@ -12,10 +10,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "category_response_list")
|
||||
@Table(name = "bbps_category_response_list")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CategoryResponseList extends Auditable<String> {
|
||||
public class CategoryResponseList extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -30,4 +28,7 @@ public class CategoryResponseList extends Auditable<String> {
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
}
|
||||
@@ -16,10 +16,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "check_client_biller_data")
|
||||
@Table(name = "bbps_check_client_biller_data")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CheckClientBillerData {
|
||||
public class CheckClientBillerData extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -10,10 +10,10 @@ import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "check_client_status_req_id")
|
||||
@Table(name = "bbps_check_client_status_req_id")
|
||||
@Getter
|
||||
@Setter
|
||||
public class CheckClientStatusReqId {
|
||||
public class CheckClientStatusReqId extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "bill_id", length = 200)
|
||||
@@ -34,18 +34,6 @@ public class CheckClientStatusReqId {
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
@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;
|
||||
|
||||
@Column(name = "req_id")
|
||||
private String reqId;
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
@@ -13,11 +11,11 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Entity
|
||||
@Table(name = "complaints")
|
||||
@Table(name = "bbps_complaints")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CloseComplaint extends Auditable<String> {
|
||||
public class CloseComplaint extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
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
|
||||
@Table(name = "complaint_status")
|
||||
@Table(name = "bbps_complaint_status")
|
||||
@Getter
|
||||
@Setter
|
||||
public class ComplainStatus extends Auditable<String> {
|
||||
public class ComplainStatus extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -68,4 +69,7 @@ public class ComplainStatus extends Auditable<String> {
|
||||
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@ import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Entity
|
||||
@Table(name = "complaint_details")
|
||||
@Table(name = "bbps_complaint_details")
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class ComplaintDetails {
|
||||
public class ComplaintDetails extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "complaint_id", nullable = false, unique = true)
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
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.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@@ -14,12 +15,12 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "complaints_history")
|
||||
@Table(name = "bbps_complaints_history")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ComplaintHistory extends Auditable<String> {
|
||||
public class ComplaintHistory extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -43,5 +44,8 @@ public class ComplaintHistory extends Auditable<String> {
|
||||
@Column(name = "req_id")
|
||||
private String reqId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,21 +1,29 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
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.OneToMany;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "complaint_responses")
|
||||
public class ComplaintResponseEntity extends Auditable<String> {
|
||||
@ToString
|
||||
@Table(name = "bbps_complaint_responses")
|
||||
|
||||
public class ComplaintResponseEntity extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||
@@ -24,6 +32,9 @@ public class ComplaintResponseEntity extends Auditable<String> {
|
||||
@Column(name = "ref_id")
|
||||
private String refId;
|
||||
|
||||
@Column(name = "request_txn_id")
|
||||
private String requestTxnId;
|
||||
|
||||
@Column(name = "txn_npci_id")
|
||||
private String txnNpciId;
|
||||
|
||||
@@ -66,4 +77,23 @@ public class ComplaintResponseEntity extends Auditable<String> {
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
@Column(name = "mid")
|
||||
private String mid;
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ticket_id", referencedColumnName = "ticket_id", insertable = false, updatable = false)
|
||||
private Set<ComplainStatus> complaintStatusList = new HashSet<>();
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ticket_id", referencedColumnName = "ticket_id", insertable = false, updatable = false)
|
||||
private Set<ComplaintHistory> historyList = new HashSet<>();
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ticket_id", referencedColumnName = "ticket_id", insertable = false, updatable = false)
|
||||
private Set<ComplaintStatusDetails> statusDetailsList = new HashSet<>();
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ticket_id", referencedColumnName = "ticket_id", insertable = false, updatable = false)
|
||||
private Set<ViewAllComplaintTicketStatusDetails> viewAllList = new HashSet<>();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
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;
|
||||
@@ -14,8 +15,9 @@ import lombok.Setter;
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "view_ticket_status")
|
||||
public class ComplaintStatusDetails extends Auditable<String>{
|
||||
@Table(name = "bbps_view_ticket_status")
|
||||
|
||||
public class ComplaintStatusDetails extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -27,6 +29,9 @@ public class ComplaintStatusDetails extends Auditable<String>{
|
||||
@Column(name = "txn_id")
|
||||
private String systemTxnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
@Column(name = "total_elements")
|
||||
private String totalElements;
|
||||
|
||||
@@ -84,4 +89,6 @@ public class ComplaintStatusDetails extends Auditable<String>{
|
||||
@Column(name = "biller_name")
|
||||
private String billerName;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,11 +11,11 @@ import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Entity
|
||||
@Table(name = "complaint_options_status_master")
|
||||
@Table(name = "bbps_complaint_options_status_master")
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class ComplaintStatusOptionsMaster {
|
||||
public class ComplaintStatusOptionsMaster extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -24,7 +24,5 @@ public class ComplaintStatusOptionsMaster {
|
||||
@Column(name = "status_label_name")
|
||||
private String statusLabelName;
|
||||
|
||||
@Column(name = "is_deleted")
|
||||
private Boolean isDeleted = false;
|
||||
|
||||
// Removed local isDeleted field, now handled by Auditable
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
@@ -14,12 +12,12 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Table(name = "contact_master_data")
|
||||
@Table(name = "bbps_contact_master_data")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ContactMasterData extends Auditable<String> {
|
||||
public class ContactMasterData extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -33,4 +31,7 @@ public class ContactMasterData extends Auditable<String> {
|
||||
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
}
|
||||
@@ -14,8 +14,10 @@ import lombok.ToString;
|
||||
@Setter
|
||||
@Entity
|
||||
@ToString
|
||||
@Table(name = "custom_param")
|
||||
public class CustomParam {
|
||||
@Table(name = "bbps_custom_param")
|
||||
|
||||
public class CustomParam extends Auditable {
|
||||
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -42,5 +44,13 @@ public class CustomParam {
|
||||
@Column(name = "visibility")
|
||||
private Boolean visibility;
|
||||
|
||||
@Column(name = "req_id")
|
||||
private String reqId;
|
||||
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
|
||||
}
|
||||
@@ -22,9 +22,9 @@ import lombok.ToString;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "customer_param")
|
||||
@Table(name = "bbps_customer_param")
|
||||
@ToString
|
||||
public class CustomerParam {
|
||||
public class CustomerParam extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -12,8 +12,9 @@ import lombok.Setter;
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "customer_param_bill")
|
||||
public class CustomerParamBill {
|
||||
@Table(name = "bbps_customer_param_bill")
|
||||
|
||||
public class CustomerParamBill extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
|
||||
@@ -6,11 +6,11 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Entity
|
||||
@Table(name = "customer_params_bill_validate")
|
||||
@Table(name = "bbps_customer_params_bill_validate")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CustomerParamBillValidation {
|
||||
public class CustomerParamBillValidation extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -12,8 +12,9 @@ import lombok.Setter;
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "customer_params")
|
||||
public class CustomerParamDAO {
|
||||
@Table(name = "bbps_customer_params")
|
||||
|
||||
public class CustomerParamDAO extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -2,8 +2,6 @@ package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
@@ -20,8 +18,10 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "customer_param_group_by_biller_id")
|
||||
public class CustomerParamGroupById extends Auditable<String> {
|
||||
@Table(name = "bbps_customer_param_group_by_biller_id")
|
||||
|
||||
|
||||
public class CustomerParamGroupById extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -56,4 +56,6 @@ public class CustomerParamGroupById extends Auditable<String> {
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
}
|
||||
@@ -21,8 +21,9 @@ import lombok.ToString;
|
||||
@Setter
|
||||
@Entity
|
||||
@ToString
|
||||
@Table(name = "customer_param_groups")
|
||||
public class CustomerParamGroups {
|
||||
@Table(name = "bbps_customer_param_groups")
|
||||
|
||||
public class CustomerParamGroups extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -38,4 +39,3 @@ public class CustomerParamGroups {
|
||||
@OneToMany(mappedBy = "customerParamGroups", cascade = CascadeType.ALL, orphanRemoval = true)
|
||||
private List<Group> groups;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,9 @@ import lombok.Setter;
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "customer_params_transaction")
|
||||
public class CustomerParamTransaction {
|
||||
@Table(name = "bbps_customer_params_transaction")
|
||||
|
||||
public class CustomerParamTransaction extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -30,4 +31,3 @@ public class CustomerParamTransaction {
|
||||
@JoinColumn(name = "txn_id", referencedColumnName = "bank_txn_id")
|
||||
private TransactionMaster transactionMaster;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,9 @@ import lombok.Setter;
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@Table(name = "device_block_tag")
|
||||
public class DeviceBlockTag {
|
||||
@Table(name = "bbps_device_block_tag")
|
||||
|
||||
public class DeviceBlockTag extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -11,9 +11,9 @@ import lombok.ToString;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "disposition_details")
|
||||
@Table(name = "bbps_disposition_details")
|
||||
@ToString
|
||||
public class DispositionDetails {
|
||||
public class DispositionDetails extends Auditable {
|
||||
|
||||
@Id
|
||||
@Column(name = "disposition_id", nullable = false, unique = true)
|
||||
@@ -24,4 +24,13 @@ public class DispositionDetails {
|
||||
|
||||
@Column(name = "tenant_id")
|
||||
private String tenantId;
|
||||
|
||||
@Column(name = "req_id")
|
||||
private String reqId;
|
||||
|
||||
@Column(name = "txn_id")
|
||||
private String txnId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private String userId;
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.billpaymentservice.bbps.entites;
|
||||
|
||||
import com.billpaymentservice.bbps.audit.Auditable;
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
@@ -18,8 +16,9 @@ import lombok.Setter;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "fetch_bill_validate_response")
|
||||
public class FetchBillValidate extends Auditable<String> {
|
||||
@Table(name = "bbps_fetch_bill_validate_response")
|
||||
|
||||
public class FetchBillValidate extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@@ -63,10 +62,10 @@ public class FetchBillValidate extends Auditable<String> {
|
||||
private String modifiedDate;
|
||||
|
||||
@Column(name = "created_epoch_date")
|
||||
private long createdEpochDate;
|
||||
private Long createdEpochDate;
|
||||
|
||||
@Column(name = "modified_epoch_date")
|
||||
private long modifiedEpochDate;
|
||||
private Long modifiedEpochDate;
|
||||
|
||||
@Column(name = "request_id")
|
||||
private String requestId;
|
||||
|
||||
@@ -25,8 +25,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "biller_groups")
|
||||
public class Group {
|
||||
@Table(name = "bbps_biller_groups")
|
||||
|
||||
public class Group extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -14,8 +14,9 @@ import lombok.Setter;
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "group_params")
|
||||
public class GroupParam {
|
||||
@Table(name = "bbps_group_params")
|
||||
|
||||
public class GroupParam extends Auditable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
||||
@@ -7,13 +7,18 @@ import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Entity
|
||||
@Getter @Setter @NoArgsConstructor @ToString
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
@Table(name = "bbps_inbound_trace_log")
|
||||
public class InboundTraceLog {
|
||||
|
||||
@Id
|
||||
@@ -48,8 +53,8 @@ public class InboundTraceLog {
|
||||
@Column(length = 255)
|
||||
private String remark; // error ya note
|
||||
|
||||
public InboundTraceLog(String requestId, String txnId, String apiName, String mid,
|
||||
String orgId, String httpMethod, String requestPayload) {
|
||||
public InboundTraceLog(String requestId, String txnId, String apiName, String mid, String orgId, String httpMethod,
|
||||
String requestPayload) {
|
||||
this.requestId = requestId;
|
||||
this.txnId = txnId;
|
||||
this.apiName = apiName;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user