Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
chenbo 2023-10-23 14:21:34 +08:00
commit 3f164288ac
7 changed files with 75 additions and 11 deletions

View File

@ -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);
}
}

View File

@ -1,7 +1,8 @@
<?php
namespace workerim;
namespace app\common\service\workerim;
use GatewayClient\Gateway;
/**
* 主逻辑
* 主要是处理 onConnect onMessage onClose 三个方法

View File

@ -1,11 +1,11 @@
<?php
use \Workerman\Worker;
use \GatewayWorker\BusinessWorker;
<?php
use GatewayWorker\BusinessWorker;
use Workerman\Worker;
// 自动加载类
require_once __DIR__ . '/../../vendor/autoload.php';
require_once __DIR__ . '/../../../../vendor/autoload.php';
// bussinessWorker 进程
$worker = new BusinessWorker();
@ -20,7 +20,7 @@ $worker->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'))

View File

@ -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");

View File

@ -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');

View File

@ -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;
}

View File

@ -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