From abc7edc3c8ad59ff213c85413d0d6a10d7a0b6f7 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Wed, 17 Dec 2025 18:03:09 +0800
Subject: [PATCH] 1.	发布供需消耗连盟币,连盟币数量在后台独立设置 2.	小程序供需个人中心可自由切换身份 3.	增加私信系统 4.	增加评论系统,用户可在发布者详情页进行评论操作,评论获得的连盟币可在后台设置 5.	增加发布者的等级,以好评个数为条件进行升级,小程序端会显示该等级的图标,如没有等级则不会显示图标 6.	增加设置消耗连盟币可以解锁、查看发布的信息,费用可在后台设置 7.	小程序供需大厅界面优化,以及增加了推荐栏目,该栏目按发布的分类相似进行匹配,比如A用户发布了 互联网 分类的需求,则会优先推荐匹配互联网分类的供应需求给他。

---
 admin/app/api/model/plus/release/Project.php |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/admin/app/api/model/plus/release/Project.php b/admin/app/api/model/plus/release/Project.php
index 020ba26..ba04a29 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;
 
 /**
  * 模型
@@ -20,15 +22,38 @@
             $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;
     }  
 
 }
\ No newline at end of file

--
Gitblit v1.9.2