취소 건 제외로 정산 집계 금액 불일치 수정
목차
CANCELLED 건을 요약/집계에서 제외해 데이터 일치
CANCELLED 건을 요약/집계에서 제외해 데이터 일치 버그를 수정했음.
원인 분석
CANCELLED 상태의 건이 정산 요약/집계에 포함되어 실제 정산금과 수치가 달랐음.
재현 조건
취소된 건이 있는 경우 정산 합산이 예상보다 크게 나왔음.
수정 내용
-- 수정 전
SELECT SUM(amount) FROM 내부테이블 WHERE partner_id = #{id};
-- 수정 후: CANCELLED 제외
SELECT SUM(amount) FROM 내부테이블
WHERE partner_id = #{id}
AND status NOT IN ('CANCELLED', 'REFUNDED');
검증
취소 건이 포함된 데이터셋으로 집계 결과가 올바른지 확인했음.
재발 방지
정산 집계 쿼리는 항상 상태 필터를 포함하는 원칙을 정했음.
UI/UX 관점
화면 변경 시 몇 가지를 체크했음.
로딩 상태: 비동기 요청 중에는 로딩 인디케이터를 표시했음. 버튼을 비활성화해서 중복 클릭을 방지했음.
btn.disabled = true;
try {
await fetch('/api/...');
showSuccess();
} catch(e) {
showError(e.message);
} finally {
btn.disabled = false;
}
빈 상태 처리: 데이터가 없을 때 빈 화면 대신 "데이터가 없습니다" 메시지를 표시했음.
오류 메시지: 기술적인 에러 코드 대신 사용자가 이해할 수 있는 메시지를 표시했음.
다음
댓글 0
첫 댓글 달아줘.