Description
概要
集金レポートの過去データがループしているS_GetUserGoldCollectReport() で、キャッシュからデータを取得した後に、returnせずに集金レポートを追加で作成すると再現する
<img src="https://git.dev.d-es.co.jp/gitbucket/jolly/jr-web/_attached/1631238491914CGjS5JPgms" width="300">
テスト方法、確認した内容
$return_data = S_GetMemcachedToDB( $memcache_name ) した後にreturnせずに、以降の処理を続けてください
if文内の処理を全てコメントアウトすると確認しやすいです
function S_GetUserGoldCollectReport($user_no) {
...
if($return_data = S_GetMemcachedToDB( $memcache_name )){
// //日付が変わったら一度データを更新したい。キャッシュ保存日をチェック
// if($return_data['save_time'] == strtotime(date('Y-m-d 00:00:00', $time))) {
// if(!$return_data['aggregating']) {
// //日付は変わっていないし、集計中でもない
// return $merge_report($user_no, $return_data);
// }else {
// //前回、集金レポートを見たときは、昨日分が集計中だった
// if($time > strtotime(date('Y-m-d 00:30:00', $time))) {
// //0時半を過ぎているのでDBからデータを再取得
// $return_data = array();
// }else {
// //まだ集計中
// return $merge_report($user_no, $return_data);
// }
// }
// }
// $return_data = [];
}