From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访

---
 admin/app/api/model/plus/release/Project.php |   95 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 90 insertions(+), 5 deletions(-)

diff --git a/admin/app/api/model/plus/release/Project.php b/admin/app/api/model/plus/release/Project.php
index 020ba26..afce6f0 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,98 @@
             $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)
+
+        //添加项目排序查询
+        if(!empty($postdata["order_sort"]) && $postdata["order_sort"] == 1){
+            $order = "actual_views desc,create_time desc";
+        }else{
+            $order = "create_time desc";
+        }
+        $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'])
+            ->order($order)
             ->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 static function detail($project_id)
+    {
+        if (!$model = parent::detail($project_id)) {
+            throw new BaseException(['msg' => '不存在']);
+        }
+        // 累积阅读数
+        $model->where('project_id', '=', $project_id)->inc('actual_views', 1)->update();
+        return $model;
+    }
+
+    /**
+     * 获取列表
+     */
+    public function getIndexList($user, $show_num=2)
+    {
+        $model = $this;
+        $user_id = 0;
+        if(!empty($user)){
+                $user_id = $user['user_id'];
+               //根据分类匹配
+                $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']);
+                //需求项目获取供应用户
+                $my_user =  SupplyUserModel::detail($user_id);
+            }else{
+                $release_user = SupplyUserModel::detail($val['user_id'],['grade']);
+                //供应项目获取需求用户
+                $my_user =  DemandUserModel::detail($user_id);
+            }
+            $val['is_check'] = empty($my_user['is_check']) ? 0 : $my_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