2011-11-29 1 views
-1

문제 배경 나는 webapp을 만들고 있습니다. 사용자는 맞춤 설정 기간 동안 주어진 시간대에 앱 내에서 균형을 볼 수 있습니다. 따라서 그들은 지난 90 일 동안 자신의 진술을 화면에 인쇄 할 수 있습니다. 거기에서 그들은 차변 (우리가 제공 한 서비스)과 크레딧 (사용자가 제출 한 자금)을 볼 것입니다. 테이블의 맨 아래에 "-100 $"(우리에게 빚진) 또는 "+ 460 달러"(그들은 미래를위한 자금이 있음)라고하는 균형이 표시됩니다. 그러나 까다로운 부분은 성명 앞에 성명의 맨 앞에 선행 균형이 있어야한다는 것입니다. 따라서이 예에서 출력 기간이 시작될 때마다 앞에 1000 달러를 빚졌습니다. 그래서 성명서 하단에 선행 균형과 현재 기간을 합산해야합니다.맞춤 결제 모듈 알고리즘/아키텍처하시기 바랍니다

도전/질문 어떻게이 모듈을 만들기 시작합니까? 나는 알고리즘 팁, db 아키텍처 등에 관심이있다. 간단히 말해, 일반적인 알고리즘 (또는 일부)은 그런 모듈을 개발하는 것일까?

P. 내 아이디어는 이미 사용자 또는 시스템의 잔액 관련 이벤트에서 현재 잔액을 기록해야한다는 것입니다.

답변

1

음, 이것은 매우 간단합니다.

언급 한대로 모든 예약을 기록하는 데이터베이스 테이블이 필요합니다. 각 거래 후에 현재 잔액을 기록 할 필요가 없습니다. 이는 합계 집계 함수를 사용하여 예약 목록에서 쉽게 파생 될 수 있기 때문에 실제로는 필요하지 않습니다.

그런 다음 사용자 입력, 즉 입력 한 시간을 기준으로 데이터를 선택합니다. 해당 기간 이전에 잔액을 얻으려면 모든 예약을 시작 지점까지 요약하면됩니다 (별도의 쿼리 또는 하위 쿼리에서이를 수행 할 수 있음). Ms SQL에 대한 설명과 같이 누적 합계를 만드는 방법을 살펴볼 수도 있습니다. Running Totals Ms SQL