Merge pull request '新增获取生产队长下面的所以农户的接口' (#145) from zhangwei into dev

Reviewed-on: #145
This commit is contained in:
weiz 2023-10-30 15:01:08 +08:00
commit db92550f99

View File

@ -12,7 +12,7 @@ use think\response\Json;
class InformationController extends BaseApiController class InformationController extends BaseApiController
{ {
public array $notNeedLogin = ['farmerInfo','farmerLandInfo','farmerPondInfo']; public array $notNeedLogin = ['captainInfo','farmerInfo','farmerLandInfo','farmerPondInfo'];
public function list() public function list()
{ {
@ -133,6 +133,88 @@ class InformationController extends BaseApiController
return $this->success('成功'); return $this->success('成功');
} }
//获取生产队长信息
public function captainInfo() {
//获取参数
$params = $this->request->post(['user_id']);
if(empty($params['user_id'])){
return $this->fail('参数错误_worker');
}
$userData = User::field('nickname as name,avatar,province,province province_name,city,city city_name,area,area area_name,street,street street_name,village,village village_name,brigade,brigade brigade_name')->where('id',$params['user_id'])->where('is_captain',1)->findOrEmpty();
if($userData->isEmpty()){
return $this->fail('用户数据不存在');
}
$userData['address'] = $userData['province_name'].$userData['city_name'].$userData['area_name'].$userData['street_name'].$userData['village_name'].$userData['brigade_name'];
unset($userData['province'],$userData['province_name'],$userData['city'],$userData['city_name'],$userData['area'],$userData['area_name'],$userData['street'],$userData['street_name'],$userData['village'],$userData['village_name'],$userData['brigade'],$userData['brigade_name']);
//获取生产队长下面的农户
$farmerList = UserInformationg::where('create_user_id', $params['user_id'])->field('id,name,phone,area_id,street_id,village_id,brigade_id,area_id area_name,street_id street_name,village_id village_name,brigade_id brigade_name')->select()->each(function($item){
$item['address'] = $item['area_name'].$item['street_name'].$item['village_name'].$item['brigade_name'];
unset($item['area_id'],$item['area_name'],$item['street_id'],$item['street_name'],$item['village_id'],$item['village_name'],$item['brigade_id'],$item['brigade_name']);
//获取农户档案详情
$information = UserInformationgDemand::field('id,category_child,data')->where('information_id', $item['id'])->where('category_id',6)->where('category_child','in','7,32')->order('id', 'desc')->select()->toArray();
//总面积
$item['land_total_area'] = 0;
$item['pond_total_area'] = 0;
$item['animal_total_area'] = 0;
$item['poultry_total_area'] = 0;
//种养类型
$item['is_zz_user'] = false;
$item['is_sc_user'] = false;
$item['is_jc_user'] = false;
$item['is_jq_user'] = false;
foreach($information as $v){
if($v['category_child'] == 7){
$item['is_zz_user'] = true;
$item['land_total_area'] += floatval($v['data']['area']);
}
if($v['category_child'] == 32){
if($v['data']['breeding_type'] == 1){//水产
$item['is_sc_user'] = true;
$item['pond_total_area'] += floatval($v['data']['area']);
}elseif ($v['data']['breeding_type'] == 2) {//脯乳动物
$item['is_jc_user'] = true;
$item['animal_total_area'] += floatval($v['data']['area']);
}elseif ($v['data']['breeding_type'] == 3){//家禽
$item['is_jq_user'] = true;
$item['poultry_total_area'] += floatval($v['data']['area']);
}
}
}
$item['total_area'] = $item['land_total_area'] + $item['pond_total_area'] + $item['animal_total_area'] + $item['poultry_total_area'];
return $item;
})->toArray();
$userData['farmer_total'] = count($farmerList);
$userData['farmer_area'] = array_sum(array_column($farmerList,'total_area'));
$userData['farmer_zz_total'] = 0;
$userData['farmer_sc_total'] = 0;
$userData['farmer_jc_total'] = 0;
$userData['farmer_jq_total'] = 0;
$userData['farmer_zz_area'] = 0;
$userData['farmer_sc_area'] = 0;
$userData['farmer_jc_area'] = 0;
$userData['farmer_jq_area'] = 0;
foreach($farmerList as $v){
if($v['is_zz_user']){
$userData['farmer_zz_total'] += 1;
}
if($v['is_sc_user']){
$userData['farmer_sc_total'] += 1;
}
if($v['is_jc_user']){
$userData['farmer_jc_total'] += 1;
}
if($v['is_jq_user']){
$userData['farmer_jq_total'] += 1;
}
$userData['farmer_zz_area'] += $v['land_total_area'];
$userData['farmer_sc_area'] += $v['pond_total_area'];
$userData['farmer_jc_area'] += $v['animal_total_area'];
$userData['farmer_jq_area'] += $v['poultry_total_area'];
}
$userData['farmer_list'] = $farmerList;
return $this->success('请求成功',$userData);
}
//获取农户信息,该接口溯源系统调用 //获取农户信息,该接口溯源系统调用
public function farmerInfo(): Json public function farmerInfo(): Json
{ {