バグ #111
未完了配布済と取得者一覧の不一致について
0%
説明
本日の配布済の枚数と、取得者一覧の枚数が一致しない原因事態はわかりました
チケットログテーブルに、同じチケットIDのログが2つ作成されていたことが原因となっておりました
問題のログは、8651,8652のログになります
このチケットIDのログが
おそらくは、チケット受取、と、チケット送付で、作成されたように見受けられます
しかしながら、チケット送付バッチテーブルには、8651,8652がありませんでした。
取得者一覧は、
1.ticketsテーブルから、チケットボックスIDのレコードを取得
2.ticket_logsテーブルから、取得したチケットIDのデータを取得
3.accountsテーブル、agreementsテーブルから取得者を取得
といった流れで表示しています
チケットログテーブルには、同じチケットIDのログが複数ありました
select id, action_type, loggable_id, loggable_type, ticket_id, actionable_id, actionable_type, buy_history_id, ticket_boxes_id, ticket_pickup_date, created_at, updated_at from ticket_logs where ticket_id in (8651, 8652, 8653, 8654, 8655, 8656, 8657, 8658, 8659, 8660, 8661, 8662, 8663, 8664, 8665, 8666, 8667, 8668, 8669, 8670)
上記のログのうち、受け取り時のログは、IDが2625,2626のログなのですが、同じチケットIDのログである2627,2653のログも取得してしまい、不一致を起こしておりました
そこでなのですが、今回チケットログに、loggable_typeがAccount、actionable_typeもAccountのデータが作成された経緯が分かっておりません
チケット送付を行うと、確かに、そうようなログになるのですが、送付バッチのテーブルであるticket_send_reservationsには、チケットID、8651,8652のデータはありませんでした
もし、チケットログに、_Account、Accountで作成する処理がお分かりになれば、ご教授下さい
よろしくお願い致します
なお、チケット送付の予約(バッチ処理テーブルに登録、チケットテーブルのステータスは99にして置き、他で使用されないようにガード)後に、
同じチケットボックスからの受け取では、ちゃんと、予約したチケットをさけて、受け取りをしていることは確認しております
しかしながら、チケットログテーブルから見ると、
同じチケットを、受け取りもし、送付もしたように見えており、発生した事象の解析には至っておりません
こちらで、試験した所、
チケット受取 -> チケット送付
チケット送付 -> チケット受取
どちらの順番で行っても、同じチケットを使用ようなことはなく、同じ事象発生が出来ておりません
ファイル