quanwei
2 days ago 04102f7237efefa744090ed7c25f7b5d0807b679
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;
    }  
}