私は金融システムを持っているため、保存、更新、制御の制限のためのモジュールを設計する必要があります。 各顧客にUserIDがあり、各UserIDに1日あたりの最大クレジット数があることがわかります。たとえば、UserID = 12はMaxAmountPerDay = 10 $とCurrentAmountPerDayです。まずどのように計算し、顧客の信用を管理し、それを更新しますか?
は、私はシンプルなモジュールを設計し、次のようにテーブルを定義したい:
User ID | MaxAmountPerDay | CurrentAmountPerDay
-------------------------------------------------
12 | 10 | 0
25 | 100 | 84
今、あなたはユーザーID = 12持つ顧客は、私があれば制御する必要が取引を行っている時に想像することができます取引金額+現在金額>最大金額次に例外をスローするトランザクションを実行して現在の金額を更新する必要があり、更新後に例外が発生した場合、更新操作をロールバックする必要があります(更新とロールバックは異なるデータベーストランザクションにありますロールバックは新しい量の同じアップデートです)
私はこのデザインを行う前に、将来的にお客様の要件が変わると思うので、より良い解決策やオープンソースのフレームワークを探すことに決めました。例えば、MaxAmountPerMonth、今私が知らないより多くの要件。
こんにちは、これは可能な解決策かもしれませんが、あなたの応答に少し詳細があり、トリガーを実装する方法に関連する可能性のあるコードを含めるとよいでしょう。必要な作業コードスニペットで回答を編集してください。 –
ええ!私は次回にやる –