From b69fc141d1145672791871b918d898dd01cce8c2 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Mon, 16 Oct 2023 11:30:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2AI=E5=95=86=E6=9C=BA=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/InformationController.php | 22 +++++++++++++++++++ .../model/informationg/UserInformationg.php | 13 +++++++++++ 2 files changed, 35 insertions(+) diff --git a/app/api/controller/InformationController.php b/app/api/controller/InformationController.php index 8b8f544d0..831123f3c 100644 --- a/app/api/controller/InformationController.php +++ b/app/api/controller/InformationController.php @@ -128,4 +128,26 @@ class InformationController extends BaseApiController } return $this->success('成功'); } + + public function business_opportunity() + { + $param = Request()->param(); + [$page, $limit] = $this->getPage(); + if (isset($param['user_id']) && $param['user_id'] > 0) { + $data[] = ['create_user_id', '=', $param['user_id']]; + } else { + $data[] = ['company_id', '=', $this->userInfo['company_id']]; + } + $res = UserInformationg::list($data, $page, $limit); + if ($res != true) { + return $this->fail(BaseLogic::getError()); + } + $informationg_array = ($res->toArray()) ?? []; + $informationg_id_array = ($res->column('id')) ?? []; + $opportunity = UserInformationg::business_opportunity($informationg_id_array); + foreach($informationg_array as $k=>$v) { + $informationg_array[$k]['opportunity'] = $opportunity[$v['id']] ?? []; + } + return $this->success('ok', $informationg_array); + } } diff --git a/app/common/model/informationg/UserInformationg.php b/app/common/model/informationg/UserInformationg.php index 731ab1c8e..0ca87c2b0 100644 --- a/app/common/model/informationg/UserInformationg.php +++ b/app/common/model/informationg/UserInformationg.php @@ -152,6 +152,19 @@ class UserInformationg extends BaseModel return $item; } + public static function business_opportunity($informationg_id_array) + { + $demand_id_array = UserInformationgDemand::whereIn('information_id', $informationg_id_array)->where('status', 1)->field(['max(id) as demand_id'])->group('information_id')->select()->column('demand_id'); + $data = UserInformationgDemand::whereIn('id', $demand_id_array)->column('*', 'information_id'); + foreach($data as &$item) { + $item['data'] = json_decode($item['data'], true); + $item['data_field'] = json_decode($item['data_field'], true); + $item['relation_goods'] = []; + } + unset($item); + return $data; + } + public function company() { return $this->hasOne(Company::class, 'id', 'company_id')->field(['id', 'company_name', 'admin_id']);