Update
parent
057b4883a5
commit
5e4f0b38c3
|
|
@ -7,6 +7,8 @@ use App\Models\Materiel;
|
||||||
use App\Models\RiceShrimpFlow;
|
use App\Models\RiceShrimpFlow;
|
||||||
use App\Models\RiceShrimpIndustry;
|
use App\Models\RiceShrimpIndustry;
|
||||||
use App\Models\RiceShrimpPrice;
|
use App\Models\RiceShrimpPrice;
|
||||||
|
use App\Models\RiceShrimpWeeklyPrice;
|
||||||
|
use Peidikeji\Keywords\Models\Keywords;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class ChartController extends Controller
|
class ChartController extends Controller
|
||||||
|
|
@ -59,6 +61,48 @@ class ChartController extends Controller
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 稻虾每周价格趋势
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function riceShrimpWeeklyPrice(Request $request)
|
||||||
|
{
|
||||||
|
$weeks = Keywords::where('type_key', 'weeks-per-year')->pluck('name', 'key');
|
||||||
|
|
||||||
|
$years = RiceShrimpWeeklyPrice::select('year')
|
||||||
|
->groupBy('year')
|
||||||
|
->orderBy('year', 'desc')
|
||||||
|
->limit(3)
|
||||||
|
->get()
|
||||||
|
->pluck('year');
|
||||||
|
|
||||||
|
$riceShrimpWeeklyPrices = RiceShrimpWeeklyPrice::query()
|
||||||
|
->whereIn('year', $years)
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$series = $riceShrimpWeeklyPrices->groupBy('year')->map(function ($riceShrimpWeeklyPrices, $year) use ($weeks) {
|
||||||
|
$riceShrimpWeeklyPriceMap = $riceShrimpWeeklyPrices->mapWithKeys(fn ($item) => [$item->week => $item->price]);
|
||||||
|
|
||||||
|
$data = [];
|
||||||
|
|
||||||
|
foreach ($weeks as $key => $value) {
|
||||||
|
$data[] = $riceShrimpWeeklyPriceMap[$key] ?? null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'name' => $year,
|
||||||
|
'data' => $data,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
return [
|
||||||
|
'x_axis' => array_values($weeks),
|
||||||
|
'series' => $series->sortKeys()->values()->all(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 稻虾产业
|
* 稻虾产业
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Peidikeji\Keywords\Models\Keywords;
|
use Peidikeji\Keywords\Models\Keywords;
|
||||||
|
|
||||||
|
|
@ -9,6 +10,6 @@ class WeeksPerYearController extends Controller
|
||||||
{
|
{
|
||||||
public function __invoke(Request $request)
|
public function __invoke(Request $request)
|
||||||
{
|
{
|
||||||
return Keywords::where('type_key', 'weeks-per-year')->pluck('name', 'key');
|
return Keywords::select('name', 'key')->where('type_key', 'weeks-per-year')->get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\RiceShrimpWeeklyPriceController;
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue