Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.mtg.Motugame.stock.service;

import com.mtg.Motugame.stock.dto.StockAverageDto;
import com.mtg.Motugame.stock.dto.StockDataInfoDto;
import com.mtg.Motugame.stock.dto.StockPriceDto;

import java.util.List;

public interface StockService {
List<StockPriceDto> getStocksPrices(List<String> seeds);
List<StockAverageDto> getAveragePrices(List<String> seeds);
StockDataInfoDto getStockDataInfoDto(List<String> seeds);
}
31 changes: 3 additions & 28 deletions src/main/java/com/mtg/Motugame/stock/service/StockServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
public class StockServiceImpl implements StockService {
private final StockInfoRepository stockInfoRepository;

@Override
public StockDataInfoDto getStockDataInfoDto(List<String> seeds) {
return StockDataInfoDto.builder()
.stockPrices(getStocksPrices(seeds))
Expand All @@ -27,7 +28,7 @@ public StockDataInfoDto getStockDataInfoDto(List<String> seeds) {
}

//주식가격정보를 가져옴
public List<StockPriceDto> getStocksPrices(List<String> seeds) {
private List<StockPriceDto> getStocksPrices(List<String> seeds) {
List<StockPriceDto> stockPriceDtoList = new ArrayList<>();

for (var seed : seeds) {
Expand Down Expand Up @@ -75,8 +76,7 @@ private List<StockDatePriceDto> getStockDatePriceDtoList(List<StockPriceEntity>
return stockDatePriceDtos;
}

@Override
public List<StockAverageDto> getAveragePrices(List<String> seeds) {
private List<StockAverageDto> getAveragePrices(List<String> seeds) {
List<StockAverageDto> stockAverageDtoList = new ArrayList<>();

List<StockPriceDto> stockPriceDtoList = getStocksPrices(seeds);
Expand Down Expand Up @@ -107,31 +107,6 @@ private Double getUserAverageProfit(String stockCode) {

return totalProfit.divide(new BigDecimal(String.valueOf(stockInfoEntity.getScoreRecords().size())),2).doubleValue();
}

private List<String> convertSeedsToIndex(List<String> seeds) {
List<String> result = new ArrayList<>();
for (String seed : seeds) {
String stockIndex = seed.substring(0, 3);
result.add(Integer.parseInt(stockIndex) + "");
}
return result;
}

private List<StockDatePriceDto> getStockDatePriceDtoList(StockInfoEntity stockInfoEntity) {
List<StockDatePriceDto> stockDatePriceDtos = new ArrayList<>();

//주식 코드에 해당하는 가격정보 한달치 entity 리스트를 반환받음
List<StockPriceEntity> stockPriceEntities = stockInfoEntity.getStockPriceEntities();

//entity에서 필요한 정보(price, date) 추출 후 list저장
for (StockPriceEntity entity : stockPriceEntities) {
stockDatePriceDtos.add(StockDatePriceDto.builder()
.price(entity.getClose())
.date(entity.getDate()).build());
}

return stockDatePriceDtos;
}

public Integer getStocksInfo() {
return stockInfoRepository.findAll().size();
Expand Down
Loading