환율 계산한 상품 가격 반영하는 방식
본문
현재 가격 데이터는 DB에 다 입력되어있는 상태이고, 아직 환율 계산만 안된 상태입니다.
결론적으로는 가격이 아직 (원) 으로는 표시가 되지만, 환율 계산이 안된 현지 가격으로 숫자데이터만 기록된 상태입니다.
그래서 가격 표시를 하는 함수들을 몇개 확인해보니 몇몇개가 있더군요.
처음에는 가볍게 여기서 환율 가격만 곱해주면 되겠다라는 생각을 했는데, 장바구니, 상품 페이지 등에서 노출되는 함수가 조금씩 다 차이가 나고 하나 수정해도 다른곳에서 원 가격이 노출되는 등의 문제가 발생하더군요.
제가 생각중인 방법은
1. 환율을 입력해서 SQL상으로 하루에 한번씩 가격에 전부 곱하는 처리를 진행한다
-> 가장 확실한 방법이고, 프로그램 수정이 필요없으나 가장 리소스 많이 차지
2. 계산부 부분의 함수들을 죄다 수정한다
-> 효율적인 방법이라고 보이지만, 발견되지 않은 수많은 에러가 발생할수 있고 유지보수가 너무 어려워진다.
아무리 생각해도 이 두가지 방법정도인데.. 혹시 다른 방법이 있을까요?
답변 1
환율은 수시로 변할텐데 하루 한번 적용은 아닌듯 합니다.
한국수출입은행에서 무료 환율 API를 제공하니
1분 또는 5분등과 같이 일정 간격으로 환율 시세 가져와서 DB에 저장하고
값을 보여주는 테이블에 환율 적용 칼럼 만들고
역시 일정 시간 간격으로 페이지가 열릴때 환율 적용한 가격 계산하고 그 가격을 DB에 저장합니다.
예로 5분으로 하면
1) 5분 간격으로 환율 시세 가져오고
2) 가격 보여주는 페이지에 5분 간격으로 환율 적용한 가격 보여주고 DB에 저장
3) 5분동안은 위에 2)에서 저장한 가격 보여주기
하면 어떨까 생각해 봤어요.
코딩이 복잡해지는 단점이 있기는 하네요.
https://piree.kr/demo54/piree/p770055/ver__0.2.0/
위 URL의 시세중에 한국프리미엄이
제가 작성한 방법대로 만들었습니다.
DB에 환율 저장해 놓으면 다른 프로그램이나 기믕에서도 해당 시세 정보를 가져와 사용할수 있는 장점이 있습니다.