Skip to content

Commit

Permalink
#33 [feat] : 자동매매 거래 로그 조회 API 구현 (GET)
Browse files Browse the repository at this point in the history
  • Loading branch information
bbbang105 committed Jun 17, 2024
1 parent 046338c commit f068763
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/v1/trading")
@RequiredArgsConstructor
public class TradingController {
private final TradingService tradingService;
private final UpbitAutoTrader upbitAutoTrader;

// 자동매매 등록 API
@PostMapping
Expand All @@ -37,8 +38,11 @@ public ResponseEntity<ApiResponse<Object>> removeAutoTrading(
}

// 자동매매 수동 테스트 API
@GetMapping("/test")
public void test() {
upbitAutoTrader.performAutoTrading();
@GetMapping("/logs")
public ResponseEntity<ApiResponse<List<TradingDto.TradingLog>>> getUserTradingLogs(
@RequestHeader("Authorization") String authorizationHeader) {

List<TradingDto.TradingLog> tradingLogs = tradingService.getUserTradingLogs(authorizationHeader);
return ApiResponse.onSuccess(SuccessStatus.SUCCESS_GET_TRADING_LOGS, tradingLogs);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@
import org.dgu.backend.domain.User;
import org.dgu.backend.dto.TradingDto;

import java.util.List;

public interface TradingService {
void registerAutoTrading(String authorizationHeader, TradingDto.AutoTradingRequest autoTradingRequest);
void removeAutoTrading(String authorizationHeader, String portfolioId);
void executeTrade(User user, PortfolioOption portfolioOption, TradingOption tradingOption, Double curPrice);
List<TradingDto.TradingLog> getUserTradingLogs(String authorizationHeader);
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,18 @@ public void removeAutoTrading(String authorizationHeader, String portfolioId) {
cancelAutoTrading(portfolio);
tradingOptionRepository.deleteTradingOptionById(existingTradingOption.getId());
}

// 자동매매 거래 로그 조회 메서드
@Override
public List<TradingDto.TradingLog> getUserTradingLogs(String authorizationHeader) {
User user = jwtUtil.getUserFromHeader(authorizationHeader);
validateUser(user);

List<UserTradingLog> userTradingLogs = userTradingLogRepository.findAllByUser(user);

return TradingDto.TradingLog.ofTradingLogs(userTradingLogs);
}

// 거래 실행 메서드
@Override
public void executeTrade(User user, PortfolioOption portfolioOption, TradingOption tradingOption, Double curPrice) throws UpbitException, UserException {
Expand Down

0 comments on commit f068763

Please sign in to comment.