|
|
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|
|
use App\Models\FundsRecord;
|
|
|
use App\Models\User;
|
|
|
use App\Models\Order as OrderModel;
|
|
|
+use App\Models\Sport;
|
|
|
use Exception;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use App\Constants\HttpStatus;
|
|
|
@@ -86,11 +87,15 @@ class Order extends Controller
|
|
|
'status' => ['nullable', 'integer', 'in:0,1,2,-1'],
|
|
|
'start_time' => ['nullable', 'date', 'date_format:Y-m-d', 'required_with:end_time'],
|
|
|
'end_time' => ['nullable', 'date', 'date_format:Y-m-d', 'required_with:start_time'],
|
|
|
+ 'league' => ['nullable'],
|
|
|
+ 'home_team' => ['nullable'],
|
|
|
+ 'guest_team' => ['nullable'],
|
|
|
]);
|
|
|
$page = request()->input('page', 1);
|
|
|
$limit = request()->input('limit', 15);
|
|
|
|
|
|
- $query = OrderModel::join('sport_odds', 'sport_odds.odd_name_en', '=', 'sport_order.odd_name');
|
|
|
+ $query = OrderModel::join('sport_odds', 'sport_odds.odd_name_en', '=', 'sport_order.odd_name')
|
|
|
+ ->join('sport', 'sport.data_id', '=', 'sport_order.issue');
|
|
|
if (!empty($params['id'])) {
|
|
|
$query = $query->where('sport_order.id', $params['id']);
|
|
|
}
|
|
|
@@ -129,13 +134,35 @@ class Order extends Controller
|
|
|
if (isset($params['is_roll'])) {
|
|
|
$query = $query->where('sport_order.is_roll', $params['is_roll']);
|
|
|
}
|
|
|
+ if (!empty($params['league'])) {
|
|
|
+ $query = $query->where('league|league_en', 'like', '%' . $params['league'] . '%');
|
|
|
+ }
|
|
|
+ if (!empty($params['home_team'])) {
|
|
|
+ $query = $query->where('home_team|home_team_en', 'like', '%' . $params['home_team'] . '%');
|
|
|
+ }
|
|
|
+ if (!empty($params['guest_team'])) {
|
|
|
+ $query = $query->where('guest_team|guest_team_en', 'like', '%' . $params['guest_team'] . '%');
|
|
|
+ }
|
|
|
|
|
|
$count = $query->count();
|
|
|
$list = $query
|
|
|
- ->select(['sport_order.*','sport_odds.odd_name as odd_name'])
|
|
|
+ ->select(['sport_order.*','sport_odds.odd_name as odd_name', 'sport.league', 'sport.league_en', 'sport.home_team', 'sport.home_team_en', 'sport.guest_team', 'sport.guest_team_en'])
|
|
|
->forPage($page, $limit)
|
|
|
->orderByDesc('sport_order.create_time')
|
|
|
->get();
|
|
|
+ foreach($list as &$item) {
|
|
|
+ $item['odd_name'] = Sport::doOddName($item['odd_name']);
|
|
|
+ $item['odd_value'] = Sport::doOddValue($item['odd_value']);
|
|
|
+ $item['odd'] = formatDecimal($item['odd'], 2);
|
|
|
+ if (!empty($item['detail']['game_time'])) {
|
|
|
+ $item['game_time'] = date('Y-m-d H:i:s', $item['detail']['game_time']);
|
|
|
+ } else {
|
|
|
+ $item['game_time'] = '';
|
|
|
+ }
|
|
|
+ if (!empty($item['detail']['fixture_status'])) {
|
|
|
+ $item['fixture_status'] = Sport::doOddValue($item['odd_value']);
|
|
|
+ }
|
|
|
+ }
|
|
|
} catch (Exception $e) {
|
|
|
return $this->error(HttpStatus::CUSTOM_ERROR,$e->getMessage());
|
|
|
}
|