where("id", ">", $last_id) ->whereNull("paid_at") ->where("payment", "weixin") ->whereRaw("(" . time() . " between (UNIX_TIMESTAMP(`created_at`) + {$offset_seconds}) and (UNIX_TIMESTAMP(`created_at`) + " . ($due_minutes * 60) . " + {$offset_seconds}))") ->limit($threshold) ->get(); if (!$recharges->count()) { cache(['last_sync_weixin_recharge_id' => null], now()->addSeconds(90)); echo "nothing"; return; } foreach ($recharges as $recharge) { $order = $recharge->order; $result = (new WxMicroPay($order->project_id))->manualQuery($recharge); dump($result); } cache(['last_sync_weixin_recharge_id' => $recharges->last()->id], now()->addSeconds(90)); } }