Beispiel #1
0
  @RequestMapping(value = "/checkout", method = RequestMethod.POST)
  public ModelAndView validateUser(
      @RequestParam("username") String username,
      @RequestParam("password") String password,
      @RequestParam("prodType") String prodType,
      @RequestParam("prodId") int prodId) {
    System.out.println("in checkout");

    DBConnection connection = new DBConnection();
    boolean signingin = false;
    signingin = connection.signIn(username, password);

    ModelAndView mv = new ModelAndView();

    // Validate user
    if (signingin) {
      // Valid user
      MongoDBConnection mongoConnection = new MongoDBConnection();

      if (!mongoConnection.mongoDBProdAvail(prodType, prodId)) {
        mv.addObject("error", "Database down! Please come back later.");
        mv.setViewName("error");
        return mv;
      }
      DBObject product = mongoConnection.mongoDBGetProduct(prodType, prodId);

      boolean result = connection.checkInventoryForMoreThanZeroItems(prodType, prodId);
      if (result) {
        System.out.println("username inside login controller:" + username);
        Inventory obj = new Inventory();
        obj = connection.displayItemType(prodType, prodId);
        mv.addObject("username", username);
        mv.addObject("prodId", prodId);
        mv.addObject("prodType", prodType);
        mv.addObject("prodRate", obj.getRateperitem());
        mv.addObject("qty", obj.getQty());
        mv.addObject("message", "Product available");
        mv.addObject("product", product);
        mv.setViewName("checkout");
      } else {
        // 0 products available
        mv.addObject("error", "Sorry! Item Not on Sale.");
        // mv.addObject("redirectUrl", "http://localhost:8090/store");
        // mv.addObject("button", "Back to store");
        mv.setViewName("error");
      }
    } else {
      // Invalid user
      mv.setViewName("failure");
      mv.addObject("error", "Invalid login! Wrong username or password. ");
      mv.addObject("redirectUrl", "http://localhost:8080/cart/login/" + prodType + '/' + prodId);
    }
    return mv;
  }