diff --git a/app/Domains/Virtual/Repositories/Concerns/OrderCardConcern.php b/app/Domains/Virtual/Repositories/Concerns/OrderCardConcern.php index 877c0f75..d050cc22 100644 --- a/app/Domains/Virtual/Repositories/Concerns/OrderCardConcern.php +++ b/app/Domains/Virtual/Repositories/Concerns/OrderCardConcern.php @@ -228,7 +228,7 @@ trait OrderCardConcern if (isset($conditions['uncancelled'])) { $date = isset($conditions['month']) ? Carbon::parse($conditions['month'])->copy()->startOfMonth() : date('Y-m-d H:i:s'); $this->model = $this->model->whereHas('card', function ($relation) use ($date) { - $relation->whereNull('cancelled_at')->orWhere('cancelled_at', "<", $date); + $relation->whereNull('cancelled_at')->orWhere('cancelled_at', ">", $date); }); } diff --git a/tests/Activate.php b/tests/Activate.php index fd4192ec..9c5c1088 100644 --- a/tests/Activate.php +++ b/tests/Activate.php @@ -1,10 +1,31 @@ forgetCached(); -app(OrderCardPartitionRepository::class)->forgetCached(); +$file = new UploadedFile(__DIR__ . '/激活处理.xlsx', '激活处理.xlsx'); + +$data = ImportService::load($file, null, 2); + +$sim = join(',', array_pluck($data, 'sim')); + +DB::update( + sprintf( + " + update cards set virtual_activated_at = + to_timestamp(floor(random() * (EXTRACT(epoch FROM '%s'::timestamp) - EXTRACT(epoch FROM '%s'::timestamp) + 1) + EXTRACT(epoch FROM '%s'::timestamp))) + where sim in (%s) AND virtual_activated_at is null + ", + '2019-11-30 23:59:59', + '2019-11-01 00:00:00', + '2019-11-01 00:00:00', + $sim + ) +); + +DB::select(sprintf("SELECT fix_timelines(ARRAY[%s])", $sim)); + +dd($sim); diff --git a/tests/激活处理.xlsx b/tests/激活处理.xlsx new file mode 100644 index 00000000..dab4ddd8 Binary files /dev/null and b/tests/激活处理.xlsx differ