Rev 34444 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.web.controller;import com.fasterxml.jackson.databind.ObjectMapper;import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;import com.spice.profitmandi.common.req.CreateOrderRequest;import com.spice.profitmandi.common.req.CreatePaymentRequest;import com.spice.profitmandi.common.req.ValidateEmiRequest;import com.spice.profitmandi.common.res.EmiResponse;import com.spice.profitmandi.common.services.PineLabService;import com.spice.profitmandi.common.web.util.ResponseSender;import com.spice.profitmandi.common.req.CalculateEmiRequest;import okhttp3.Response;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.transaction.annotation.Transactional;import org.springframework.web.bind.annotation.*;import java.io.IOException;import java.util.HashMap;import java.util.Map;@Controller@RequestMapping("/payments")@Transactional(rollbackFor = Throwable.class)public class PaymentsController {/*@Autowiredprivate ResponseSender<?> responseSender;@Autowiredprivate PineLabService pineLabService;private static final Logger LOGGER = LogManager.getLogger(PaymentsController.class);@PostMapping("/get-emi-options")public ResponseEntity<?> getEmiOptions(@RequestBody CalculateEmiRequest calculateEmiRequest) throws ProfitMandiBusinessException {try {Map<String, Object> params = new HashMap<>();EmiResponse response = null;if (calculateEmiRequest.getProvider().equals("pinelabs")) {params.put("amount_in_paisa", calculateEmiRequest.getAmountInPaisa());params.put("product_details", calculateEmiRequest.getProductDetails());response = pineLabService.getEmiOptions(params);}return responseSender.ok(response);} catch (ProfitMandiBusinessException e){return responseSender.badRequest(e);}}@PostMapping("/emi/plans")public ResponseEntity<?> getEmiPlans(@RequestBody CalculateEmiRequest calculateEmiRequest) throws IOException {Response response;Map<String, Object> params = new HashMap<>();if (calculateEmiRequest.getProvider().equals("pinelabs")) {Map<String, Object> orderAmount = new HashMap<>();orderAmount.put("value", calculateEmiRequest.getAmountInPaisa());orderAmount.put("currency", "INR");params.put("order_amount", orderAmount);ObjectMapper objectMapper = new ObjectMapper();String requestBody = objectMapper.writeValueAsString(params);response = pineLabService.getEMIs(requestBody);LOGGER.info("plural controller response: {}",response);if (response.isSuccessful()){return responseSender.ok(response.body());} else {return responseSender.ok(response.message());}}return responseSender.ok(null);}@PostMapping("/emi/validate")public ResponseEntity<?> validateEmiPlans(@RequestBody ValidateEmiRequest validateEmiRequest) throws IOException {if (validateEmiRequest.getProvider().equals("pinelabs")) {Response response;Map<String, Object> params = new HashMap<>();params.put("order_amount", validateEmiRequest.getOrderAmount());params.put("payment_amount", validateEmiRequest.getPaymentAmount());params.put("offer_data", validateEmiRequest.getOfferData());params.put("payment_method", validateEmiRequest.getPaymentMethod());ObjectMapper objectMapper = new ObjectMapper();String requestBody = objectMapper.writeValueAsString(params);response = pineLabService.getEMIs(requestBody);if (response.isSuccessful()){return responseSender.ok(response.body());} else {return responseSender.ok(response.message());}}return responseSender.ok(null);}@PostMapping("/emi/place-order")public ResponseEntity<?> placeEMIOrder(@RequestBody CreateOrderRequest createOrderRequest) throws IOException {if (createOrderRequest.getProvider().equals("pinelabs")) {Response response;Map<String, Object> params = new HashMap<>();params.put("order_amount", createOrderRequest.getOrderAmount());params.put("pre_auth", false);params.put("callback_url", createOrderRequest.getCallbackUrl());params.put("failure_callback_url", createOrderRequest.getFailureCallbackUrl());params.put("allowed_payment_methods", createOrderRequest.getAllowedPaymentMethods());params.put("notes", createOrderRequest.getNotes());params.put("purchase_details", createOrderRequest.getPurchaseDetails());params.put("cart_coupon_discount_amount", createOrderRequest.getCartCouponDiscountAmount());ObjectMapper objectMapper = new ObjectMapper();String requestBody = objectMapper.writeValueAsString(params);response = pineLabService.placeOrder(requestBody);if (response.isSuccessful()){return responseSender.ok(response.body());} else {return responseSender.ok(response.message());}}return responseSender.ok(null);}@PostMapping("/emi/create-payment")public ResponseEntity<?> placeCreatePayment(@RequestBody CreatePaymentRequest createPaymentRequest) throws IOException {if (createPaymentRequest.getProvider().equals("pinelabs")) {Response response;Map<String, Object> params = new HashMap<>();params.put("payments", createPaymentRequest.getPayments());ObjectMapper objectMapper = new ObjectMapper();String requestBody = objectMapper.writeValueAsString(params);response = pineLabService.placeOrder(requestBody);if (response.isSuccessful()){return responseSender.ok(response.body());} else {return responseSender.ok(response.message());}}return responseSender.ok(null);}*/}