From df60073f4fb06ea2d16984635e0714bae8a1f8e9 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Mon, 22 Dec 2025 18:03:35 +0800
Subject: [PATCH] 1.在总后台首页装修增加了活动专区和智能匹配 模块 2.目前活动专区获取的是发布需求最新的数据,智能匹配是用户没登录前也是获取发布需求最新数据,登录后会根据用户发布的需求,通过分类匹配到对应的数据 3.修复缴纳保证金报错 4.修复发布需求报错

---
 admin/app/api/model/plus/release/Project.php |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 63 insertions(+), 4 deletions(-)

diff --git a/admin/app/api/model/plus/release/Project.php b/admin/app/api/model/plus/release/Project.php
index 020ba26..5f4675c 100644
--- a/admin/app/api/model/plus/release/Project.php
+++ b/admin/app/api/model/plus/release/Project.php
@@ -3,7 +3,9 @@
 namespace app\api\model\plus\release;
 
 use app\common\model\plus\release\Project as ProjectModel;
-
+use app\common\model\plus\release\DemandUser as DemandUserModel;
+use app\common\model\plus\release\SupplyUser as SupplyUserModel;
+use app\common\model\plus\release\ReleaseProjectImage as ReleaseProjectImageModel;
 
 /**
  * 模型
@@ -11,7 +13,7 @@
 class Project extends ProjectModel
 {
     /**
-     * 获取提现明细
+     * 获取列表
      */
     public function getList($user_id, $postdata)
     {
@@ -20,15 +22,72 @@
             $model = $model->where('name', 'like', '%'.$postdata["keyword"].'%');
         }
         if(!empty($postdata["category_id"])){
-            $model = $model->where('category_id', '=', $postdata["category_id"]);
+            if($postdata["category_id"] == '-1'){
+                //根据分类匹配
+                $category_ids = (new ProjectModel())->where('user_id','=',$user_id)
+                ->where('project_type','=',$postdata["product_type"])
+                ->column('category_id');
+                if(!empty($category_ids)){
+                    $model = $model->where('category_id', 'in', $category_ids); 
+                }
+            }else{
+               $model = $model->where('category_id', '=', $postdata["category_id"]); 
+            }
+            
         }
-        return $model->with(['category','user'])->where('is_delete', '=', 0)
+        $list = $model->with(['category','user'])->where('is_delete', '=', 0)
             ->where('project_type', '=', $postdata["product_type"])
             ->where('status', '=', 1)
             ->where('is_show', '=', 1)
             ->where('user_id', '<>', $user_id)
             ->order(['create_time' => 'desc'])
             ->paginate($postdata);
+
+         foreach($list as &$val){
+            if($postdata["product_type"] == 0){
+                $release_user = DemandUserModel::detail($val['user_id'],['grade']);
+            }else{
+                $release_user = SupplyUserModel::detail($val['user_id'],['grade']);
+            }
+            $val['grade'] = empty($release_user['grade']) ? '' : $release_user['grade'];
+            $image_list = ReleaseProjectImageModel::getImage($val["project_id"]);
+            $val['image'] = empty($image_list[0]) ? '/static/default.png' : $image_list[0]['file_path']; 
+         }   
+         return $list;
+    }  
+
+    /**
+     * 获取列表
+     */
+    public function getIndexList($user, $show_num=2)
+    {
+        $model = $this;
+        if(!empty($user)){
+               //根据分类匹配
+                $category_ids = (new ProjectModel())->where('user_id','=',$user['user_id'])
+                ->column('category_id');
+                if(!empty($category_ids)){
+                    $model = $model->where('category_id', 'in', $category_ids); 
+                }   
+        }
+        $list = $model->with(['category','user'])->where('is_delete', '=', 0)
+            ->where('status', '=', 1)
+            ->where('is_show', '=', 1)
+            ->order(['create_time' => 'desc'])
+            ->paginate($show_num);
+
+         foreach($list as &$val){
+            if($val["product_type"] == 0){
+                $release_user = DemandUserModel::detail($val['user_id'],['grade']);
+            }else{
+                $release_user = SupplyUserModel::detail($val['user_id'],['grade']);
+            }
+            $val['is_check'] = empty($release_user['is_check']) ? 0 : $release_user['is_check'];
+            $val['grade'] = empty($release_user['grade']) ? '' : $release_user['grade'];
+            $image_list = ReleaseProjectImageModel::getImage($val["project_id"]);
+            $val['image'] = empty($image_list[0]) ? '/static/default.png' : $image_list[0]['file_path']; 
+         }   
+         return $list;
     }  
 
 }
\ No newline at end of file

--
Gitblit v1.9.2