This commit is contained in:
yaooo 2023-11-27 18:04:32 +08:00
commit f6df20b095
3 changed files with 51 additions and 9 deletions

View File

@ -5,6 +5,7 @@ use app\common\enum\notice\NoticeEnum;
use app\common\model\land\Land;
use app\common\model\land\LandProduct;
use app\common\model\monitor\AirMonitor;
use app\common\model\monitor\MonitorData;
use app\common\model\monitor\SoilMonitor;
use app\common\model\product\ProductDevice;
use think\facade\Log;
@ -39,15 +40,32 @@ class IndexController extends BaseApiController
if($landProduct->isEmpty()){
$data['monitor'] = [];
}else{
$device = ProductDevice::where('product_id',$landProduct['product_id'])->select();
foreach($device as $v) {
if($v['device_type'] == 1){
$data['monitor']['soil_monitor_data'] = SoilMonitor::where('device_id',$v['device_id'])->order('id desc')->findOrEmpty()->toArray();
}
if($v['device_type'] == 2){
$data['monitor']['air_monitor_data'] = AirMonitor::where('device_id',$v['device_id'])->order('id desc')->findOrEmpty()->toArray();
}
}
$monitor = MonitorData::where('product_id',$landProduct['product_id'])->order('id desc')->findOrEmpty();
if($monitor->isEmpty()){
$data['monitor'] = [];
}else{
$data['monitor']['soil_monitor_data'] = [
'wind_direction'=>$monitor['wind_direction'],
'wind_speed'=>$monitor['wind_speed'],
'air_temperature'=>$monitor['air_temperature'],
'air_moisture'=>$monitor['air_moisture'],
'co2_content'=>$monitor['co2_content'],
'pressure'=>$monitor['pressure'],
'rainfall'=>$monitor['rainfall'],
'light_intensity'=>$monitor['light_intensity'],
'create_time' => $monitor['create_time']
];
$data['monitor']['air_monitor_data'] = [
'soil_temperature'=>$monitor['soil_temperature'],
'soil_moisture'=>$monitor['soil_moisture'],
'conductivity'=>$monitor['conductivity'],
'ph'=>$monitor['ph'],
'n_content'=>$monitor['n_content'],
'p_content'=>$monitor['p_content'],
'k_content'=>$monitor['k_content'],
'create_time' => $monitor['create_time']
];
}
}
return $this->success('请求成功',$data);
}

View File

@ -24,6 +24,20 @@
return $this->success('请求成功',$data);
}
public function detail(): Json
{
$params = $this->request->get(['plant_id']);
if(empty($params['plant_id'])){
return $this->fail('缺少必要参数');
}
$data = Plant::where('id',$params['plant_id'])->findOrEmpty();
if($data->isEmpty()){
return $this->fail('种植信息错误');
}
$data['pic'] = json_decode($data['pic'],true);
return $this->success('请求成功',$data->toArray());
}
//添加种植
public function add(): Json
{

View File

@ -0,0 +1,10 @@
<?php
namespace app\common\model\monitor;
use app\common\model\BaseModel;
class MonitorData extends BaseModel
{
protected $name = 'monitor_data';
}