|
@@ -19,8 +19,11 @@ class CardController
|
|
|
$times[0] = strtotime($times[0]);
|
|
|
$times[1] = strtotime(date('Y-m-d 23:59:59', strtotime($times[1])));
|
|
|
$name = $request->get('card_main_name');
|
|
|
+ $searchMainAmount = $request->get('card_main_amount');
|
|
|
$cardMain = CardMain::when(!empty($name), function ($query) use ($name) {
|
|
|
$query->where('card_main_name', 'like', '%' . $name . '%');
|
|
|
+ })->when(!empty($searchMainAmount), function ($query) use ($searchMainAmount) {
|
|
|
+ $query->where('card_main_amount', $searchMainAmount);
|
|
|
})->get()
|
|
|
->toArray();
|
|
|
$cardIds = array_column($cardMain, 'card_main_id');
|
|
@@ -39,40 +42,39 @@ class CardController
|
|
|
];
|
|
|
$data = [];
|
|
|
foreach ($cardStatus as $key => $status) {
|
|
|
- $cards = Card::when(!empty($cardIds), function ($query) use ($cardIds) {
|
|
|
- $query->whereIn('join_card_main_id', $cardIds);
|
|
|
- })->when($status == 'ISSUE', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.issue_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'ADD', function ($query) use ($times) {
|
|
|
- $query->whereBetween('card_addtimes', $times)
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(card_addtimes),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'WAITING', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(card_assign_datetime)),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'PENDING', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.buy_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'USED', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.used_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'DONE', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.done_time' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'EXPIRED', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.expired_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->when($status == 'PAUSED', function ($query) use ($times) {
|
|
|
- $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
- ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
- ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.paused_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
- })->selectRaw('count(card_id) as total,join_card_main_id')
|
|
|
+ $cards = Card::whereIn('join_card_main_id', $cardIds)
|
|
|
+ ->when($status == 'ISSUE', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.issue_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'ADD', function ($query) use ($times) {
|
|
|
+ $query->whereBetween('card_addtimes', $times)
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(card_addtimes),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'WAITING', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(card_assign_datetime)),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'PENDING', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.buy_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'USED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.used_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'DONE', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.done_time' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'EXPIRED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.expired_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'PAUSED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.paused_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->selectRaw('count(card_id) as total,join_card_main_id')
|
|
|
->groupBy('join_card_main_id', 'group_by_time')
|
|
|
->get()
|
|
|
->toArray();
|
|
@@ -148,8 +150,11 @@ class CardController
|
|
|
$times[1] = strtotime(date('Y-m-d 23:59:59', strtotime($times[1])));
|
|
|
$name = $request->get('card_main_name');
|
|
|
$keys = $request->get('keys', []);
|
|
|
+ $searchMainAmount = $request->get('card_main_amount');
|
|
|
$cardMain = CardMain::when(!empty($name), function ($query) use ($name) {
|
|
|
$query->where('card_main_name', 'like', '%' . $name . '%');
|
|
|
+ })->when(!empty($searchMainAmount), function ($query) use ($searchMainAmount) {
|
|
|
+ $query->where('card_main_amount', $searchMainAmount);
|
|
|
})->get()
|
|
|
->toArray();
|
|
|
$cardIds = array_column($cardMain, 'card_main_id');
|