Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.web.v2.controller;

import com.spice.profitmandi.dao.enumuration.catalog.ByPassRequestStatus;
import com.spice.profitmandi.dao.model.AddCartRequest;
import com.spice.profitmandi.web.controller.CartController;
import com.spice.profitmandi.web.v2.response.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/v2")
public class V2CartController extends V2BaseController {

    @Autowired
    private CartController cartController;

    @GetMapping("/cart")
    public ResponseEntity<ApiResponse<?>> validateCart(HttpServletRequest request,
                                                      @RequestParam(value = "pincode", defaultValue = "110001") String pincode,
                                                      @RequestParam int bucketId) throws Throwable {
        return wrapResponse(cartController.validateCart(request, pincode, bucketId));
    }

    @PostMapping("/cart")
    public ResponseEntity<ApiResponse<?>> validateCart(HttpServletRequest request,
                                                      @RequestBody AddCartRequest addCartRequest,
                                                      @RequestParam(value = "pincode", defaultValue = "110001") String pincode) throws Throwable {
        return wrapResponse(cartController.validateCart(request, addCartRequest, pincode));
    }

    @PostMapping("/cart/changeAddress")
    public ResponseEntity<ApiResponse<?>> changeAddress(HttpServletRequest request,
                                                        @RequestParam(value = "addressId") long addressId) throws Throwable {
        return wrapResponse(cartController.changeAddress(request, addressId));
    }

    @GetMapping("/byPassRequests")
    public ResponseEntity<ApiResponse<?>> byPassRequests(HttpServletRequest request, Model model) throws Throwable {
        return wrapResponse(cartController.byPassRequests(request, model));
    }

    @PostMapping("/byPassRequestAction")
    public ResponseEntity<ApiResponse<?>> addAmountToWalletRequestRejected(HttpServletRequest request,
                                                                           @RequestParam(name = "id", defaultValue = "0") int id,
                                                                           @RequestParam ByPassRequestStatus status,
                                                                           @RequestParam String reason,
                                                                           Model model) throws Throwable {
        return wrapResponse(cartController.addAmountToWalletRequestRejected(request, id, status, reason, model));
    }

    @GetMapping("/cart/payment")
    public ResponseEntity<ApiResponse<?>> validateCartPayment(HttpServletRequest request,
                                                              @RequestParam(defaultValue = "0") int paymentId,
                                                              Model model) throws Throwable {
        return wrapResponse(cartController.validateCartPayment(request, paymentId, model));
    }

    @GetMapping("/partner/hidAllocation")
    public ResponseEntity<ApiResponse<?>> getItemHidAllocation(HttpServletRequest request) throws Throwable {
        return wrapResponse(cartController.getItemHidAllocation(request));
    }
}