Merge pull request 'zhangwei' (#21) from zhangwei into dev

Reviewed-on: #21
This commit is contained in:
weiz 2023-11-27 17:57:53 +08:00
commit 578ac14edf
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\Land;
use app\common\model\land\LandProduct; use app\common\model\land\LandProduct;
use app\common\model\monitor\AirMonitor; use app\common\model\monitor\AirMonitor;
use app\common\model\monitor\MonitorData;
use app\common\model\monitor\SoilMonitor; use app\common\model\monitor\SoilMonitor;
use app\common\model\product\ProductDevice; use app\common\model\product\ProductDevice;
use think\facade\Log; use think\facade\Log;
@ -39,15 +40,32 @@ class IndexController extends BaseApiController
if($landProduct->isEmpty()){ if($landProduct->isEmpty()){
$data['monitor'] = []; $data['monitor'] = [];
}else{ }else{
$device = ProductDevice::where('product_id',$landProduct['product_id'])->select(); $monitor = MonitorData::where('product_id',$landProduct['product_id'])->order('id desc')->findOrEmpty();
foreach($device as $v) { if($monitor->isEmpty()){
if($v['device_type'] == 1){ $data['monitor'] = [];
$data['monitor']['soil_monitor_data'] = SoilMonitor::where('device_id',$v['device_id'])->order('id desc')->findOrEmpty()->toArray(); }else{
} $data['monitor']['soil_monitor_data'] = [
if($v['device_type'] == 2){ 'wind_direction'=>$monitor['wind_direction'],
$data['monitor']['air_monitor_data'] = AirMonitor::where('device_id',$v['device_id'])->order('id desc')->findOrEmpty()->toArray(); '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); return $this->success('请求成功',$data);
} }

View File

@ -24,6 +24,20 @@
return $this->success('请求成功',$data); 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 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';
}