40 lines
1.4 KiB
Java
40 lines
1.4 KiB
Java
package com.goldenchart.controller;
|
|
|
|
import com.goldenchart.dto.LiveOrderRequest;
|
|
import com.goldenchart.dto.LiveSummaryDto;
|
|
import com.goldenchart.dto.LiveTradeDto;
|
|
import com.goldenchart.service.LiveTradingService;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
@RestController
|
|
@RequestMapping("/live")
|
|
@RequiredArgsConstructor
|
|
public class LiveTradingController {
|
|
|
|
private final LiveTradingService liveTradingService;
|
|
|
|
@GetMapping("/summary")
|
|
public ResponseEntity<LiveSummaryDto> summary(@RequestHeader Map<String, String> h) {
|
|
long uid = TradingControllerSupport.requireRegisteredUser(h);
|
|
return ResponseEntity.ok(liveTradingService.getSummary(uid));
|
|
}
|
|
|
|
@GetMapping("/trades")
|
|
public ResponseEntity<List<LiveTradeDto>> trades(@RequestHeader Map<String, String> h) {
|
|
long uid = TradingControllerSupport.requireRegisteredUser(h);
|
|
return ResponseEntity.ok(liveTradingService.listTrades(uid));
|
|
}
|
|
|
|
@PostMapping("/orders")
|
|
public ResponseEntity<LiveTradeDto> placeOrder(@RequestHeader Map<String, String> h,
|
|
@RequestBody LiveOrderRequest body) {
|
|
long uid = TradingControllerSupport.requireRegisteredUser(h);
|
|
return ResponseEntity.ok(liveTradingService.placeManualOrder(uid, body));
|
|
}
|
|
}
|