145 lines
5.9 KiB
PHP
145 lines
5.9 KiB
PHP
<?php
|
|
|
|
namespace app\adminapi\controller;
|
|
|
|
use think\facade\Db;
|
|
use think\facade\Filesystem;
|
|
use think\response\Json;
|
|
|
|
class SuYuanController extends BaseAdminController
|
|
{
|
|
public array $notNeedLogin = ['areaLists','areaDetail','monitorDetail','imageUpload','monitorList'];
|
|
|
|
//添加种植基地
|
|
public function addArea(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$params = $this->request->post(['name','pic','area','crop','growth_cycle','cultivation_method','content','crop_info']);
|
|
if(!isset($params['name']) || $params['name'] == ''){
|
|
return $this->fail('请填写名称');
|
|
}
|
|
$result = Db::name('production_base')->insert($params);
|
|
if($result){
|
|
return $this->success('添加成功');
|
|
}else{
|
|
return $this->fail('添加失败');
|
|
}
|
|
}
|
|
|
|
//修改种植基地
|
|
public function ediArea(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$params = $this->request->post(['id','name','pic','area','crop','growth_cycle','cultivation_method','content','crop_info']);
|
|
if(!isset($params['id']) || $params['id'] == '' || !isset($params['name']) || $params['name'] == ''){
|
|
return $this->fail('请填写名称');
|
|
}
|
|
$result = Db::name('production_base')->update($params);
|
|
if($result){
|
|
return $this->success('修改成功');
|
|
}else{
|
|
return $this->fail('修改失败');
|
|
}
|
|
}
|
|
|
|
//种植基地详情
|
|
public function areaDetail(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$params = $this->request->post(['id']);
|
|
if(!isset($params['id']) || $params['id'] == ''){
|
|
return $this->fail('请填写名称');
|
|
}
|
|
$data = Db::name('production_base')->field('id,name,pic,area,crop,growth_cycle,cultivation_method,content,crop_info')->where('id',$params['id'])->findOrEmpty();
|
|
return $this->success('请求成功',$data);
|
|
}
|
|
|
|
//种植基地列表
|
|
public function areaLists(): Json
|
|
{
|
|
$data = Db::name('production_base')->field('id,name,pic,area,crop,growth_cycle,cultivation_method,content,crop_info')->select();
|
|
return $this->success('请求成功',$data->toArray());
|
|
}
|
|
|
|
//添加环境监测数据
|
|
public function addMonitor(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$params = $this->request->post(['production_base_id','soil_temperature','soil_moisture','room_temperature','air_humidity','air_quality_index','pond_temperature','pond_ph_value','wind_direction','wind_speed','illumination','rainfall','carbon_dioxide_content','nitrogen_content','methane_content','ammonia_nitrogen_content','nitrite_content','dissolved_oxygen','temperature_threshold','humidity_threshold','flag']);
|
|
if(!isset($params['production_base_id']) || $params['production_base_id'] == ''){
|
|
return $this->fail('请选择区域');
|
|
}
|
|
$result = Db::name('environmental_data')->insert($params);
|
|
if($result){
|
|
return $this->success('添加成功');
|
|
}else{
|
|
return $this->fail('添加失败');
|
|
}
|
|
}
|
|
|
|
//修改环境检查数据
|
|
public function ediMonitor(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$params = $this->request->post(['id','production_base_id','soil_temperature','soil_moisture','room_temperature','air_humidity','air_quality_index','pond_temperature','pond_ph_value','wind_direction','wind_speed','illumination','rainfall','carbon_dioxide_content','nitrogen_content','methane_content','ammonia_nitrogen_content','nitrite_content','dissolved_oxygen','temperature_threshold','humidity_threshold']);
|
|
if(!isset($params['id']) || $params['id'] == '' || !isset($params['production_base_id']) || $params['production_base_id'] == ''){
|
|
return $this->fail('请选择区域');
|
|
}
|
|
$result = Db::name('environmental_data')->update($params);
|
|
if($result){
|
|
return $this->success('修改成功');
|
|
}else{
|
|
return $this->fail('修改失败');
|
|
}
|
|
}
|
|
|
|
//环境检查数据详情
|
|
public function monitorDetail(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$params = $this->request->post(['id','flag']);
|
|
if(empty($params['id']) || empty($params['flag'])){
|
|
return $this->fail('参数错误');
|
|
}
|
|
$data = Db::name('environmental_data')->where('production_base_id',$params['id'])->where('flag',$params['flag'])->order('id desc')->findOrEmpty();
|
|
return $this->success('请求成功',$data);
|
|
}
|
|
|
|
public function monitorList(): Json
|
|
{
|
|
$params = $this->request->get(['id','flag']);
|
|
if(empty($params['id']) || empty($params['flag'])){
|
|
return $this->fail('参数错误');
|
|
}
|
|
$data = Db::name('environmental_data')->where('production_base_id',$params['id'])->where('flag',$params['flag'])->limit(6)->select();
|
|
$content = Db::name('production_base')->where('id',$params['id'])->field('content')->findOrEmpty();
|
|
return $this->success('请求成功',['data'=>$data,'content'=>$content['content']]);
|
|
}
|
|
|
|
//上传图片
|
|
public function imageUpload(): Json
|
|
{
|
|
if(!$this->request->isPost()) {
|
|
return $this->fail('请求方式错误');
|
|
}
|
|
$file = request()->file('file');
|
|
if(empty($file)){
|
|
return $this->fail('上传文件不存在');
|
|
}
|
|
$save_name = Filesystem::disk('public')->putFile( '', $file);
|
|
return $this->success('上传成功',['image'=>$this->request->domain().$save_name]);
|
|
}
|
|
}
|