Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* style: 패키지 이동 - co.fineants.api 구조로 변경 * style: 코드 정리 * feat: 사용하지 않는 코드 제거 * fix: 갱신 주기 오타 수정 * Release 0.0.6 (#453) * feat: 종목 및 배당 일정 최신화 기능 cron 표현식 수정 (#428) 릴리즈 서버는 7시에 수행, 프로덕션은 8시에 수행 * [refactor] 종목 및 배당일정 초기화 코드 개선 (#429) * feat: 접근 제한자 private 변경 및 트랜잭션 애노테이션 제거 * feat: usd 환율 생성 로직 추가 * style: 코드 정리 * style: 메서드 순서 정리 * feat: 관리자 및 매니저 정보 프로퍼티화 * feat: 관리자 및 매니저 프로퍼티 추가 * refactor: createMemberIfNotFound 메서드 코드 수정 * refactor: 알림 환경설정 초기화 메서드 분리 * refactor: createRoleIfNotFound 메서드명 변경 db에 저장하는 것이기 때문에 save가 더 적절하다고 생각함 * refactor: findOrCreateRole 메서드로 분리 * style: 코드 정리 * rename: SetUpDataLoader 클래스명 변경 * feat: SetupDataLoader 클래스로 분리 * refactor: supplierNotFoundRoleExpceiton 메서드로 분리 * refactor: createExchangeRateIfNotFount 메서드명 변경 * refactor: 스트림 형식으로 변경 * feat: 시크릿 정보 수정 - 역할 정보 추가 * feat: RoleProperties 추가 * feat: 역할별 getter 추가 * refactor: Role 리소스 생성 로직 스트림으로 변경 * refactor: getter 제거 및 클래스명 RoleProperty로 변경 * style: 코드 정리 * test: setupResources 테스트 추가 * test: setupResources 테스트에 멤버 검증문 추가 * test: Authentication 검증문 추가 * test: 검증문 추가 * style: 주석 추가 * test: 환율 검증문 추가 * teset: kisService 객체 모킹 * test: 종목 검증문 추가 및 종목 초기화 로직 추가 * feat: readDividendCsv 메서드 구현 * rename: stocks.csv, dividends.csv 파일을 test/resources로 이동 * feat: 배당금 초기화 추가 * feat: UserProperties 추가 * rename: properties 파일 이동 * feat: 시크릿 정보 변경 - 샘플 유저 추가 * docs: mysql script 제거 * feat: Stock.parse 정적 팩토리 메서드에 예외 캐치 추가 * feat: stocks.csv -> stocks.txt로 변경 * test: 테스트 문제 해결 * feat: parseCsvLine 구현 - Ltd가 포함된 종목은 쉼표를 포함하고 있기 때문에 원할한 쉼표 분할을 위해서 별도의 패턴을 구현함 * feat: Pattern 변경 * test: 테스트 실패 해결 * feat: 시크릿 정보 변경 - csv 파일로 변경 * [refactor] kisClient 리팩토링 (#432) * feat: 예외 발생시 로깅 * feat: 예외 처리 * refatcotr: 불필요한 샘플 종목 생성 코드 제거 * feat: AbstractContainerBaseTest 추상화 * feat: AstractContainerBaseTest 추상 클래스로 변경 * feat: CheckedKisAccessToken 애노테이션 추가 - 해당 애노테이션을 통하여 한국투자증권 서버의 액세스 토큰의 만료를 확인합니다. * test: fetchDividend 테스트 추가 * feat: 애노테이션 기반 AccesTokenExpiration aop 메서드 구현 * test: fetchDividend 테스트에서 액세스 토큰 발급 케이스 테스트 추가 * test: 테스트 문제 해결 * refactor: fetchDividend 기존 aop 제거 * feat: 메서드 바꿔치기 * feat: kisService의 public 메서드에 액세스 토큰 체크 애노테이션 설정 * test: kisAccessToken tearDown 처리 * test: zzFetchCurrentPrice 테스트 추가 해당 테스트는 변경하고자 하는 메서드로써 추후 기존 메서드와 바꿔치기 예정 * refactor: fetchCurrentPrice 시그니처 변경 * test: 테스트명 fetchCurrentPrice로 변경 * refactor: 모의 도메인 webClient 제거 * refactor: 모의 도메인 webClient 스프링 빈 제거 * refactor: fetchClosingPrice 시그니처 변경 * test: fetchClosingPrice 테스트 추가 * refactor: fetchDividendThisYear 메서드 시그니처 변경 * test: fetchDividendAll 테스트 추가 * refactor: fetchDividendAll 메서드 Mono<List<KisDividend>> 반환하도록 변경 * refactor: fetchIpo 메서드의 시그니처 변경 * feat: basicIso 메서드 추출 * feat: basicIso 매개변수명 변경 * feat: fetchSearchStockInfo 메서드 시그니처 변경 * refactor: performGet 메서드 시그니처 변경 * feat: KisProperties로 클래스명 변경 * feat: tokenUrl 시크릿 정보 변경 * refactor: KisProperty 클래스 추가 및 appKey 프로퍼티 변경 * refactor: KisAccessTokenRequest 클래스 생성 * feat: 액세스 토큰 전달 방식 변경 - KisAccessTokenRequest 객체를 만들어 전달하는 것으로 변경 * feat: KisAccessTokenRequest getter, 공백생성자 제거, final 붙힘 * refactor: KisHeader enum 클래스 추가 및 헤더를 교체 * feat: KisHeaderBuilder 구현 * feat: fetchDividend header 변경 * refactor: header 변경 * feat: KisTrIdProperties 클래스 추가 해당 클래스는 한국투자증권 서버의 정보 조회시 필요한 거래 아이디 * refactor: 생성자 변경 * refactor: kisTrIdProperties 객체를 이용하여 변경 * test: kisService에서 액세스 토큰 실패 테스트 제거 * feat: KisQueryParamBuilder 클래스 구현 * refactor: 쿼리파라미터 enum으로 변경 * feat: kis 시크릿 정보 변경 - tr-id 추가 * refactor: fetchDividend 쿼리파라미터 빌더로 변경 * refactor: fetchDiviend 메서드의 쿼리 파라미터 변경 * feat: kisClient의 메서드들의 쿼리 파라미터를 빌더로 변경 * style: 코드 정리 * feat: KisCodeValue 인터페이스 정의 및 구현체 구현 * rename: 패키지 이동 * feat: FidPeriodDivCode enum 클래스 구현 * feat: FidOrgAdjPrc enum 클래스 구현 * feat: 배당금 종류인 GB1 enum 클래스 구현 * feat: 상품유형 코드 enum 클래스 구현 * feat: CustomerType enum 클래스 구현 * style: 코드 정리 * [refactor] kisClient 리팩토링 (#433) * feat: 예외 발생시 로깅 * feat: 예외 처리 * refatcotr: 불필요한 샘플 종목 생성 코드 제거 * feat: AbstractContainerBaseTest 추상화 * feat: AstractContainerBaseTest 추상 클래스로 변경 * feat: CheckedKisAccessToken 애노테이션 추가 - 해당 애노테이션을 통하여 한국투자증권 서버의 액세스 토큰의 만료를 확인합니다. * test: fetchDividend 테스트 추가 * feat: 애노테이션 기반 AccesTokenExpiration aop 메서드 구현 * test: fetchDividend 테스트에서 액세스 토큰 발급 케이스 테스트 추가 * test: 테스트 문제 해결 * refactor: fetchDividend 기존 aop 제거 * feat: 메서드 바꿔치기 * feat: kisService의 public 메서드에 액세스 토큰 체크 애노테이션 설정 * test: kisAccessToken tearDown 처리 * test: zzFetchCurrentPrice 테스트 추가 해당 테스트는 변경하고자 하는 메서드로써 추후 기존 메서드와 바꿔치기 예정 * refactor: fetchCurrentPrice 시그니처 변경 * test: 테스트명 fetchCurrentPrice로 변경 * refactor: 모의 도메인 webClient 제거 * refactor: 모의 도메인 webClient 스프링 빈 제거 * refactor: fetchClosingPrice 시그니처 변경 * test: fetchClosingPrice 테스트 추가 * refactor: fetchDividendThisYear 메서드 시그니처 변경 * test: fetchDividendAll 테스트 추가 * refactor: fetchDividendAll 메서드 Mono<List<KisDividend>> 반환하도록 변경 * refactor: fetchIpo 메서드의 시그니처 변경 * feat: basicIso 메서드 추출 * feat: basicIso 매개변수명 변경 * feat: fetchSearchStockInfo 메서드 시그니처 변경 * refactor: performGet 메서드 시그니처 변경 * feat: KisProperties로 클래스명 변경 * feat: tokenUrl 시크릿 정보 변경 * refactor: KisProperty 클래스 추가 및 appKey 프로퍼티 변경 * refactor: KisAccessTokenRequest 클래스 생성 * feat: 액세스 토큰 전달 방식 변경 - KisAccessTokenRequest 객체를 만들어 전달하는 것으로 변경 * feat: KisAccessTokenRequest getter, 공백생성자 제거, final 붙힘 * refactor: KisHeader enum 클래스 추가 및 헤더를 교체 * feat: KisHeaderBuilder 구현 * feat: fetchDividend header 변경 * refactor: header 변경 * feat: KisTrIdProperties 클래스 추가 해당 클래스는 한국투자증권 서버의 정보 조회시 필요한 거래 아이디 * refactor: 생성자 변경 * refactor: kisTrIdProperties 객체를 이용하여 변경 * test: kisService에서 액세스 토큰 실패 테스트 제거 * feat: KisQueryParamBuilder 클래스 구현 * refactor: 쿼리파라미터 enum으로 변경 * feat: kis 시크릿 정보 변경 - tr-id 추가 * refactor: fetchDividend 쿼리파라미터 빌더로 변경 * refactor: fetchDiviend 메서드의 쿼리 파라미터 변경 * feat: kisClient의 메서드들의 쿼리 파라미터를 빌더로 변경 * style: 코드 정리 * feat: KisCodeValue 인터페이스 정의 및 구현체 구현 * rename: 패키지 이동 * feat: FidPeriodDivCode enum 클래스 구현 * feat: FidOrgAdjPrc enum 클래스 구현 * feat: 배당금 종류인 GB1 enum 클래스 구현 * feat: 상품유형 코드 enum 클래스 구현 * feat: CustomerType enum 클래스 구현 * style: 코드 정리 * test: 테스트 실해 해결 currentPrice 참조과정에서 액세스 토큰 발급이 실패되어 무한 루프에 빠짐 * fix: addCurrentPrice 수행시 액세스 토큰 호출 제거 - fetchCurrentPrice 실행전 aop에 의해서 실행되기 때문에 제거 * fix: 액세스 토큰 발급 문제 해결 * [refactor] currentPriceRepository 개선 (#435) * rename: 메서드명을 fetchCurrentPrice로 변경 * refactor: 현재가 조회 모듈 리팩토링 * refactor: redis key, value 메서드 추가 * rename: currentPriceRepository 클래스명 변경 * rename: CurrentPriceRedisRepository의 메소드를 인터페이스에 맞게 변경 * [fix] 매입 이력 알람 리스너 문제 해결 (#438) * refactor: 현재가 갱신 단순 스트림 방식으로 변경 * refactor: 불필요한 메서드 제거 * refactor: toArray 메서드로 분리 * feat: Flux 방식으로 변경 * fix: Mono.error 모킹 해결 * feat: 현재가 조회 부분을 반복문에서 람다로 변경 * refactor: Flux 형태로 현잭가 조회 개선 * style: 코드 정리 * style: 코드 정리 * feat: 컬렉션 필드를 불변 컬렉션으로 반환하도록 변경 PortfolioHolding 클래스의 getPurchaseHistory 메서드 같은 경우 서비스에 문제점이 있어서 todo 남김 * feat: purchaseHistory 컬렉션을 반환시 불변 컬렉션으로 반환 * fix: todo 제거 * feat: 불변 컬렉션 반환으로 인한 코드 제거 * style: 코드 정리 * style: 로깅 제거 * fix: @EnableAsync 애노테이션을 추가하여 비동기 활성화 및 이벤트 리스너의 반환 타입을 CompletableFuture로 변경 * test: PurchaseHistoryServiceTest에 있는 매입 이력 이벤트(추가/삭제)에 따른 알림 이벤트 테스트를 제거하고 리스너 테스트에 최대 손실 알림 테스트 추가 * feat: @eventlistener를 @TransactionalEventListener로 변경 * feat: github action 워크플로우에 설정 추가 * feat: clear문 추가 * test: beforeEach에 clear 추가 * fix: 현재가 조회에 retry 연산 추가 (#442) * hotfix: onErrorResume 연산 제거 - 요청 건수 초과와 같은 이유로 액세스 토큰 발급이 실패하였을때 Mono.empty()를 반환하게 되어 예외가 발생하고 스케줄링 메서드에 의해서 계속 시도하게 되면서 발급 알림이 계속 가는것으로 추측 * [fix] 액세스 토큰 Aspect 수정 (#445) * feat: retry연산에서 재시도 시간을 1분으로 변경 * feat: 액세스 토큰 만료 1시간 전에 재발급하는 조건문 추가 * feat: @CheckKisAccessToken 추가 * feat: accessToken 필드 null 처리 * test: 만료 1시간 이전 액세스 토큰 재발급의 테스트 추가 * feat: 프로덕션 서버 스케줄링 서비스 메서드 따로 분리 * [fix] 액세스 토큰 재발급 문제 해결 (#446) * test: 액세스 토큰 만료시 예외케이스 추가 * fix: Flux 방식에서 단순 반복문으로 변경 - 병렬 과정에서 액세스 토큰 만료시 무한 시도 문제 해결을 위해서 단순화 * test: 테스트 수정 * test: todo 주석 추가 * feat: kisException 객체로 매핑하여 반환하도록 변경 * test: 테스트 실패 해결 * test: 초당 거래 건수 초과 에러 응답하는 예외 케이스 추가 * feat: returnCode, messageCode 필드 추가 * feat: KisException의 서브 클래스 추가 * feat: onErrorResume 및 retryWhen 연산 수정 - 액세스 토큰이 만료되는 경우에는 Mono.empty() 반환 - retryWhen 연산에서 요청건수 초과인 경우에만 재시도하도록 함 * feat: KisClient의 에러 핸들 처리 메서드(handleError) 수정 - 한국투자증권서버로부터 에러 응답을 수신 시 KisErrorResponse로 매핑한 다음에 Exception으로 변환 * feat: 한국투자증권 서버의 에러 응답 객체 구 * rename: 클래스명 변경 * refactor: toException 메서드 변경 - switch 문으로 개선 * test: Exception 생성 부분을 정적 팩토리 호출로 변경 * refactor: null 체크 조건문 삭제 * feat: 재시도 연산이 실패했을시 onErrorResume 추가 * test: 재시도 연산이 실패시 예외 테스트 추가 * test: kisClient 모킹 처리 * test: 다수 종목 갱신 테스트 추가 * refactor: Flux 방식으로 변경 * refactor: onErrorResume 연산 수정 * test: 테스트 코드 수정 * feat: 액세스 토큰 관련 예외 추가 * feat: accessToken 널 체크 추가 * feat: doOnSuccess 연산 추가 * feat: CredeintailsTypeException 조건 추가 * fix: @CheckKisAccessToken 애노테이션 제거 - 비동기로 실행중 액세스 토큰 제거 또는 만료시 aop의 blockoptional에 의해서 에러 발생하여 kisService로 이동하고자 애노테이션을 제거함 * feat: deleteAccessToken api 추가 * feat: kisService에 액세스 토큰 체크 애노테이션 추가 * test: 레디스 클리너 추가 * fix: 메서드명 변경 * refactor: fetchDividend 반환 타입 변경 * rename: 메서드명 변경 * rename: 메서드명 변경 * refactor: delayManager로 변경 * test: delayManager 추가하여 테스트 실패 해결 * test: delayManager를 @SpyBean으로 변경 * test: holidayManager 필드 제거 * feat: 액세스 토큰 재발급 관련 수정 * fix: 테스트 실패 해결 * fix: currentPrice 조회에 에러 폴백 연산 추가 * fix: checkAccessToken 애노테이션 추가 * [fix] 액세스 토큰 갱신 구조 변경 (#449) * feat: TIMEOUT 필드 이름 변경 * fix: 종목 조회 및 배당 일정 조회 메서드를 Mono 타입으로 반환하도록 변경 * test: 테스트 실패 해결 * test: 상장 종목 조회의 예외 케이스 추가 * fix: Flux 연산 수행중 별도의 쓰레드에서 동작시 blocking하지 않도록 변경 * test: 테스트 실패 해결 * test: todo 추가 및 새로운 테스트 추가 - 도중에 blocking되지 않아야함 * fix: fetchDividend 메서드 반환타입을 Flux로 변경 * test: 테스트 추가 * test: 액세스 토큰 재발급 실패시 에외 케이스 테스트 추가 * fix: checkAccessToken 애노테이션으로 변경 * fix: onErrorResume 연산 추가 * feat: 로깅 추가 * test: 테스트 제거 * feat: 액세스 토큰을 재발급하는 스케줄러 구현 * test: 액세스 토큰 재발급하는 테스트 추가 * feat: 스케줄러 주기 변경 * fix: aop 제거 및 애노테이션 제거 * refactor: 종가 저장소 개선 * feat: 애노테이션 제거 * rename: 패키지 이동 * style: 코드 정리 * [feat] �배당금 엔티티에 필드 추가 및 포트폴리오 필드 추가 (#451) * feat: Portfolio의 LocalDate 모킹 * feat: StockDividend 필드에 isDeleted 컬럼 추가 * [style] 코드 정리 (#452) * feat: Portfolio의 LocalDate 모킹 * feat: StockDividend 필드에 isDeleted 컬럼 추가 * feat: DividendDates 임베디드 클래스 추가 * feat: StockDividendParser 추가 * feat: 생성자 압축 * refactor: 객체지향적으로 변경 * refactor: Stock 필드에 LocalDateTimeService 추가 * refactor: StockParser 추가 및 분리 * style: 코드 정리 * fix: HashTable 변경 * style: equals 재정의 * refactor: 불필요한 메서드 인수 제거 * Refactor: file.delete 개선 * style: 코드 정리 * style: sonarLint에 따른 코드 정리 * fix: 테스트 실패 해결 * style:: 코드 정리 * test: 테스트 해결 * style: 코드 정리 * [feat] �배당금 엔티티에 필드 추가 및 포트폴리오 필드 추가 (#451) * feat: Portfolio의 LocalDate 모킹 * feat: StockDividend 필드에 isDeleted 컬럼 추가 * test: 테스트 실패 해결 * [refactor] kisClient 리팩토링 (#433) * feat: 예외 발생시 로깅 * feat: 예외 처리 * refatcotr: 불필요한 샘플 종목 생성 코드 제거 * feat: AbstractContainerBaseTest 추상화 * feat: AstractContainerBaseTest 추상 클래스로 변경 * feat: CheckedKisAccessToken 애노테이션 추가 - 해당 애노테이션을 통하여 한국투자증권 서버의 액세스 토큰의 만료를 확인합니다. * test: fetchDividend 테스트 추가 * feat: 애노테이션 기반 AccesTokenExpiration aop 메서드 구현 * test: fetchDividend 테스트에서 액세스 토큰 발급 케이스 테스트 추가 * test: 테스트 문제 해결 * refactor: fetchDividend 기존 aop 제거 * feat: 메서드 바꿔치기 * feat: kisService의 public 메서드에 액세스 토큰 체크 애노테이션 설정 * test: kisAccessToken tearDown 처리 * test: zzFetchCurrentPrice 테스트 추가 해당 테스트는 변경하고자 하는 메서드로써 추후 기존 메서드와 바꿔치기 예정 * refactor: fetchCurrentPrice 시그니처 변경 * test: 테스트명 fetchCurrentPrice로 변경 * refactor: 모의 도메인 webClient 제거 * refactor: 모의 도메인 webClient 스프링 빈 제거 * refactor: fetchClosingPrice 시그니처 변경 * test: fetchClosingPrice 테스트 추가 * refactor: fetchDividendThisYear 메서드 시그니처 변경 * test: fetchDividendAll 테스트 추가 * refactor: fetchDividendAll 메서드 Mono<List<KisDividend>> 반환하도록 변경 * refactor: fetchIpo 메서드의 시그니처 변경 * feat: basicIso 메서드 추출 * feat: basicIso 매개변수명 변경 * feat: fetchSearchStockInfo 메서드 시그니처 변경 * refactor: performGet 메서드 시그니처 변경 * feat: KisProperties로 클래스명 변경 * feat: tokenUrl 시크릿 정보 변경 * refactor: KisProperty 클래스 추가 및 appKey 프로퍼티 변경 * refactor: KisAccessTokenRequest 클래스 생성 * feat: 액세스 토큰 전달 방식 변경 - KisAccessTokenRequest 객체를 만들어 전달하는 것으로 변경 * feat: KisAccessTokenRequest getter, 공백생성자 제거, final 붙힘 * refactor: KisHeader enum 클래스 추가 및 헤더를 교체 * feat: KisHeaderBuilder 구현 * feat: fetchDividend header 변경 * refactor: header 변경 * feat: KisTrIdProperties 클래스 추가 해당 클래스는 한국투자증권 서버의 정보 조회시 필요한 거래 아이디 * refactor: 생성자 변경 * refactor: kisTrIdProperties 객체를 이용하여 변경 * test: kisService에서 액세스 토큰 실패 테스트 제거 * feat: KisQueryParamBuilder 클래스 구현 * refactor: 쿼리파라미터 enum으로 변경 * feat: kis 시크릿 정보 변경 - tr-id 추가 * refactor: fetchDividend 쿼리파라미터 빌더로 변경 * refactor: fetchDiviend 메서드의 쿼리 파라미터 변경 * feat: kisClient의 메서드들의 쿼리 파라미터를 빌더로 변경 * style: 코드 정리 * feat: KisCodeValue 인터페이스 정의 및 구현체 구현 * rename: 패키지 이동 * feat: FidPeriodDivCode enum 클래스 구현 * feat: FidOrgAdjPrc enum 클래스 구현 * feat: 배당금 종류인 GB1 enum 클래스 구현 * feat: 상품유형 코드 enum 클래스 구현 * feat: CustomerType enum 클래스 구현 * style: 코드 정리 * [refactor] kisClient 리팩토링 (#432) * feat: 예외 발생시 로깅 * feat: 예외 처리 * refatcotr: 불필요한 샘플 종목 생성 코드 제거 * feat: AbstractContainerBaseTest 추상화 * feat: AstractContainerBaseTest 추상 클래스로 변경 * feat: CheckedKisAccessToken 애노테이션 추가 - 해당 애노테이션을 통하여 한국투자증권 서버의 액세스 토큰의 만료를 확인합니다. * test: fetchDividend 테스트 추가 * feat: 애노테이션 기반 AccesTokenExpiration aop 메서드 구현 * test: fetchDividend 테스트에서 액세스 토큰 발급 케이스 테스트 추가 * test: 테스트 문제 해결 * refactor: fetchDividend 기존 aop 제거 * feat: 메서드 바꿔치기 * feat: kisService의 public 메서드에 액세스 토큰 체크 애노테이션 설정 * test: kisAccessToken tearDown 처리 * test: zzFetchCurrentPrice 테스트 추가 해당 테스트는 변경하고자 하는 메서드로써 추후 기존 메서드와 바꿔치기 예정 * refactor: fetchCurrentPrice 시그니처 변경 * test: 테스트명 fetchCurrentPrice로 변경 * refactor: 모의 도메인 webClient 제거 * refactor: 모의 도메인 webClient 스프링 빈 제거 * refactor: fetchClosingPrice 시그니처 변경 * test: fetchClosingPrice 테스트 추가 * refactor: fetchDividendThisYear 메서드 시그니처 변경 * test: fetchDividendAll 테스트 추가 * refactor: fetchDividendAll 메서드 Mono<List<KisDividend>> 반환하도록 변경 * refactor: fetchIpo 메서드의 시그니처 변경 * feat: basicIso 메서드 추출 * feat: basicIso 매개변수명 변경 * feat: fetchSearchStockInfo 메서드 시그니처 변경 * refactor: performGet 메서드 시그니처 변경 * feat: KisProperties로 클래스명 변경 * feat: tokenUrl 시크릿 정보 변경 * refactor: KisProperty 클래스 추가 및 appKey 프로퍼티 변경 * refactor: KisAccessTokenRequest 클래스 생성 * feat: 액세스 토큰 전달 방식 변경 - KisAccessTokenRequest 객체를 만들어 전달하는 것으로 변경 * feat: KisAccessTokenRequest getter, 공백생성자 제거, final 붙힘 * refactor: KisHeader enum 클래스 추가 및 헤더를 교체 * feat: KisHeaderBuilder 구현 * feat: fetchDividend header 변경 * refactor: header 변경 * feat: KisTrIdProperties 클래스 추가 해당 클래스는 한국투자증권 서버의 정보 조회시 필요한 거래 아이디 * refactor: 생성자 변경 * refactor: kisTrIdProperties 객체를 이용하여 변경 * test: kisService에서 액세스 토큰 실패 테스트 제거 * feat: KisQueryParamBuilder 클래스 구현 * refactor: 쿼리파라미터 enum으로 변경 * feat: kis 시크릿 정보 변경 - tr-id 추가 * refactor: fetchDividend 쿼리파라미터 빌더로 변경 * refactor: fetchDiviend 메서드의 쿼리 파라미터 변경 * feat: kisClient의 메서드들의 쿼리 파라미터를 빌더로 변경 * style: 코드 정리 * feat: KisCodeValue 인터페이스 정의 및 구현체 구현 * rename: 패키지 이동 * feat: FidPeriodDivCode enum 클래스 구현 * feat: FidOrgAdjPrc enum 클래스 구현 * feat: 배당금 종류인 GB1 enum 클래스 구현 * feat: 상품유형 코드 enum 클래스 구현 * feat: CustomerType enum 클래스 구현 * style: 코드 정리 * [refactor] kisClient 리팩토링 (#433) * feat: 예외 발생시 로깅 * feat: 예외 처리 * refatcotr: 불필요한 샘플 종목 생성 코드 제거 * feat: AbstractContainerBaseTest 추상화 * feat: AstractContainerBaseTest 추상 클래스로 변경 * feat: CheckedKisAccessToken 애노테이션 추가 - 해당 애노테이션을 통하여 한국투자증권 서버의 액세스 토큰의 만료를 확인합니다. * test: fetchDividend 테스트 추가 * feat: 애노테이션 기반 AccesTokenExpiration aop 메서드 구현 * test: fetchDividend 테스트에서 액세스 토큰 발급 케이스 테스트 추가 * test: 테스트 문제 해결 * refactor: fetchDividend 기존 aop 제거 * feat: 메서드 바꿔치기 * feat: kisService의 public 메서드에 액세스 토큰 체크 애노테이션 설정 * test: kisAccessToken tearDown 처리 * test: zzFetchCurrentPrice 테스트 추가 해당 테스트는 변경하고자 하는 메서드로써 추후 기존 메서드와 바꿔치기 예정 * refactor: fetchCurrentPrice 시그니처 변경 * test: 테스트명 fetchCurrentPrice로 변경 * refactor: 모의 도메인 webClient 제거 * refactor: 모의 도메인 webClient 스프링 빈 제거 * refactor: fetchClosingPrice 시그니처 변경 * test: fetchClosingPrice 테스트 추가 * refactor: fetchDividendThisYear 메서드 시그니처 변경 * test: fetchDividendAll 테스트 추가 * refactor: fetchDividendAll 메서드 Mono<List<KisDividend>> 반환하도록 변경 * refactor: fetchIpo 메서드의 시그니처 변경 * feat: basicIso 메서드 추출 * feat: basicIso 매개변수명 변경 * feat: fetchSearchStockInfo 메서드 시그니처 변경 * refactor: performGet 메서드 시그니처 변경 * feat: KisProperties로 클래스명 변경 * feat: tokenUrl 시크릿 정보 변경 * refactor: KisProperty 클래스 추가 및 appKey 프로퍼티 변경 * refactor: KisAccessTokenRequest 클래스 생성 * feat: 액세스 토큰 전달 방식 변경 - KisAccessTokenRequest 객체를 만들어 전달하는 것으로 변경 * feat: KisAccessTokenRequest getter, 공백생성자 제거, final 붙힘 * refactor: KisHeader enum 클래스 추가 및 헤더를 교체 * feat: KisHeaderBuilder 구현 * feat: fetchDividend header 변경 * refactor: header 변경 * feat: KisTrIdProperties 클래스 추가 해당 클래스는 한국투자증권 서버의 정보 조회시 필요한 거래 아이디 * refactor: 생성자 변경 * refactor: kisTrIdProperties 객체를 이용하여 변경 * test: kisService에서 액세스 토큰 실패 테스트 제거 * feat: KisQueryParamBuilder 클래스 구현 * refactor: 쿼리파라미터 enum으로 변경 * feat: kis 시크릿 정보 변경 - tr-id 추가 * refactor: fetchDividend 쿼리파라미터 빌더로 변경 * refactor: fetchDiviend 메서드의 쿼리 파라미터 변경 * feat: kisClient의 메서드들의 쿼리 파라미터를 빌더로 변경 * style: 코드 정리 * feat: KisCodeValue 인터페이스 정의 및 구현체 구현 * rename: 패키지 이동 * feat: FidPeriodDivCode enum 클래스 구현 * feat: FidOrgAdjPrc enum 클래스 구현 * feat: 배당금 종류인 GB1 enum 클래스 구현 * feat: 상품유형 코드 enum 클래스 구현 * feat: CustomerType enum 클래스 구현 * style: 코드 정리 * test: 테스트 실해 해결 currentPrice 참조과정에서 액세스 토큰 발급이 실패되어 무한 루프에 빠짐 * fix: addCurrentPrice 수행시 액세스 토큰 호출 제거 - fetchCurrentPrice 실행전 aop에 의해서 실행되기 때문에 제거 * fix: 액세스 토큰 발급 문제 해결 * [refactor] currentPriceRepository 개선 (#435) * rename: 메서드명을 fetchCurrentPrice로 변경 * refactor: 현재가 조회 모듈 리팩토링 * refactor: redis key, value 메서드 추가 * rename: currentPriceRepository 클래스명 변경 * rename: CurrentPriceRedisRepository의 메소드를 인터페이스에 맞게 변경 * [fix] 매입 이력 알람 리스너 문제 해결 (#438) * refactor: 현재가 갱신 단순 스트림 방식으로 변경 * refactor: 불필요한 메서드 제거 * refactor: toArray 메서드로 분리 * feat: Flux 방식으로 변경 * fix: Mono.error 모킹 해결 * feat: 현재가 조회 부분을 반복문에서 람다로 변경 * refactor: Flux 형태로 현잭가 조회 개선 * style: 코드 정리 * style: 코드 정리 * feat: 컬렉션 필드를 불변 컬렉션으로 반환하도록 변경 PortfolioHolding 클래스의 getPurchaseHistory 메서드 같은 경우 서비스에 문제점이 있어서 todo 남김 * feat: purchaseHistory 컬렉션을 반환시 불변 컬렉션으로 반환 * fix: todo 제거 * feat: 불변 컬렉션 반환으로 인한 코드 제거 * style: 코드 정리 * style: 로깅 제거 * fix: @EnableAsync 애노테이션을 추가하여 비동기 활성화 및 이벤트 리스너의 반환 타입을 CompletableFuture로 변경 * test: PurchaseHistoryServiceTest에 있는 매입 이력 이벤트(추가/삭제)에 따른 알림 이벤트 테스트를 제거하고 리스너 테스트에 최대 손실 알림 테스트 추가 * feat: @eventlistener를 @TransactionalEventListener로 변경 * feat: github action 워크플로우에 설정 추가 * feat: clear문 추가 * test: beforeEach에 clear 추가 * fix: 현재가 조회에 retry 연산 추가 (#442) * hotfix: onErrorResume 연산 제거 - 요청 건수 초과와 같은 이유로 액세스 토큰 발급이 실패하였을때 Mono.empty()를 반환하게 되어 예외가 발생하고 스케줄링 메서드에 의해서 계속 시도하게 되면서 발급 알림이 계속 가는것으로 추측 * [fix] 액세스 토큰 Aspect 수정 (#445) * feat: retry연산에서 재시도 시간을 1분으로 변경 * feat: 액세스 토큰 만료 1시간 전에 재발급하는 조건문 추가 * feat: @CheckKisAccessToken 추가 * feat: accessToken 필드 null 처리 * test: 만료 1시간 이전 액세스 토큰 재발급의 테스트 추가 * feat: 프로덕션 서버 스케줄링 서비스 메서드 따로 분리 * [fix] 액세스 토큰 재발급 문제 해결 (#446) * test: 액세스 토큰 만료시 예외케이스 추가 * fix: Flux 방식에서 단순 반복문으로 변경 - 병렬 과정에서 액세스 토큰 만료시 무한 시도 문제 해결을 위해서 단순화 * test: 테스트 수정 * test: todo 주석 추가 * feat: kisException 객체로 매핑하여 반환하도록 변경 * test: 테스트 실패 해결 * test: 초당 거래 건수 초과 에러 응답하는 예외 케이스 추가 * feat: returnCode, messageCode 필드 추가 * feat: KisException의 서브 클래스 추가 * feat: onErrorResume 및 retryWhen 연산 수정 - 액세스 토큰이 만료되는 경우에는 Mono.empty() 반환 - retryWhen 연산에서 요청건수 초과인 경우에만 재시도하도록 함 * feat: KisClient의 에러 핸들 처리 메서드(handleError) 수정 - 한국투자증권서버로부터 에러 응답을 수신 시 KisErrorResponse로 매핑한 다음에 Exception으로 변환 * feat: 한국투자증권 서버의 에러 응답 객체 구 * rename: 클래스명 변경 * refactor: toException 메서드 변경 - switch 문으로 개선 * test: Exception 생성 부분을 정적 팩토리 호출로 변경 * refactor: null 체크 조건문 삭제 * feat: 재시도 연산이 실패했을시 onErrorResume 추가 * test: 재시도 연산이 실패시 예외 테스트 추가 * test: kisClient 모킹 처리 * test: 다수 종목 갱신 테스트 추가 * refactor: Flux 방식으로 변경 * refactor: onErrorResume 연산 수정 * test: 테스트 코드 수정 * feat: 액세스 토큰 관련 예외 추가 * feat: accessToken 널 체크 추가 * feat: doOnSuccess 연산 추가 * feat: CredeintailsTypeException 조건 추가 * fix: @CheckKisAccessToken 애노테이션 제거 - 비동기로 실행중 액세스 토큰 제거 또는 만료시 aop의 blockoptional에 의해서 에러 발생하여 kisService로 이동하고자 애노테이션을 제거함 * feat: deleteAccessToken api 추가 * feat: kisService에 액세스 토큰 체크 애노테이션 추가 * test: 레디스 클리너 추가 * fix: 메서드명 변경 * refactor: fetchDividend 반환 타입 변경 * rename: 메서드명 변경 * rename: 메서드명 변경 * refactor: delayManager로 변경 * test: delayManager 추가하여 테스트 실패 해결 * test: delayManager를 @SpyBean으로 변경 * test: holidayManager 필드 제거 * feat: 액세스 토큰 재발급 관련 수정 * fix: 테스트 실패 해결 * fix: currentPrice 조회에 에러 폴백 연산 추가 * fix: checkAccessToken 애노테이션 추가 * [fix] 액세스 토큰 갱신 구조 변경 (#449) * feat: TIMEOUT 필드 이름 변경 * fix: 종목 조회 및 배당 일정 조회 메서드를 Mono 타입으로 반환하도록 변경 * test: 테스트 실패 해결 * test: 상장 종목 조회의 예외 케이스 추가 * fix: Flux 연산 수행중 별도의 쓰레드에서 동작시 blocking하지 않도록 변경 * test: 테스트 실패 해결 * test: todo 추가 및 새로운 테스트 추가 - 도중에 blocking되지 않아야함 * fix: fetchDividend 메서드 반환타입을 Flux로 변경 * test: 테스트 추가 * test: 액세스 토큰 재발급 실패시 에외 케이스 테스트 추가 * fix: checkAccessToken 애노테이션으로 변경 * fix: onErrorResume 연산 추가 * feat: 로깅 추가 * test: 테스트 제거 * feat: 액세스 토큰을 재발급하는 스케줄러 구현 * test: 액세스 토큰 재발급하는 테스트 추가 * feat: 스케줄러 주기 변경 * fix: aop 제거 및 애노테이션 제거 * refactor: 종가 저장소 개선 * feat: 애노테이션 제거 * rename: 패키지 이동 * style: 코드 정리 * [feat] �배당금 엔티티에 필드 추가 및 포트폴리오 필드 추가 (#451) * feat: Portfolio의 LocalDate 모킹 * feat: StockDividend 필드에 isDeleted 컬럼 추가 * [style] 코드 정리 (#452) * feat: Portfolio의 LocalDate 모킹 * feat: StockDividend 필드에 isDeleted 컬럼 추가 * feat: DividendDates 임베디드 클래스 추가 * feat: StockDividendParser 추가 * feat: 생성자 압축 * refactor: 객체지향적으로 변경 * refactor: Stock 필드에 LocalDateTimeService 추가 * refactor: StockParser 추가 및 분리 * style: 코드 정리 * fix: HashTable 변경 * style: equals 재정의 * refactor: 불필요한 메서드 인수 제거 * Refactor: file.delete 개선 * style: 코드 정리 * style: sonarLint에 따른 코드 정리 * fix: 테스트 실패 해결 * style:: 코드 정리 * test: 테스트 해결 * style: 코드 정리 * [feat] �배당금 엔티티에 필드 추가 및 포트폴리오 필드 추가 (#451) * feat: Portfolio의 LocalDate 모킹 * feat: StockDividend 필드에 isDeleted 컬럼 추가 * test: 테스트 실패 해결 * [refactor] kisClient 리팩토링 (#433) * feat: 예외 발생시 로깅 * feat: 예외 처리 * refatcotr: 불필요한 샘플 종목 생성 코드 제거 * feat: AbstractContainerBaseTest 추상화 * feat: AstractContainerBaseTest 추상 클래스로 변경 * feat: CheckedKisAccessToken 애노테이션 추가 - 해당 애노테이션을 통하여 한국투자증권 서버의 액세스 토큰의 만료를 확인합니다. * test: fetchDividend 테스트 추가 * feat: 애노테이션 기반 AccesTokenExpiration aop 메서드 구현 * test: fetchDividend 테스트에서 액세스 토큰 발급 케이스 테스트 추가 * test: 테스트 문제 해결 * refactor: fetchDividend 기존 aop 제거 * feat: 메서드 바꿔치기 * feat: kisService의 public 메서드에 액세스 토큰 체크 애노테이션 설정 * test: kisAccessToken tearDown 처리 * test: zzFetchCurrentPrice 테스트 추가 해당 테스트는 변경하고자 하는 메서드로써 추후 기존 메서드와 바꿔치기 예정 * refactor: fetchCurrentPrice 시그니처 변경 * test: 테스트명 fetchCurrentPrice로 변경 * refactor: 모의 도메인 webClient 제거 * refactor: 모의 도메인 webClient 스프링 빈 제거 * refactor: fetchClosingPrice 시그니처 변경 * test: fetchClosingPrice 테스트 추가 * refactor: fetchDividendThisYear 메서드 시그니처 변경 * test: fetchDividendAll 테스트 추가 * refactor: fetchDividendAll 메서드 Mono<List<KisDividend>> 반환하도록 변경 * refactor: fetchIpo 메서드의 시그니처 변경 * feat: basicIso 메서드 추출 * feat: basicIso 매개변수명 변경 * feat: fetchSearchStockInfo 메서드 시그니처 변경 * refactor: performGet 메서드 시그니처 변경 * feat: KisProperties로 클래스명 변경 * feat: tokenUrl 시크릿 정보 변경 * refactor: KisProperty 클래스 추가 및 appKey 프로퍼티 변경 * refactor: KisAccessTokenRequest 클래스 생성 * feat: 액세스 토큰 전달 방식 변경 - KisAccessTokenRequest 객체를 만들어 전달하는 것으로 변경 * feat: KisAccessTokenRequest getter, 공백생성자 제거, final 붙힘 * refactor: KisHeader enum 클래스 추가 및 헤더를 교체 * feat: KisHeaderBuilder 구현 * feat: fetchDividend header 변경 * refactor: header 변경 * feat: KisTrIdProperties 클래스 추가 해당 클래스는 한국투자증권 서버의 정보 조회시 필요한 거래 아이디 * refactor: 생성자 변경 * refactor: kisTrIdProperties 객체를 이용하여 변경 * test: kisService에서 액세스 토큰 실패 테스트 제거 * feat: KisQueryParamBuilder 클래스 구현 * refactor: 쿼리파라미터 enum으로 변경 * feat: kis 시크릿 정보 변경 - tr-id 추가 * refactor: fetchDividend 쿼리파라미터 빌더로 변경 * refactor: fetchDiviend 메서드의 쿼리 파라미터 변경 * feat: kisClient의 메서드들의 쿼리 파라미터를 빌더로 변경 * style: 코드 정리 * feat: KisCodeValue 인터페이스 정의 및 구현체 구현 * rename: 패키지 이동 * feat: FidPeriodDivCode enum 클래스 구현 * feat: FidOrgAdjPrc enum 클래스 구현 * feat: 배당금 종류인 GB1 enum 클래스 구현 * feat: 상품유형 코드 enum 클래스 구현 * feat: CustomerType enum 클래스 구현 * style: 코드 정리 * style: 패키지 이동 - co.fineants.api 구조로 변경
- Loading branch information