fix(core,ecommerce,board,basic,pay_kginicis,pay_nhnkcp,pay_nicepayments): 7.0.6 회귀 3건·잠복 결함 3건 해소 + 통화 하드코딩 전수 제거

7.0.6 사이클에서 유입된 회귀 3건을 출시 전에 닫는다. 추가옵션 저장소의
반환 타입 선언이 실제 반환(중첩 맵)과 어긋나 추가옵션 있는 상품의 담기·
바로구매가 죽었고, 검색 엔진이 결과 소비 시점에 SELECT 를 재작성해 정렬이
참조하던 스코어 별칭을 지웠으며, 미들웨어 targets 가 늘어난 라우트를
따라가지 못해 비회원 현금영수증이 전면 불능이었다. 셋 다 정적 검사의
사각지대였으므로 룰 2건과 계약 테스트를 함께 세워 재발을 막는다.

같은 유형의 잠복 결함 3건(빈 반환의 타입 불일치 2건, 없는 메서드 호출 1건)도
호출 경로가 생기는 순간 fatal 이므로 함께 닫았다.

브라우저 검수 중 드러난 선행 결함 5건을 이어서 수정한다. 엔진이 event 키로
선언한 액션을 React prop 으로 연결하지 않아 오류 없이 조용히 무반응이었고,
연결한 뒤에는 커스텀 컴포넌트의 이벤트 payload 가 유실됐다. 비회원 주문상세
응답에 현금영수증 키가 없어 발급 결과에 도달할 수 없었으며, 입금확인과
현금영수증 발급이 base 통화 금액을 써서 결제 통화가 다른 주문에서 각각
저장 실패와 잘못된 증빙을 냈다.

마지막으로 통화 단위를 코드·문구에서 걷어내 설정으로 이관한다. 다국어
문구의 원/円, 프론트의 KRW 고정표와 리터럴 폴백 173건, 서버 포맷의 통화
코드 리터럴이 대상이며, 기본 통화가 원이 아닌 상점에서 값은 맞고 단위만
틀린 금액이 예외 없이 나가던 문제였다. 통화 판정을 설정 단일 출처로 모으고
규칙 3건을 정적 검사로 고정했다.
This commit is contained in:
HeuJung
2026-08-10 09:07:46 +09:00
parent 7f4e665827
commit e21bff678f
167 changed files with 3980 additions and 696 deletions
@@ -98,6 +98,16 @@
### Fixed
- 기본 통화가 원화가 아닌 상점에서 금액에 원화 단위가 붙던 문제를 수정했습니다. 마일리지 적립·사용·복원·소멸 내역, 결제금액 불일치 안내, 상품 일괄수정 요약, 할인코드 안내가 이제 상점에 설정된 통화의 단위로 표시됩니다.
- 통합 검색 결과의 상품 가격이 상점 기본 통화가 아닌 원화 단위로 표기되던 문제를 수정했습니다.
- 관리자에게 발송되는 신규 주문 알림의 금액이 구매자 알림과 달리 원화로 고정되던 문제를 수정했습니다. 이제 두 알림 모두 결제 통화로 표시됩니다.
- 관리자 주문 상세와 주문 취소 화면의 상품 단가·소계·쿠폰 할인액·추가옵션 금액이 원화 단위로 고정 표시되던 문제를 수정했습니다.
- 상품의 기본 통화와 다른 통화로 결제한 주문에서 관리자가 입금확인을 저장할 수 없던 문제를 수정했습니다. 입금액이 기본 통화 기준 금액으로 미리 채워져 실제 청구된 결제 통화 금액과 어긋난 탓에 저장할 때마다 금액이 맞지 않는다며 거절됐습니다. 이제 실제 청구된 결제 통화 금액이 채워집니다.
- 관리자 마일리지 수동 지급·차감 화면의 통화가 원화로 고정돼, 기본 통화가 다른 상점에서 실제로 쓰지 않는 통화로 지급될 수 있던 문제를 수정했습니다. 이제 상점 기본 통화가 기본 선택됩니다.
- 환경설정 통화 관리의 절사 단위 선택지가 원화·엔화에서만 정수 단위로 나오던 문제를 수정했습니다. 이제 소수점을 쓰지 않는 통화라면 관리자가 추가한 통화에서도 정수 단위가 제공됩니다.
- 배송비 계산 API 테스트 결과의 추출 금액에 원화 단위가 붙던 문제를 수정했습니다.
- 기본 통화가 원(KRW)이 아닌 쇼핑몰에서, 다른 통화로 볼 때 추가옵션 추가금만 기준 통화 금액으로 표시되고 그 금액이 그대로 합계에 더해지던 문제를 수정했습니다. 예를 들어 기본 통화가 엔(JPY)인 상점을 원화로 보면 상품가는 환산되는데 추가금은 `+¥5,000` 그대로 남아, 총 금액이 두 통화가 섞인 값으로 표시됐습니다. 이제 상품 상세·장바구니·주문서의 추가옵션 금액이 보고 있는 통화로 환산되어 표시되고 합계에도 같은 통화로 더해집니다. 기본 통화가 원인 상점은 이전과 동일합니다.
- 장바구니 담기와 장바구니 옵션 변경의 응답에 선택한 추가옵션이 빠져 있던 문제를 수정했습니다. 선택 자체는 정상 저장되어 장바구니 화면에는 제대로 표시됐지만, 담기·옵션 변경 응답만 읽으면 추가옵션이 없는 것으로 보이고 소계도 추가금이 빠진 금액으로 나왔습니다. 이제 두 응답 모두 장바구니 조회와 동일한 값을 돌려줍니다.
- 쇼핑몰 주소를 기본값이 아닌 값으로 바꾸거나 주소 없이 운영하는 상점에서, 서버가 만들어 보내는 상점 주소가 기본 주소로 잘못 만들어지던 문제를 수정했습니다. 주문 완료 후 이동, 비회원 주문 조회 안내, 알림 메일의 주문 조회 주소, 통합검색·상품문의 목록의 상품 링크, 검색엔진용 주소(사이트맵·봇 화면 캐시)가 모두 해당됐습니다. 링크가 만들어지기는 해서 오류로 드러나지 않고 없는 페이지로만 이어졌습니다. 기본 주소를 쓰는 상점은 이전과 동일합니다. (#85 @hwaryeon1234 님께서 제보해주셨습니다.)
- 쇼핑몰 주소를 바꾸거나 주소 없이 운영하는 상점에서 화면 편집기의 상품·장바구니·주문서 등 상점 화면을 편집할 때 상태 미리보기 전환(품절/재고 있음 등)이 표시되지 않던 문제를 수정했습니다. 편집기가 기본 주소인 상점만 알아보던 탓이며, 이제 어떤 주소로 바꾸어도 — 주소 없이 운영하는 상점까지 — 동일하게 표시됩니다. (#85 @hwaryeon1234 님께서 제보해주셨습니다.)
- 상품 상세 화면에서만 상태 미리보기 전환(재고 있음/품절/판매중지/판매예정)이 어떤 쇼핑몰 주소에서도 표시되지 않던 문제를 수정했습니다. 편집기가 찾는 화면 주소와 실제 상품 상세 주소의 표기가 서로 달라 끝내 연결되지 않았습니다. (#85 @hwaryeon1234 님께서 제보해주셨습니다.)