diff --git a/app/api/controller/InformationController.php b/app/api/controller/InformationController.php index 8b8f544d0..2768cdd58 100644 --- a/app/api/controller/InformationController.php +++ b/app/api/controller/InformationController.php @@ -4,12 +4,16 @@ namespace app\api\controller; use app\common\model\informationg\UserInformationg; use app\common\logic\BaseLogic; +use app\common\model\informationg\UserInformationgDemand; use app\common\model\task\Task; use app\common\model\task_template\TaskTemplate; use app\common\model\user\User; +use think\response\Json; class InformationController extends BaseApiController { + public array $notNeedLogin = ['farmerInfo']; + public function list() { $param = Request()->param(); @@ -128,4 +132,63 @@ class InformationController extends BaseApiController } return $this->success('成功'); } + + //获取农户信息,该接口溯源系统调用 + public function farmerInfo(): Json + { + //获取参数 + $params = $this->request->post(['user_id']); + if(empty($params['user_id'])){ + return $this->fail('参数错误'); + } + //获取农户信息 + $farmerInfo = UserInformationg::where('id', $params['user_id'])->field('id,create_user_id,company_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')->find()->toArray(); + unset($farmerInfo['area_id'],$farmerInfo['street_id'],$farmerInfo['village_id'],$farmerInfo['brigade_id']); + $data = UserInformationgDemand::field('id,category_child,data')->where('information_id', $params['user_id'])->where('category_id',6)->where('category_child','in','7,32')->order('id', 'desc')->select()->toArray(); + //是否是种植户 + $farmerInfo['is_zz_user'] = false; + //是否是水产养殖户 + $farmerInfo['is_sc_user'] = false; + //是否是家禽养殖户 + $farmerInfo['is_jq_user'] = false; + //是否是大型动物养殖户 + $farmerInfo['is_dw_user'] = false; + //土地总面积 + $farmerInfo['total_land_area'] = 0; + //池塘总面积 + $farmerInfo['total_pond_area'] = 0; + //家禽养殖场总面积 + $farmerInfo['total_henhouse_area'] = 0; + //动物养殖场总面积 + $farmerInfo['total_pasture_area'] = 0; + foreach($data as $v){ + if($v['category_child'] == 7){ + $farmerInfo['is_zz_user'] = true; + $farmerInfo['total_land_area'] += floatval($v['data']['area']); + $farmerInfo['land_detail'][] = [ + 'land_id' => $v['id'], + 'land_area' => $v['data']['area'], + 'land_notes' => $v['data']['notes'], + ]; + } + if($v['category_child'] == 32){ + if($v['data']['breeding_type'] == 1){//水产 + $farmerInfo['is_sc_user'] = true; + $farmerInfo['total_pond_area'] += floatval($v['data']['area']); + $farmerInfo['pond_detail'][] = [ + 'pond_id' => $v['id'], + 'pond_area' => $v['data']['area'], + 'pond_notes' => $v['data']['notes'], + ]; + }elseif ($v['data']['breeding_type'] == 2) {//脯乳动物 + $farmerInfo['is_jq_user'] = true; + $farmerInfo['total_henhouse_area'] += floatval($v['data']['area']); + }elseif ($v['data']['breeding_type'] == 3){//家禽 + $farmerInfo['is_dw_user'] = true; + $farmerInfo['total_pasture_area'] += floatval($v['data']['area']); + } + } + } + return $this->success('请求成功',$farmerInfo); + } } diff --git a/extend/workerim/Events.php b/app/common/service/workerim/Events.php similarity index 94% rename from extend/workerim/Events.php rename to app/common/service/workerim/Events.php index 996076ea4..2aa21425b 100644 --- a/extend/workerim/Events.php +++ b/app/common/service/workerim/Events.php @@ -1,7 +1,8 @@ count = 4; $worker->registerAddress = '172.19.97.179:1256'; // 注册服务类 -$worker->eventHandler = 'workerim\Events'; +$worker->eventHandler = 'app\common\service\workerim\Events'; // 如果不是在根目录启动,则运行runAll方法 if(!defined('GLOBAL_START')) diff --git a/extend/workerim/start_gateway.php b/app/common/service/workerim/start_gateway.php similarity index 93% rename from extend/workerim/start_gateway.php rename to app/common/service/workerim/start_gateway.php index 7437e0276..b925962ed 100644 --- a/extend/workerim/start_gateway.php +++ b/app/common/service/workerim/start_gateway.php @@ -4,7 +4,7 @@ use \Workerman\Worker; use \GatewayWorker\Gateway; // 自动加载类 -require_once __DIR__ . '/../../vendor/autoload.php'; +require_once __DIR__ . '/../../../../vendor/autoload.php'; // gateway 进程,这里使用Text协议,可以用telnet测试 $gateway = new Gateway("Websocket://0.0.0.0:8282"); diff --git a/extend/workerim/start_register.php b/app/common/service/workerim/start_register.php similarity index 84% rename from extend/workerim/start_register.php rename to app/common/service/workerim/start_register.php index 5d4854240..d2da32b52 100644 --- a/extend/workerim/start_register.php +++ b/app/common/service/workerim/start_register.php @@ -3,7 +3,7 @@ use \Workerman\Worker; use \GatewayWorker\Register; // 自动加载类 -require_once __DIR__ . '/../../vendor/autoload.php'; +require_once __DIR__ . '/../../../../vendor/autoload.php'; // register 必须是text协议,切记不能将register端口开放给外网 $register = new Register('text://172.19.97.179:1256'); diff --git a/start.php b/start.php index c29a03638..72b64ee8f 100644 --- a/start.php +++ b/start.php @@ -29,7 +29,7 @@ define('GLOBAL_START', 1); require_once __DIR__ . '/vendor/autoload.php'; // 加载所有Applications/*/start.php,以便启动所有服务 -foreach(glob(__DIR__.'/extend/workerim/start*.php') as $start_file) +foreach(glob(__DIR__.'/app/common/service/workerim/start*.php') as $start_file) { require_once $start_file; } diff --git a/start_for_win.bat b/start_for_win.bat index 604c848f8..bbcd605c6 100644 --- a/start_for_win.bat +++ b/start_for_win.bat @@ -1,3 +1,3 @@ CHCP 65001 -php extend\workerim\start_register.php extend\workerim\start_gateway.php extend\workerim\start_businessworker.php +php app\common\service\workerim\start_register.php app\common\service\workerim\start_gateway.php app\common\service\workerim\start_businessworker.php pause \ No newline at end of file