diff --git a/dx-services/requester-services-dx/src/main/java/org/egov/dx/repository/TransactionRepository.java b/dx-services/requester-services-dx/src/main/java/org/egov/dx/repository/TransactionRepository.java index e1414b66e87..c72431e1f4a 100644 --- a/dx-services/requester-services-dx/src/main/java/org/egov/dx/repository/TransactionRepository.java +++ b/dx-services/requester-services-dx/src/main/java/org/egov/dx/repository/TransactionRepository.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map; import org.egov.dx.web.models.Transaction; import org.egov.dx.web.models.TransactionCriteria; @@ -31,6 +32,18 @@ public List fetchTransactions(TransactionCriteria transactionCriter log.debug(query); return jdbcTemplate.query(query, params.toArray(), rowMapper); } + + public List fetchSignedFile(Transaction transaction) { + List params = new ArrayList<>(); + String consumerCode = transaction.getConsumerCode(); + String module = transaction.getModule(); + TransactionCriteria transactionCriteria = new TransactionCriteria(); + transactionCriteria.setModule(module); + transactionCriteria.setConsumerCode(consumerCode); + String query = transactionQueryBuilder.getEsignedFileQueryByConsumerCode(transactionCriteria, params); + log.debug(query); + return jdbcTemplate.query(query, params.toArray(), rowMapper); + } } diff --git a/dx-services/requester-services-dx/src/main/java/org/egov/dx/service/eSignService.java b/dx-services/requester-services-dx/src/main/java/org/egov/dx/service/eSignService.java index 1349d6968dd..0bb4ac6fffc 100644 --- a/dx-services/requester-services-dx/src/main/java/org/egov/dx/service/eSignService.java +++ b/dx-services/requester-services-dx/src/main/java/org/egov/dx/service/eSignService.java @@ -13,6 +13,7 @@ import java.util.ArrayList; import java.util.Base64; import java.util.List; +import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -117,7 +118,7 @@ public String processPDF(RequestInfoWrapper requestInfoWrapper) throws IOExcepti .setDocURL(requestInfoWrapper.getTransaction().getPdfUrl())//for v3 only pdf view purpose .setLocation("") // reason or signed (optional) .setReason("") //(optional) - .setSignedBy("Manvi") //(mandatory) + .setSignedBy("NIUA") //(mandatory) .setCoSign(true) .setAppearanceType(eSign.AppearanceType.StandardSignature) .setPageTobeSigned(eSign.PageTobeSigned.First) @@ -144,7 +145,7 @@ public String processPDF(RequestInfoWrapper requestInfoWrapper) throws IOExcepti // Obtain the gateway parameter eSignServiceReturn serviceReturn = eSignObj.getGatewayParameter( - inputList, "Manvi", (txnId+"-"+ requestInfoWrapper.getTransaction().getModule()) , configurations.getRedirectUrl(),configurations.getRedirectUrl(), configurations.getTempFolder(), eSign.eSignAPIVersion.V2, eSign.AuthMode.OTP); + inputList, "NIUA", (txnId+"-"+ requestInfoWrapper.getTransaction().getModule()) , configurations.getRedirectUrl(),configurations.getRedirectUrl(), configurations.getTempFolder(), eSign.eSignAPIVersion.V2, eSign.AuthMode.OTP); String gatewayParam = serviceReturn.getGatewayParameter(); String gatewayURL = "https://authenticate.sandbox.emudhra.com/AadhaareSign.jsp"; // Adjust if needed @@ -257,5 +258,16 @@ public List getTransactions(TransactionCriteria transactionCriteria throw new CustomException("FETCH_TXNS_FAILED", "Unable to fetch transactions from store"); } } + + public List getSignedFilestore(RequestInfo requestInfo, Transaction transaction) { + { + try { + return transactionRepository.fetchSignedFile(transaction); + } catch (DataAccessException e) { + log.error("Unable to fetch data from the database for criteria: " + transaction.toString(), e); + throw new CustomException("FETCH_TXNS_FAILED", "Unable to fetch transactions from store"); + } + } -} \ No newline at end of file + } +} diff --git a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/controller/EsignController.java b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/controller/EsignController.java index 361c2a1482c..f3957ed8867 100644 --- a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/controller/EsignController.java +++ b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/controller/EsignController.java @@ -42,21 +42,29 @@ import java.io.IOException; import java.net.URISyntaxException; +import java.util.List; +import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; + +import org.egov.common.contract.response.ResponseInfo; import org.egov.dx.service.eSignService; import org.egov.dx.util.Configurations; import org.egov.dx.web.models.RequestInfoWrapper; import org.egov.dx.web.models.ResponseInfoFactory; +import org.egov.dx.web.models.Transaction; +import org.egov.dx.web.models.TransactionResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.util.UriComponentsBuilder; @@ -104,5 +112,18 @@ public ResponseEntity getEsignedPDF(HttpServletRequest request, HttpServ return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); } } + + + @RequestMapping(value = "/filestoreId/v1/_search", method = RequestMethod.POST) + public ResponseEntity searchSignedFilestore(@RequestBody RequestInfoWrapper requestInfoWrapper, @RequestParam Map params) { + + List transactions = esignService.getSignedFilestore(requestInfoWrapper.getRequestInfo(), requestInfoWrapper.getTransaction()); + ResponseInfo responseInfo=ResponseInfoFactory.createResponseInfoFromRequestInfo(requestInfoWrapper.getRequestInfo(), null); + + TransactionResponse response = new TransactionResponse(responseInfo, transactions); + + return new ResponseEntity<>(response, HttpStatus.OK); + + } } \ No newline at end of file diff --git a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionCriteria.java b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionCriteria.java index e3325c04ff0..ede7bba0fcf 100644 --- a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionCriteria.java +++ b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionCriteria.java @@ -16,5 +16,9 @@ public class TransactionCriteria { private String tenantId; private String txnId; + + private String module; + + private String consumerCode; } diff --git a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionQueryBuilder.java b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionQueryBuilder.java index 8892cb220d5..9e6b76a19a8 100644 --- a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionQueryBuilder.java +++ b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionQueryBuilder.java @@ -24,6 +24,12 @@ public String getTransactionSearchQueryByTxnId(TransactionCriteria transactionCr return query; } + + public String getEsignedFileQueryByConsumerCode(TransactionCriteria transactionCriteria, List preparedStmtList) { + String query = buildQuery(transactionCriteria, preparedStmtList); + query = addOrderByClause(query); + return query; + } private String buildQuery(TransactionCriteria transactionCriteria, List preparedStmtList) { StringBuilder builder = new StringBuilder(TransactionQueryBuilder.SEARCH_TXN_SQL); Map queryParams = new HashMap<>(); @@ -33,6 +39,14 @@ private String buildQuery(TransactionCriteria transactionCriteria, List queryParams.put("tlf.txn_id", transactionCriteria.getTxnId()); } + if (!Objects.isNull(transactionCriteria.getConsumerCode())) { + queryParams.put("tlf.consumerCode", transactionCriteria.getConsumerCode()); + } + + if (!Objects.isNull(transactionCriteria.getModule())) { + queryParams.put("tlf.module", transactionCriteria.getModule()); + } + if (!queryParams.isEmpty()) { builder.append(" WHERE "); diff --git a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionResponse.java b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionResponse.java index 8c1d15dd074..a29ec28fb41 100644 --- a/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionResponse.java +++ b/dx-services/requester-services-dx/src/main/java/org/egov/dx/web/models/TransactionResponse.java @@ -4,6 +4,7 @@ import lombok.*; import org.egov.dx.web.models.Transaction; import org.springframework.validation.annotation.Validated; +import org.egov.common.contract.response.ResponseInfo; import javax.validation.Valid; import java.util.List;