yingzi 2 年之前
父节点
当前提交
51b496b334
共有 2 个文件被更改,包括 55 次插入4 次删除
  1. 2 1
      app/api/controller/Pub.php
  2. 53 3
      app/model/api/User.php

+ 2 - 1
app/api/controller/Pub.php

@@ -215,11 +215,12 @@ class Pub extends BaseController
         $post = UtilService::getMore([
             ['page', 1],
             ['pageSize', 50],
+            ['work_type_id', ""],
         ], $request);
         $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
         $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
         $post["status"]   = 1;
-        $data = (new UserModel)->getWorkerList($post,"u.uid,u.avatar,u.nickname,u.work_type_id,wt.title as work_type_title,ut.show_template_id");
+        $data = (new UserModel)->getApiWorkerList($post);
         return app('json')->success($data);
     }
     

+ 53 - 3
app/model/api/User.php

@@ -7,6 +7,7 @@ use Closure;
 use library\basic\BaseModel;
 use think\db\exception\DbException;
 use app\model\api\ShowTemplate;
+use app\model\api\InfoAudit;
 use think\Model;
 use think\facade\Db;
 
@@ -250,6 +251,58 @@ class User extends BaseModel
         return $data;
     }
     
+    /**
+     * 获取小程序在职展示列表
+     * @return type
+     */
+    public function getApiWorkerList($post){
+        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $where=[];
+        $where[]=["u.work_type_id",">",0];
+        $where[]=["u.status","=",1];
+        if(!empty($post['work_type_id'])){
+            $where[]=["u.work_type_id","=",$post['work_type_id']];
+        }
+        $totalCount = $this->alias("u")->where($where)->count();
+        $data=null;
+        if($totalCount>0){
+            $data = $this
+                ->alias("u")
+                ->field("u.uid,ut.show_template_id")
+                ->leftJoin("user_show_template ut", "ut.uid  = u.uid and ut.is_default = 1")//默认模板
+                ->where($where)
+                ->order("u.show_temp_seq", "desc")
+                ->order("u.uid", "desc")
+                ->page($post["page"], $post["pageSize"])
+                ->select();
+            if(!empty($data)){
+                $data = $data->toArray();
+            }
+            $infoAuditDb = new InfoAudit();
+            foreach($data as $k=>$v){
+                $item=[
+                    "name"                 =>"",
+                    "avatar"               =>"",
+                    "age"                  =>"",
+                    "service_project_ar"   =>[],
+                    "user_work_type_title" =>"",
+                    "service_area_all"     =>[],
+                    "birthday"             =>""
+                ];
+                $infoData = $infoAuditDb->getItem(["status"=>1,"uid"=>$v["uid"]]);
+                if(!empty($infoData)){
+                    foreach($item as $k2=>$v2){
+                        $item[$k] = $infoData[$k];
+                    }
+                }
+                $data[$k] = array_merge($v,$item);
+            }
+        }
+        $data = empty($data)?[]:$data;
+        return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount];
+    }
+    
     
     
     /**
@@ -319,9 +372,6 @@ class User extends BaseModel
             if(!empty($v["parent_time"])){
                 $data[$k]["parent_time"]  = date("Y-m-d H:i:s",$v["parent_time"]);
             }
-            if(!empty($v["show_template_id"])){
-                
-            }
         }
         return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount];
     }