update Resolve Conflict
This commit is contained in:
@@ -19,6 +19,7 @@ import com.billpaymentservice.bbps.dto.request.CloseComplaintRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplainStatusRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplaintRequestDTO;
|
||||
import com.billpaymentservice.bbps.dto.request.ReOpenComplain;
|
||||
import com.billpaymentservice.bbps.dto.request.ViewComplainByIdRequest;
|
||||
import com.billpaymentservice.bbps.service.ComplainService;
|
||||
|
||||
@RestController
|
||||
@@ -70,5 +71,11 @@ public class ComplainController {
|
||||
ResponseModel response = complainService.closeComplaint(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/viewComplaintsById")
|
||||
public ResponseEntity<ResponseModel> viewComplaintById(@RequestBody ViewComplainByIdRequest request) {
|
||||
log.info("Received complaint View Complaint By ID request for complaintId: {}", request.getComplaintId());
|
||||
ResponseModel response = complainService.viewComplaintById(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,25 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class CustomerParamDAO {
|
||||
private String paramsId;
|
||||
public CustomerParamDAO(String name, String value, String type) {
|
||||
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.type = type;
|
||||
}
|
||||
private String paramsId;
|
||||
private String name;
|
||||
private String value;
|
||||
private String type;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.billpaymentservice.bbps.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class ViewComplaintDTO {
|
||||
private String assignedTo;
|
||||
private String comment;
|
||||
private String complaintDescr;
|
||||
private String complaintDispos;
|
||||
private String complaintId;
|
||||
private String complaintNpciId;
|
||||
private String complaintRaisedFrom;
|
||||
private String complaintType;
|
||||
private String createdEpochDate;
|
||||
private String creationDate;
|
||||
private String estimated_TAT;
|
||||
private String modifiedDate;
|
||||
private String modifiedEpochDate;
|
||||
private String refId;
|
||||
private String status;
|
||||
private String txnId;
|
||||
private String userId;
|
||||
private String category;
|
||||
private String billerName;
|
||||
private String txnAmount;
|
||||
private String totalTxnAmount;
|
||||
private String complaintStatus;
|
||||
private String superLevelEsc;
|
||||
private String openComplaint;
|
||||
private String reopenComplaint;
|
||||
private String remarks;
|
||||
private String agentId;
|
||||
|
||||
}
|
||||
@@ -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 ViewComplainByIdRequest extends BaseClass {
|
||||
|
||||
@NotBlank(message = "Complain ID cannot be blank")
|
||||
private String complaintId;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.billpaymentservice.bbps.dto.response;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.billpaymentservice.bbps.dto.GeneralResp;
|
||||
import com.billpaymentservice.bbps.dto.ViewComplaintDTO;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ViewComplainByIdResponse {
|
||||
private List<ViewComplaintDTO> complaintsList;
|
||||
private GeneralResp generalResp;
|
||||
private int pageNo;
|
||||
private int pageSize;
|
||||
private int totalPages;
|
||||
private int totalElements;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.billpaymentservice.bbps.dto.ResponseModel;
|
||||
import com.billpaymentservice.bbps.dto.request.CloseComplaintRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplainStatusRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ReOpenComplain;
|
||||
import com.billpaymentservice.bbps.dto.request.ViewComplainByIdRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplaintRequestDTO;
|
||||
|
||||
public interface ComplainService {
|
||||
@@ -18,4 +19,6 @@ public interface ComplainService {
|
||||
|
||||
public ResponseModel addComplain(ComplaintRequestDTO complainRequestDTO);
|
||||
|
||||
ResponseModel viewComplaintById(ViewComplainByIdRequest request);
|
||||
|
||||
}
|
||||
|
||||
@@ -20,10 +20,12 @@ import com.billpaymentservice.bbps.dto.request.CloseComplaintRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplainStatusRequest;
|
||||
import com.billpaymentservice.bbps.dto.request.ComplaintRequestDTO;
|
||||
import com.billpaymentservice.bbps.dto.request.ReOpenComplain;
|
||||
import com.billpaymentservice.bbps.dto.request.ViewComplainByIdRequest;
|
||||
import com.billpaymentservice.bbps.dto.response.CloseComplaintStatusResponse;
|
||||
import com.billpaymentservice.bbps.dto.response.ComplaintHistoryStatusResponse;
|
||||
import com.billpaymentservice.bbps.dto.response.ComplaintResponse;
|
||||
import com.billpaymentservice.bbps.dto.response.ComplaintStatusResponse;
|
||||
import com.billpaymentservice.bbps.dto.response.ViewComplainByIdResponse;
|
||||
import com.billpaymentservice.bbps.entites.BharatConnectMaster;
|
||||
import com.billpaymentservice.bbps.entites.ComplaintDetails;
|
||||
import com.billpaymentservice.bbps.entites.InboundTraceLog;
|
||||
@@ -455,4 +457,72 @@ public class ComplainServiceImpl implements ComplainService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseModel viewComplaintById( ViewComplainByIdRequest request) {
|
||||
|
||||
LOGGER.info("Fetching View Complaint History Complaint by Complaint Id={}", request.getComplaintId(),
|
||||
request.getReqId());
|
||||
String apiName = "View Complaint By ID";
|
||||
String txnId = helper.generateTxnId(15);
|
||||
String reqId = request.getReqId();
|
||||
String complaintId = request.getComplaintId();
|
||||
String fullUrl = agentDtaUrl + BBPSConstant.VIEW_COMPLAINT_BY_ID + request.getComplaintId();
|
||||
|
||||
helper.validateMerchant(request.getMid());
|
||||
|
||||
BharatConnectMaster headersData = beneficiaryDetailsRepository.findByOrgId("ORG001");
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("x-digiledge-key", headersData.getXDigiledgeKey());
|
||||
headers.set("agentId", headersData.getAgentId());
|
||||
headers.set("tenantId", headersData.getTenantId());
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||
String requestJson = helper.convertObjectToJson(request);
|
||||
|
||||
InboundTraceLog inboundLog = helper.createInboundLog(reqId, txnId, apiName, request.getMid(), "GET",
|
||||
requestJson);
|
||||
OutboundTraceLog outboundLog = helper.createOutboundLog(txnId, reqId, apiName, fullUrl, "GET", complaintId);
|
||||
LOGGER.debug("Outbound log created successfully for Complaint : {}", fullUrl);
|
||||
|
||||
try {
|
||||
LOGGER.info("Calling external API: {}", fullUrl);
|
||||
Map<String, String> responseMap = httpService.getRequest(fullUrl, headers);
|
||||
String responseData = responseMap.get("data");
|
||||
LOGGER.info("Complaint History Complaint FetchById Response: {}", responseData);
|
||||
|
||||
helper.updateOutboundLogResponse(outboundLog, responseData);
|
||||
|
||||
Map<String, Object> dataMap = objectMapper.readValue(responseData,
|
||||
new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
|
||||
if (!dataMap.containsKey("generalResp")) {
|
||||
helper.updateInboundLogFailure(inboundLog, responseData, "INVALID_RESPONSE");
|
||||
LOGGER.warn("Invalid response structure for txnId: {}", txnId);
|
||||
throw new CustomException(String.valueOf(dataMap.get("message")), String.valueOf(dataMap.get("status")),
|
||||
Integer.parseInt(String.valueOf(dataMap.get("statusCode"))), String.valueOf(""));
|
||||
}
|
||||
|
||||
ViewComplainByIdResponse responseWrapper = objectMapper.convertValue(dataMap,
|
||||
ViewComplainByIdResponse.class);
|
||||
GeneralResp generalResp = responseWrapper.getGeneralResp();
|
||||
|
||||
String status = generalResp.getStatus();
|
||||
LOGGER.info("Current Complaint ReOpen Status: {}", status);
|
||||
|
||||
helper.updateInboundLogSuccess(inboundLog, responseData, generalResp.getStatus());
|
||||
//String saveComplaintHistory = mapperHelper.saveComplaintHistory(responseWrapper, reqId, txnId);
|
||||
//LOGGER.info("Complaint ReOpen data saved successfully for Count History: {}", saveComplaintHistory);
|
||||
|
||||
return new ResponseModel(generalResp.getMessage(), generalResp.getStatus(),
|
||||
Integer.parseInt(generalResp.getStatusCode()), responseWrapper);
|
||||
} catch (JsonProcessingException e) {
|
||||
LOGGER.error("Error parsing Complaint Id JSON: {}", e.getMessage(), e);
|
||||
helper.updateInboundLogFailure(inboundLog, e.getMessage(), "JSON_ERROR");
|
||||
throw new CustomException("Invalid JSON received from API");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ public class BBPSConstant {
|
||||
public static final String REOPEN_COMPALINT = "/couapp/complaints/reopen";
|
||||
public static final String COMPLAINT_HISTORY = "/couapp/complaints/history/byId?complaintId=";
|
||||
public static final String CLOSE_COMPLAINT = "/couapp/complaints/closure";
|
||||
public static final String VIEW_COMPLAINT_BY_ID = "/couapp/complaints/byId?complaintId=";
|
||||
|
||||
public static final String PLANS_URL = "/plans";
|
||||
public static final String ADD_COMPLAIN_ENDPOINT = "/couapp/complaints";
|
||||
|
||||
@@ -245,70 +245,123 @@ public class Helper {
|
||||
}
|
||||
|
||||
public void saveOrUpdateBillerData(BillDataResponse responseWrapper,
|
||||
BillFetchByBillIdRequest billFetchByBillIdRequest) {
|
||||
BillMaster billMaster =new BillMaster();
|
||||
billMaster.setBillId("12333333hjsdfjsfdj");
|
||||
billMaster.setRefId(responseWrapper.getRefId());
|
||||
billMaster.setBillerId(responseWrapper.getBillerId());
|
||||
billMaster.setStatus(responseWrapper.getStatus());
|
||||
billMaster.setActionType(responseWrapper.getActionType());
|
||||
billMaster.setUserId(responseWrapper.getUserId());
|
||||
billMaster.setReqId(billFetchByBillIdRequest.getReqId()); // if available from your API request
|
||||
billMaster.setTxnId("jhnjhbhj"); // give it from method
|
||||
BillFetchByBillIdRequest billFetchByBillIdRequest) {
|
||||
|
||||
// ---- BILLER RESPONSE ----
|
||||
BillerResponse billerResponse = new BillerResponse();
|
||||
if (responseWrapper.getBillerResponse() != null) {
|
||||
billerResponse.setBillId(responseWrapper.getBillerResponse().getBillId());
|
||||
billerResponse.setAmount(responseWrapper.getBillerResponse().getAmount());
|
||||
billerResponse.setBillDate(responseWrapper.getBillerResponse().getBillDate());
|
||||
billerResponse.setBillNumber(responseWrapper.getBillerResponse().getBillNumber());
|
||||
billerResponse.setBillPeriod(responseWrapper.getBillerResponse().getBillPeriod());
|
||||
billerResponse.setCustConvFee(responseWrapper.getBillerResponse().getCustConvFee());
|
||||
billerResponse.setCouCustConvFee(responseWrapper.getBillerResponse().getCouCustConvFee());
|
||||
billerResponse.setDueDate(responseWrapper.getBillerResponse().getDueDate());
|
||||
billerResponse.setCustomerName(responseWrapper.getBillerResponse().getCustomerName());
|
||||
billerResponse.setAmountOption(responseWrapper.getBillerResponse().isAmountOption());
|
||||
billerResponse.setBillMaster(billMaster); // maintain mapping
|
||||
}
|
||||
billMaster.setBillerResponse(billerResponse);
|
||||
// ---- ADDITIONAL INFO ----
|
||||
List<AdditionalInfoBill> additionalInfos = new ArrayList<>();
|
||||
if (responseWrapper.getAdditionalInfo() != null) {
|
||||
for (AdditionalInfoBillDTO info : responseWrapper.getAdditionalInfo()) {
|
||||
AdditionalInfoBill entity = new AdditionalInfoBill();
|
||||
entity.setName(info.getName());
|
||||
entity.setValue(info.getValue());
|
||||
entity.setBillMaster(billMaster); // maintain mapping
|
||||
additionalInfos.add(entity);
|
||||
|
||||
}
|
||||
}
|
||||
billMaster.setAdditionalInfo(additionalInfos);
|
||||
// ------------------------------------------------------------
|
||||
// 🔥 1. STATIC ADDITIONAL INFO LIST (overwrite before mapping)
|
||||
// ------------------------------------------------------------
|
||||
List<AdditionalInfoBillDTO> staticAdditional = new ArrayList<>();
|
||||
|
||||
// ---- CUSTOMER PARAMS ----
|
||||
List<CustomerParamBill> customerParams = new ArrayList<>();
|
||||
if (responseWrapper.getCustomerParams() != null) {
|
||||
for (CustomerParamDAO param : responseWrapper.getCustomerParams()) {
|
||||
CustomerParamBill entity = new CustomerParamBill();
|
||||
entity.setName(param.getName());
|
||||
entity.setValue(param.getValue());
|
||||
entity.setType(param.getType());
|
||||
entity.setBillMaster(billMaster);
|
||||
customerParams.add(entity);
|
||||
}
|
||||
}
|
||||
billMaster.setCustomerParams(customerParams);
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("123", "Student Name", "AGAMJOT TEST "));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("333", "Father Name", "VIRENDER SINGH"));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("908", "Class", "STD I"));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("097", "Section", "A"));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("321", "TUITION FEE", "8670"));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("121", "E-CARE FEE", "900"));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("111", "COMPUTER FEE", "1350"));
|
||||
staticAdditional.add(new AdditionalInfoBillDTO("121", "EXAM FEE", "500"));
|
||||
|
||||
// ---- DATES ----
|
||||
billMaster.setCreationDate(responseWrapper.getCreationDate());
|
||||
billMaster.setModifiedDate(responseWrapper.getModifiedDate());
|
||||
billMaster.setCreatedEpochDate(responseWrapper.getCreatedEpochDate());
|
||||
billMaster.setModifiedEpochDate(responseWrapper.getModifiedEpochDate());
|
||||
|
||||
billMasterRepository.save(billMaster);
|
||||
// Static set (overwrite)
|
||||
responseWrapper.setAdditionalInfo(staticAdditional);
|
||||
|
||||
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// 🔥 2. STATIC CUSTOMER PARAMS LIST (overwrite before mapping)
|
||||
// ------------------------------------------------------------
|
||||
List<CustomerParamDAO> staticCustomerParams = new ArrayList<>();
|
||||
|
||||
staticCustomerParams.add(new CustomerParamDAO(
|
||||
"Admission No/Application No/GR No", "LF3130", "test"
|
||||
));
|
||||
|
||||
staticCustomerParams.add(new CustomerParamDAO(
|
||||
"Date Of Birth (DD-MM-YYYY)", "10/08/2000", "test"
|
||||
));
|
||||
|
||||
staticCustomerParams.add(new CustomerParamDAO(
|
||||
"Mobile No", "9241842248", "test"
|
||||
));
|
||||
|
||||
// Static set (overwrite)
|
||||
responseWrapper.setCustomerParams(staticCustomerParams);
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// 🔥 REST OF YOUR ORIGINAL LOGIC — NO CHANGE
|
||||
// ------------------------------------------------------------
|
||||
|
||||
BillMaster billMaster = new BillMaster();
|
||||
|
||||
billMaster.setBillId("12333333hjsdfjsfdj");
|
||||
billMaster.setRefId(responseWrapper.getRefId());
|
||||
billMaster.setBillerId(responseWrapper.getBillerId());
|
||||
billMaster.setStatus(responseWrapper.getStatus());
|
||||
billMaster.setActionType(responseWrapper.getActionType());
|
||||
billMaster.setUserId(responseWrapper.getUserId());
|
||||
billMaster.setReqId(billFetchByBillIdRequest.getReqId());
|
||||
billMaster.setTxnId("jhnjhbhj");
|
||||
|
||||
|
||||
// BILLER RESPONSE
|
||||
BillerResponse billerResponse = new BillerResponse();
|
||||
if (responseWrapper.getBillerResponse() != null) {
|
||||
billerResponse.setBillId(responseWrapper.getBillerResponse().getBillId());
|
||||
billerResponse.setAmount(responseWrapper.getBillerResponse().getAmount());
|
||||
billerResponse.setBillDate(responseWrapper.getBillerResponse().getBillDate());
|
||||
billerResponse.setBillNumber(responseWrapper.getBillerResponse().getBillNumber());
|
||||
billerResponse.setBillPeriod(responseWrapper.getBillerResponse().getBillPeriod());
|
||||
billerResponse.setCustConvFee(responseWrapper.getBillerResponse().getCustConvFee());
|
||||
billerResponse.setCouCustConvFee(responseWrapper.getBillerResponse().getCouCustConvFee());
|
||||
billerResponse.setDueDate(responseWrapper.getBillerResponse().getDueDate());
|
||||
billerResponse.setCustomerName(responseWrapper.getBillerResponse().getCustomerName());
|
||||
billerResponse.setAmountOption(responseWrapper.getBillerResponse().isAmountOption());
|
||||
billerResponse.setBillMaster(billMaster);
|
||||
}
|
||||
billMaster.setBillerResponse(billerResponse);
|
||||
|
||||
|
||||
|
||||
// ADDITIONAL INFO
|
||||
List<AdditionalInfoBill> additionalInfos = new ArrayList<>();
|
||||
if (responseWrapper.getAdditionalInfo() != null) {
|
||||
for (AdditionalInfoBillDTO info : responseWrapper.getAdditionalInfo()) {
|
||||
AdditionalInfoBill entity = new AdditionalInfoBill();
|
||||
entity.setName(info.getName());
|
||||
entity.setValue(info.getValue());
|
||||
entity.setBillMaster(billMaster);
|
||||
additionalInfos.add(entity);
|
||||
}
|
||||
}
|
||||
billMaster.setAdditionalInfo(additionalInfos);
|
||||
|
||||
|
||||
|
||||
// CUSTOMER PARAMS
|
||||
List<CustomerParamBill> customerParams = new ArrayList<>();
|
||||
if (responseWrapper.getCustomerParams() != null) {
|
||||
for (CustomerParamDAO param : responseWrapper.getCustomerParams()) {
|
||||
CustomerParamBill entity = new CustomerParamBill();
|
||||
entity.setName(param.getName());
|
||||
entity.setValue(param.getValue() == null ? "" : param.getValue());
|
||||
entity.setType(param.getType() == null ? "" : param.getType());
|
||||
entity.setBillMaster(billMaster);
|
||||
customerParams.add(entity);
|
||||
}
|
||||
}
|
||||
billMaster.setCustomerParams(customerParams);
|
||||
|
||||
|
||||
|
||||
// DATES
|
||||
billMaster.setCreationDate(responseWrapper.getCreationDate());
|
||||
billMaster.setModifiedDate(responseWrapper.getModifiedDate());
|
||||
billMaster.setCreatedEpochDate(responseWrapper.getCreatedEpochDate());
|
||||
billMaster.setModifiedEpochDate(responseWrapper.getModifiedEpochDate());
|
||||
|
||||
|
||||
billMasterRepository.save(billMaster);
|
||||
}
|
||||
|
||||
}
|
||||
public void saveBillValidation(FetchBillValidateResponse responseWrapper, BillFetchByBillIdRequest billRequest) {
|
||||
System.out.println("responseWrapper");
|
||||
ModelMapper modelMapper = new ModelMapper();
|
||||
|
||||
Reference in New Issue
Block a user