diff --git a/app/api/controller/AnimalBreedController.php b/app/api/controller/AnimalBreedController.php index 83e1ce55..3ba011f0 100644 --- a/app/api/controller/AnimalBreedController.php +++ b/app/api/controller/AnimalBreedController.php @@ -76,7 +76,7 @@ $pageNo = empty($params['page_no']) || $params['page_no'] < 0 ? 1 : $params['page_no']; $pageSize = empty($params['page_size']) || $params['page_size'] < 0 ? 10 : $params['page_size']; //设置搜素条件 - $query = 'user_id = '.$params['user_id']; + $query = 'user_id = '.$params['user_id'].' and animal_status != 5'; if(!empty($params['keyword'])){ $query .= ' and (animal_code LIKE "%'.$params['keyword'].'%" or animal_kind LIKE "%'.$params['keyword'].'%" or animal_breed LIKE "%'.$params['keyword'].'%")'; } @@ -90,7 +90,7 @@ public function animalStatus(): Json { $params = $this->request->post(['animal_id','status']); - if(empty($params['animal_id']) || empty($params['status']) || !in_array($params['status'],[1,2,3,4])){ + if(empty($params['animal_id']) || empty($params['status']) || !in_array($params['status'],[1,2,3,4,5])){ return $this->fail('参数错误'); } $result = Db::name('farmer_animal_breed')->where('id',$params['animal_id'])->update(['animal_status'=>$params['status']]); diff --git a/app/api/controller/FishBreedController.php b/app/api/controller/FishBreedController.php index 77ffca3b..f42937c4 100644 --- a/app/api/controller/FishBreedController.php +++ b/app/api/controller/FishBreedController.php @@ -9,6 +9,10 @@ { public array $notNeedLogin = [ 'pondInfo', + 'addFish','catchFish', + 'addFishPic','fishPicList', + 'addFishRecord','delFishRecord','ediFishRecord','fishRecordList', + 'pondEnvData' ]; //获取农户池塘信息 @@ -25,67 +29,196 @@ if($curl_result['code'] == 0){ return $this->fail($curl_result['msg']); } - //获取种植信息 - $pond_fish = Db::name('farmer_fish_breed')->where([ - ['user_id','=',$params['user_id']], - ['pond_id','=',$params['pond_id']], - ])->order('id desc')->findOrEmpty(); - if(!empty($pond_fish)){ - $curl_result['data']['is_fished'] = true; - $curl_result['data']['fish_id'] = $pond_fish['id']; - $curl_result['data']['source_code'] = $pond_fish['source_code']; - $curl_result['data']['kind'] = $pond_fish['kind']; - $curl_result['data']['breed'] = $pond_fish['breed']; - $curl_result['data']['number'] = $pond_fish['number']; - $curl_result['data']['buy_info'] = $pond_fish['buy_info']; - //获取图片 - $fish_pic = Db::name('farmer_fish_pic')->field('pic,create_time')->where('fish_id',$pond_fish['id'])->order('id desc')->findOrEmpty(); - $curl_result['data']['pic'] = !empty($fish_pic) ? $fish_pic['pic'] : ''; - $curl_result['data']['create_time'] = !empty($fish_pic) ? date('Y-m-d H:i:s',$fish_pic['create_time']) : ''; + //获取养殖信息 + $breedData = Db::name('farmer_pond_breed')->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->sum('number'); + //获取捕捞信息 + $catchData = Db::name('farmer_pond_catch')->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->sum('number'); + if($breedData - $catchData != 0){ + $curl_result['data']['is_culture'] = true; + $curl_result['data']['total_num'] = $breedData - $catchData; + //获取水产养殖种类 + $fishKind = Db::name('farmer_pond_breed')->distinct(true)->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->limit(4)->column('kind'); + //获取水产养殖具体品种 + $fiskBreed = Db::name('farmer_pond_breed')->distinct(true)->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->limit(4)->column('breed'); + $curl_result['data']['kind'] = $fishKind; + $curl_result['data']['breed'] = $fiskBreed; + //获取去最新的图片 + $pic = Db::name('farmer_pond_pic')->field('pic,create_time')->where('pond_id',$params['pond_id'])->findOrEmpty(); + if(!empty($pic)){ + $curl_result['data']['pic_detail'] = $pic; + $curl_result['data']['pic_detail']['create_time'] = date('Y-m-d H:i:s',$pic['create_time']); + }else{ + $curl_result['data']['pic_detail'] = []; + } + //获取养殖时间 + $firstBreed = Db::name('farmer_pond_breed')->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->findOrEmpty(); + $curl_result['data']['source_code'] = $firstBreed['source_code']; + $curl_result['data']['create_time'] = date('Y-m-d H:i:s',$firstBreed['create_time']); }else{ - $curl_result['data']['is_fished'] = false; + $curl_result['data']['is_culture'] = false; } //返回数据 return $this->success('请求成功',$curl_result['data']); } - //添加养殖信息 + //添加水产养殖信息 public function addFish(): Json { //获取参数 - $params = $this->request->post(['user_id','pond_id','kind','breed','number','buy_info','pic']); - if(empty($params['user_id']) || empty($params['pond_id']) || empty($params['kind']) || empty($params['breed']) || empty($params['number']) || empty($params['buy_info'])){ + $params = $this->request->post(['user_id','pond_id','kind','breed','number','buy_info','buy_cert']); + if(empty($params['user_id']) || empty($params['pond_id']) || empty($params['kind']) || empty($params['breed']) || empty($params['number']) || empty($params['buy_info']) || empty($params['buy_cert'])){ return $this->fail('参数错误'); } - //判断当前土地是否种植作物 - $hasRes = Db::name('farmer_land_crop')->where([ - ['user_id','=',$params['user_id']], - ['land_id','=',$params['land_id']], - ])->order('id desc')->findOrEmpty(); - if(!empty($hasRes) && empty($hasRes['ripe_time']) && empty($hasRes['crop_yield'])){ - return $this->fail('该土地已种植'); - } //添加数据 - Db::transaction(function () use($params) { - $landCropId = Db::name('farmer_land_crop')->insertGetId([ - 'user_id' => $params['user_id'], - 'land_id' => $params['land_id'], - 'source_code' => 'NO'.time(), - 'crop_name' => $params['crop_name'], - 'crop_variety' => $params['crop_variety'], - 'crop_brand' => $params['crop_brand'], - 'seed_time' => time(), - 'crop_buy_time' => strtotime($params['crop_buy_time']) - ]); - if(!empty($params['pic'])){ - Db::name('farmer_land_crop_pic')->insert([ - 'crop_id' => $landCropId, - 'pic' => $params['pic'], - 'create_time' => time() - ]); - } - }); + $result = Db::name('farmer_pond_breed')->insert([ + 'user_id' => $params['user_id'], + 'pond_id' => $params['pond_id'], + 'source_code' => 'NO'.time(), + 'kind' => $params['kind'], + 'breed' => $params['breed'], + 'number' => $params['number'], + 'buy_info' => $params['buy_info'], + 'buy_cert' => $params['buy_cert'], + 'create_time' => time(), + ]); //返回信息 - return $this->success('添加成功'); + return $result ? $this->success('添加成功') : $this->fail('添加失败'); } + + //标记成熟 + public function catchFish(): Json + { + $params = $this->request->post(['user_id','pond_id','kind','number']); + if(empty($params['user_id']) || empty($params['pond_id']) || empty($params['kind']) || empty($params['number'])){ + return $this->fail('参数错误'); + } + //判断是否养殖 + $hasRes = Db::name('farmer_pond_breed')->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->select(); + if($hasRes->isEmpty()){ + return $this->fail('该池塘未养殖'); + } + //获取池塘养殖数量 + $total = Db::name('farmer_pond_breed')->where('user_id',$params['user_id'])->where('pond_id',$params['pond_id'])->sum('number'); + if($params['number'] > $total){ + return $this->fail('捕捞数量大于池塘总数'); + } + $result = Db::name('farmer_pond_catch')->insert([ + 'user_id' => $params['user_id'], + 'pond_id' => $params['pond_id'], + 'kind' => $params['kind'], + 'number' => $params['number'], + 'create_time' => time() + ]); + return $result ? $this->success('操作成功') : $this->fail('操作失败'); + } + + //添加水产养殖图片 + public function addFishPic(): Json + { + //获取参数 + $params = $this->request->post(['pond_id','pic']); + if(empty($params['pond_id']) || empty($params['pic'])){ + return $this->fail('参数错误'); + } + //写入数据 + $params['create_time'] = time(); + $result = Db::name('farmer_pond_pic')->insert($params); + //返回 + return $result ? $this->success('添加成功') : $this->fail('添加失败'); + } + + //水产养殖图片列表 + public function fishPicList(): Json + { + //获取参数 + $params = $this->request->get(['pond_id']); + if(empty($params['pond_id'])){ + return $this->fail('参数错误'); + } + $data = Db::name('farmer_pond_pic')->where('pond_id',$params['pond_id'])->order('id desc')->select()->each(function($item){ + $item['create_time'] = date('Y-m-d H:i:s',$item['create_time']); + return $item; + })->toArray(); + return $this->success('请求成功',$data); + } + + //添加水产养殖操作记录 + public function addFishRecord(): Json + { + //获取参数 + $params = $this->request->post(['pond_id','action_id','action_content']); + if(empty($params['pond_id']) || empty($params['action_id']) || empty($params['action_content'])){ + return $this->fail('参数错误'); + } + if(empty(json_decode($params['action_content']))) { + return $this->fail('参数错误'); + } + //写入数据 + $params['create_time'] = time(); + $result = Db::name('farmer_pond_record')->insert($params); + //返回 + return $result ? $this->success('添加成功') : $this->fail('添加失败'); + } + + //删除水产养殖操作记录 + public function delFishRecord(): Json + { + $params = $this->request->post(['record_id']); + if(empty($params['record_id'])){ + return $this->fail('参数错误'); + } + $resust = Db::name('farmer_pond_record')->where('id',$params['record_id'])->delete(); + return $resust ? $this->success('删除成功') : $this->fail('删除失败'); + } + + //删除水产养殖操作记录 + public function ediFishRecord(): Json + { + $params = $this->request->post(['record_id','action_content']); + if(empty($params['record_id']) || empty($params['action_content'])){ + return $this->fail('参数错误'); + } + if(empty(json_decode($params['action_content']))) { + return $this->fail('参数错误'); + } + //修改数据 + $result = Db::name('farmer_pond_record')->where('id',$params['record_id'])->update(['action_content'=>$params['action_content']]); + //返回 + return $result ? $this->success('修改成功') : $this->fail('修改失败'); + } + + //水产养殖操作记录列表 + public function fishRecordList(): Json + { + //获取参数 + $params = $this->request->get(['pond_id','page_no','page_size']); + if(empty($params['pond_id'])){ + return $this->fail('参数错误'); + } + //设置分页条件 + $pageNo = empty($params['page_no']) || $params['page_no'] < 0 ? 1 : $params['page_no']; + $pageSize = empty($params['page_size']) || $params['page_size'] < 0 ? 10 : $params['page_size']; + $data = Db::name('farmer_pond_record')->where('pond_id',$params['pond_id'])->page($pageNo,$pageSize)->order('create_time desc')->select()->each(function($item){ + $item['action_name'] = Db::name('farmer_action')->where('id',$item['action_id'])->findOrEmpty()['name']; + $item['action_content'] = json_decode($item['action_content'],true); + $item['create_time'] = date('Y-m-d H:i:s',$item['create_time']); + return $item; + })->toArray(); + return $this->success('请求成功',$data); + } + + //获取农户土地监测数据实时数据 + public function pondEnvData(): Json + { + $params = $this->request->get(['user_id']); + if(empty($params['user_id'])){ + return $this->fail('参数错误'); + } + $data = Db::name('farmer_pond_env_data')->where('user_id',$params['user_id'])->whereDay('create_time', date('Y-m-d',time()))->findOrEmpty(); + if(!empty($data)){ + $data['create_time'] = date('Y-m-d H:i:s',$data['create_time']); + } + return $this->success('请求成功',$data); + } + } \ No newline at end of file diff --git a/app/api/controller/PoultryBreedController.php b/app/api/controller/PoultryBreedController.php index 7cc30245..fcb4bb91 100644 --- a/app/api/controller/PoultryBreedController.php +++ b/app/api/controller/PoultryBreedController.php @@ -76,7 +76,7 @@ $pageNo = empty($params['page_no']) || $params['page_no'] < 0 ? 1 : $params['page_no']; $pageSize = empty($params['page_size']) || $params['page_size'] < 0 ? 10 : $params['page_size']; //设置搜素条件 - $query = 'user_id = '.$params['user_id']; + $query = 'user_id = '.$params['user_id'].' and status != 5'; if(!empty($params['keyword'])){ $query .= ' and (code LIKE "%'.$params['keyword'].'%" or kind LIKE "%'.$params['keyword'].'%" or breed LIKE "%'.$params['keyword'].'%")'; } @@ -90,7 +90,7 @@ public function poultryStatus(): Json { $params = $this->request->post(['poultry_id','status']); - if(empty($params['poultry_id']) || empty($params['status']) || !in_array($params['status'],[1,2,3,4])){ + if(empty($params['poultry_id']) || empty($params['status']) || !in_array($params['status'],[1,2,3,4,5])){ return $this->fail('参数错误'); } $result = Db::name('farmer_poultry_breed')->where('id',$params['poultry_id'])->update(['status'=>$params['status']]);