가상투자 메뉴 기능 구현

This commit is contained in:
Macbook
2026-05-25 06:41:45 +09:00
parent 0cfe7fc84c
commit 8b373b11e3
33 changed files with 3897 additions and 99 deletions
@@ -0,0 +1,35 @@
package com.goldenchart.controller;
import com.goldenchart.dto.LiveConditionStatusDto;
import com.goldenchart.service.LiveConditionStatusService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
/**
* 가상투자 — 실시간 조건 충족 현황 API.
*
* GET /api/strategy/live-conditions?market=KRW-BTC&strategyId=1
*/
@RestController
@RequestMapping("/strategy/live-conditions")
@RequiredArgsConstructor
public class LiveConditionController {
private final LiveConditionStatusService service;
@GetMapping
public ResponseEntity<LiveConditionStatusDto> get(
@RequestParam String market,
@RequestParam long strategyId,
@RequestHeader(value = "X-User-Id", required = false) String userIdHeader,
@RequestHeader(value = "X-Device-Id", required = false) String deviceId) {
return ResponseEntity.ok(service.evaluate(parseUserId(userIdHeader), deviceId, market, strategyId));
}
private Long parseUserId(String header) {
if (header == null || header.isBlank()) return null;
try { return Long.parseLong(header); } catch (NumberFormatException e) { return null; }
}
}