-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'back/main' of https://github.com/boostcampwm-2024/web16…
…-JuGa into back/main
- Loading branch information
Showing
11 changed files
with
393 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
|
||
export class InquirePriceOutput1Dto { | ||
@ApiProperty({ description: 'HTS 한글 종목명' }) | ||
hts_kor_isnm: string; | ||
|
||
@ApiProperty({ description: '종목코드' }) | ||
stck_shrn_iscd: string; | ||
|
||
@ApiProperty({ description: '주식 현재가' }) | ||
stck_prpr: string; | ||
|
||
@ApiProperty({ description: '전일 대비' }) | ||
prdy_vrss: string; | ||
|
||
@ApiProperty({ description: '전일 대비 부호' }) | ||
prdy_vrss_sign: string; | ||
|
||
@ApiProperty({ description: '전일 대비율' }) | ||
prdy_ctrt: string; | ||
|
||
@ApiProperty({ description: 'HTS 시가총액' }) | ||
hts_avls: string; | ||
|
||
@ApiProperty({ description: 'PER' }) | ||
per: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
|
||
export class InquirePriceOutput2Dto { | ||
@ApiProperty({ description: '주식 영업 일자' }) | ||
stck_bsop_date: string; | ||
|
||
@ApiProperty({ description: '주식 종가' }) | ||
stck_clpr: string; | ||
|
||
@ApiProperty({ description: '주식 시가' }) | ||
stck_oprc: string; | ||
|
||
@ApiProperty({ description: '주식 최고가' }) | ||
stck_hgpr: string; | ||
|
||
@ApiProperty({ description: '주식 최저가' }) | ||
stck_lwpr: string; | ||
|
||
@ApiProperty({ description: '누적 거래량' }) | ||
acml_vol: string; | ||
|
||
@ApiProperty({ description: '누적 거래 대금' }) | ||
acml_tr_pbmn: string; | ||
|
||
@ApiProperty({ description: '락 구분 코드' }) | ||
flng_cls_code: string; | ||
|
||
@ApiProperty({ description: '분할 비율' }) | ||
prtt_rate: string; | ||
|
||
@ApiProperty({ description: '분할변경여부' }) | ||
mod_yn: string; | ||
|
||
@ApiProperty({ description: '전일 대비 부호' }) | ||
prdy_vrss_sign: string; | ||
|
||
@ApiProperty({ description: '전일 대비' }) | ||
prdy_vrss: string; | ||
|
||
@ApiProperty({ description: '재평가사유코드' }) | ||
revl_issu_reas: string; | ||
} |
34 changes: 34 additions & 0 deletions
34
BE/src/stock/detail/dto/stock-detail-query-parameter.dto.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/** | ||
* 주식 현재가 시세 API를 사용할 때 쿼리 파라미터로 사용할 요청값 DTO | ||
*/ | ||
export class StockDetailQueryParameterDto { | ||
/** | ||
* 조건 시장 분류 코드 | ||
* 'J' 주식 | ||
*/ | ||
fid_cond_mrkt_div_code: string; | ||
|
||
/** | ||
* 주식 종목 코드 | ||
* (ex) 005930 | ||
*/ | ||
fid_input_iscd: string; | ||
|
||
/** | ||
* 조회 시작일자 | ||
* (ex) 20220501 | ||
*/ | ||
fid_input_date_1: string; | ||
|
||
/** | ||
* 조회 종료일자 | ||
* (ex) 20220530 | ||
*/ | ||
fid_input_date_2: string; | ||
|
||
/** | ||
* 기간 분류 코드 | ||
* D:일봉, W:주봉, M:월봉, Y:년봉 | ||
*/ | ||
fid_period_div_code: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
|
||
/** | ||
* 국내주식기간별시세(일/주/월/년) API를 이용할 때 필요한 요청 데이터를 담고 있는 DTO | ||
*/ | ||
export class StockDetailRequestDto { | ||
@ApiProperty({ description: '조회 시작일자 (ex) 20220501' }) | ||
fid_input_date_1: string; | ||
|
||
@ApiProperty({ description: '조회 종료일자 (ex) 20220530' }) | ||
fid_input_date_2: string; | ||
|
||
@ApiProperty({ | ||
description: '기간 분류 코드 (ex) D(일봉) W(주봉) M(월봉) Y(년봉)', | ||
}) | ||
fid_period_div_code: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
import { InquirePriceOutput1Dto } from './stock-detail-output1.dto'; | ||
import { InquirePriceOutput2Dto } from './stock-detail-output2.dto'; | ||
|
||
/** | ||
* 국내주식기간별시세(일/주/월/년) API 응답값 정제 후 FE에 보낼 DTO | ||
*/ | ||
export class InquirePriceResponseDto { | ||
@ApiProperty({ type: InquirePriceOutput1Dto, description: '상승률 순위' }) | ||
output1: InquirePriceOutput1Dto; | ||
|
||
@ApiProperty({ type: [InquirePriceOutput2Dto], description: '하락률 순위' }) | ||
output2: InquirePriceOutput2Dto[]; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
export interface InquirePriceOutput1Data { | ||
prdy_vrss: string; | ||
prdy_vrss_sign: string; | ||
prdy_ctrt: string; | ||
stck_prdy_clpr: string; | ||
acml_vol: string; | ||
acml_tr_pbmn: string; | ||
hts_kor_isnm: string; | ||
stck_prpr: string; | ||
stck_shrn_iscd: string; | ||
prdy_vol: string; | ||
stck_mxpr: string; | ||
stck_llam: string; | ||
stck_oprc: string; | ||
stck_hgpr: string; | ||
stck_lwpr: string; | ||
stck_prdy_oprc: string; | ||
stck_prdy_hgpr: string; | ||
stck_prdy_lwpr: string; | ||
askp: string; | ||
bidp: string; | ||
prdy_vrss_vol: string; | ||
vol_tnrt: string; | ||
stck_fcam: string; | ||
lstn_stcn: string; | ||
cpfn: string; | ||
hts_avls: string; | ||
per: string; | ||
eps: string; | ||
pbr: string; | ||
itewhol_loan_rmnd_ratem_name: string; | ||
} | ||
|
||
export interface InquirePriceOutput2Data { | ||
stck_bsop_date: string; | ||
stck_clpr: string; | ||
stck_oprc: string; | ||
stck_hgpr: string; | ||
stck_lwpr: string; | ||
acml_vol: string; | ||
acml_tr_pbmn: string; | ||
flng_cls_code: string; | ||
prtt_rate: string; | ||
mod_yn: string; | ||
prdy_vrss_sign: string; | ||
prdy_vrss: string; | ||
revl_issu_reas: string; | ||
} | ||
|
||
export interface InquirePriceApiResponse { | ||
output1: InquirePriceOutput1Data; | ||
output2: InquirePriceOutput2Data[]; | ||
rt_cd: string; | ||
msg_cd: string; | ||
msg1: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import { Body, Controller, Param, Post } from '@nestjs/common'; | ||
import { ApiBody, ApiOperation, ApiParam, ApiResponse } from '@nestjs/swagger'; | ||
import { StockDetailService } from './stock-detail.service'; | ||
import { StockDetailRequestDto } from './dto/stock-detail-request.dto'; | ||
import { InquirePriceResponseDto } from './dto/stock-detail-response.dto'; | ||
|
||
@Controller('/api/stocks') | ||
export class StockDetailController { | ||
constructor(private readonly stockDetailService: StockDetailService) {} | ||
|
||
@Post(':stockCode') | ||
@ApiOperation({ summary: '단일 주식 종목 detail 페이지 상단부 조회 API' }) | ||
@ApiParam({ | ||
name: 'stockCode', | ||
required: true, | ||
description: | ||
'종목 코드\n\n' + | ||
'(ex) 005930 삼성전자 / 005380 현대차 / 001500 현대차증권', | ||
}) | ||
@ApiBody({ | ||
description: | ||
'주식 상세 조회에 필요한 데이터\n\n' + | ||
'fid_input_date_1: 조회 시작일자 (ex) 20240505\n\n' + | ||
'fid_input_date_2: 조회 종료일자 (ex) 20241111\n\n' + | ||
'fid_period_div_code: 기간 분류 코드 (ex) D(일봉), W(주봉), M(월봉), Y(년봉)', | ||
type: StockDetailRequestDto, | ||
}) | ||
@ApiResponse({ | ||
status: 201, | ||
description: '단일 주식 종목 기본값 조회 성공', | ||
type: InquirePriceResponseDto, | ||
}) | ||
getStockDetail( | ||
@Param('stockCode') stockCode: string, | ||
@Body() body: StockDetailRequestDto, | ||
) { | ||
const { fid_input_date_1, fid_input_date_2, fid_period_div_code } = body; | ||
return this.stockDetailService.getInquirePrice( | ||
stockCode, | ||
fid_input_date_1, | ||
fid_input_date_2, | ||
fid_period_div_code, | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import { Module } from '@nestjs/common'; | ||
import { KoreaInvestmentModule } from '../../koreaInvestment/korea-investment.module'; | ||
import { StockDetailController } from './stock-detail.controller'; | ||
import { StockDetailService } from './stock-detail.service'; | ||
|
||
@Module({ | ||
imports: [KoreaInvestmentModule], | ||
controllers: [StockDetailController], | ||
providers: [StockDetailService], | ||
}) | ||
export class StockDetailModule {} |
Oops, something went wrong.