diffInDays(Carbon::make($order->end_use_bike_time)); $key = sprintf(RedisKeys::ORDER_NO_PAY_NO, $order->no); $res = app()->redis->get($key); if (!$res) { $user = User::find($order->user_id); if ($end_use_bike_time >= 1 && $end_use_bike_time < 3) { // 存两天 app()->redis->incr($key); app()->redis->Expire($key, RedisKeys::ORDER_NO_PAY_NO_THREE); Notification::send($user, new OrderLongTimeNoPayNotification($user, $order)); } elseif ($end_use_bike_time >= 3 && $end_use_bike_time < 7) { // 存四天 app()->redis->incr($key); app()->redis->Expire($key, RedisKeys::ORDER_NO_PAY_NO_SEVEN); Notification::send($user, new OrderLongTimeNoPayNotification($user, $order)); } elseif ($end_use_bike_time >= 7 && $end_use_bike_time < 30) { // 存23天 app()->redis->incr($key); app()->redis->Expire($key, RedisKeys::ORDER_NO_PAY_NO_THIRTY); Notification::send($user, new OrderLongTimeNoPayNotification($user, $order)); } elseif ($end_use_bike_time >= 30 && $end_use_bike_time < 32) { // 不在设置过期时间 app()->redis->incr($key); Notification::send($user, new OrderLongTimeNoPayNotification($user, $order)); } else { Log::info('订单id' . $order->id . '已经' . $end_use_bike_time . '天未支付'); } } } } } protected static function order() { $yseterday = Carbon::now()->subDay(); $thirtyOneAgo = Carbon::now()->subDays(31); $orders = Order::query() ->where('status', Order::STATUS_CLOSE_BIKE) ->where('pay_status', Order::PAY_STATUS_NO) ->where('end_use_bike_time', '<', $yseterday) ->where('end_use_bike_time', '>', $thirtyOneAgo) ->get(); return $orders; } protected static function orderRent() { $yseterday = Carbon::now()->subDay(); $thirtyOneAgo = Carbon::now()->subDays(31); $orders = OrderRent::query() ->where('status', OrderRent::STATUS_CLOSE_RENT_BIKE) ->where('pay_status', Order::PAY_STATUS_NO) ->where('end_use_bike_time', '<', $yseterday) ->where('end_use_bike_time', '>', $thirtyOneAgo) ->get(); return $orders; } }