금융 시스템이있어서 저장, 업데이트 및 제어 제한을위한 모듈을 설계해야합니다. 각 고객마다 UserID가 있고 각 UserID에는 최대 크레딧 한도가 있다는 것을 알 수 있습니다. 예를 들어 UserID = 12는 MaxAmountPerDay = 10 $ 및 CurrentAmountPerDay입니다.계산 방법, 고객 신용 관리 및 업데이트 방법은 무엇입니까?
이제User ID | MaxAmountPerDay | CurrentAmountPerDay
-------------------------------------------------
12 | 10 | 0
25 | 100 | 84
당신이 사용자 ID와 고객이 12가 나는 경우 제어 할 수있는 트랜잭션을 수행하고있다 = 때 상상할 수있는 다음과 같이
은 처음에는 간단한 모듈을 설계하고 테이블을 정의하고 싶었다 거래 금액 + 현재 금액> 최대 금액 다음 예외를 throw합니다. 트랜잭션을 수행하고 현재 금액을 업데이트해야하며 업데이트 후 예외가 발생하면 업데이트 작업을 롤백해야합니다. (업데이트 및 롤백은 다른 데이터베이스 트랜잭션 롤백은 새로운 금액으로 동일한 업데이트입니다)
이 디자인을하기 전에 더 나은 솔루션이나 오픈 소스 프레임 워크를 찾아보기로 결정했습니다. 내 고객의 요구 사항이 앞으로 변경 될 것입니다. 예를 들어 MaxAmountPerMonth 또는 일부 내가 지금 모르는 더 많은 요구 사항.
안녕하세요, 가능한 해결책 일 수 있지만 응답에 조금 더 자세히 설명하고 트리거를 구현하는 방법과 관련된 가능한 코드를 포함시키는 것도 좋습니다. 필요한 작업 코드 스 니펫으로 답변을 수정하십시오. –
예! 나는 다음에 그것을 할 것이다. –