添加虫情图片接口
parent
6a50ba85dc
commit
ddcfbac80e
|
|
@ -6,6 +6,8 @@ use App\Filters\MonitorModeFilter;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Resources\DeviceResource;
|
use App\Http\Resources\DeviceResource;
|
||||||
use App\Http\Resources\MonitorModeResource;
|
use App\Http\Resources\MonitorModeResource;
|
||||||
|
use App\Models\FarmWormPhoto;
|
||||||
|
use App\Http\Resources\FarmWormPhotoResource;
|
||||||
use App\Models\MeteorologicalDailyReport;
|
use App\Models\MeteorologicalDailyReport;
|
||||||
use App\Models\MonitorMode;
|
use App\Models\MonitorMode;
|
||||||
use App\Services\Admin\DeviceService;
|
use App\Services\Admin\DeviceService;
|
||||||
|
|
@ -29,7 +31,7 @@ class MonitorModeController extends Controller
|
||||||
{
|
{
|
||||||
$monitorId = $request->input('monitor_id');
|
$monitorId = $request->input('monitor_id');
|
||||||
$column = $request->input('column'); //指定字段
|
$column = $request->input('column'); //指定字段
|
||||||
//监控类型(气象,土壤为折线图数据;虫情数据待定;监控设备rtsp流;其他类型无数据)
|
//监控类型(气象,土壤为折线图数据;虫情数据柱状图;监控设备rtsp流;其他类型无数据)
|
||||||
$data = [];
|
$data = [];
|
||||||
$monitor = MonitorMode::find($monitorId);
|
$monitor = MonitorMode::find($monitorId);
|
||||||
if($monitor){
|
if($monitor){
|
||||||
|
|
@ -76,4 +78,15 @@ class MonitorModeController extends Controller
|
||||||
|
|
||||||
return $this->json($data);
|
return $this->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getInsectPhoto(Request $request)
|
||||||
|
{
|
||||||
|
$monitorId = $request->input('monitor_id');
|
||||||
|
$monitor = MonitorMode::find($monitorId);
|
||||||
|
$deviceIds = $monitor->devices()->get()->pluck('id')->toArray();
|
||||||
|
$query = FarmWormPhoto::whereIn('device_id', $deviceIds)->orderBy('uploaded_at', 'desc');
|
||||||
|
$list = $query->paginate($request->input('per_page'));
|
||||||
|
|
||||||
|
return $this->json(FarmWormPhotoResource::collection($list));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Resources;
|
||||||
|
|
||||||
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
|
class FarmWormPhotoResource extends JsonResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Transform the resource into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'url' => $this->url,
|
||||||
|
'uploaded_at' => $this->uploaded_at->format('Y-m-d H:i:s'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -270,7 +270,14 @@ class DeviceService extends BaseService
|
||||||
$fieldMap = [];
|
$fieldMap = [];
|
||||||
|
|
||||||
foreach($monitorMode->devices as $device){
|
foreach($monitorMode->devices as $device){
|
||||||
$_fields = explode(',', $device->pivot->fields);
|
if($device->type == Device::TYPE_INSECT){
|
||||||
|
$_fields = [
|
||||||
|
'worm_num'
|
||||||
|
];
|
||||||
|
$deviceIds[] = $device->id;
|
||||||
|
}else{
|
||||||
|
$_fields = explode(',', $device->pivot->fields);
|
||||||
|
}
|
||||||
|
|
||||||
if($diffDays) {
|
if($diffDays) {
|
||||||
$modelQuery = $dayliyReportQuery->whereBetween('reported_at', [$startTime, $endTime]);
|
$modelQuery = $dayliyReportQuery->whereBetween('reported_at', [$startTime, $endTime]);
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
|
||||||
Route::get('devices-notice', [DeviceController::class, 'deviceNotice'])->name('devices.notice');
|
Route::get('devices-notice', [DeviceController::class, 'deviceNotice'])->name('devices.notice');
|
||||||
Route::get('monitor-modes', [MonitorModeController::class, 'getMonitorMode'])->name('monitor_modes.list');
|
Route::get('monitor-modes', [MonitorModeController::class, 'getMonitorMode'])->name('monitor_modes.list');
|
||||||
Route::get('monitor-modes/device-data', [MonitorModeController::class, 'getMonitorDeviceData'])->name('monitor_modes.device_data');
|
Route::get('monitor-modes/device-data', [MonitorModeController::class, 'getMonitorDeviceData'])->name('monitor_modes.device_data');
|
||||||
|
Route::get('monitor-modes/farm-worm-photo', [MonitorModeController::class, 'getInsectPhoto'])->name('monitor_modes.farm_worm_photo');
|
||||||
Route::get('static/base-data', [SettingController::class, 'staticBaseData'])->name('static.base_data');
|
Route::get('static/base-data', [SettingController::class, 'staticBaseData'])->name('static.base_data');
|
||||||
Route::get('static/rtsp-to-flv-host', [SettingController::class, 'rtspToFlvHost'])->name('static.rtsp_to_flv_host');
|
Route::get('static/rtsp-to-flv-host', [SettingController::class, 'rtspToFlvHost'])->name('static.rtsp_to_flv_host');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue