Untitled
unknown
plain_text
2 years ago
1.3 kB
8
Indexable
@PostMapping("/limitorder") public String processLimitOrderForm(@ModelAttribute("limitOrder") LimitOrder limitOrder, HttpSession httpSession, Model model) { User user = httpSession.getUser; // check if user has enough balance to process trade double balanceAvailable = holdingRepository.findByUserIdAndCurrencyId(userId, fromCurrencyId).getAmount(); double balanceRequired = limitOrder.getToCurrencyQuantity() * limitOrder.getFromPriceLimit(); if (balanceAvailable < balanceRequired) { model.addAttribute("alert", "You do not have enough funds in your wallet."); return "limit-order"; } // deduct from his wallet Holding wallet = holdingRepository.findByUserIdAndCurrencyId(userId, fromCurrencyId); wallet.setAmount(balanceAvailable - balanceRequired); // add to the limit order hold limitOrder.setFromCurrencyHold(balanceRequired); // initialize order limitOrder.setUser(user); limitOrder.setInitializationDate(new Timestamp(System.currentTimeMillis())); limitOrderRepository.save(limitOrder); model.addAttribute("alert", "Limit order successfully placed."); //limitOrderService.archiveExpiredLimitOrders(); //limitOrderService.approveLimitOrder(); //limitOrderService.matchLimitOrder(); //limitOrderService.executeLimitOrders(); return "limit-order"; }
Editor is loading...