yingzi %!s(int64=2) %!d(string=hai) anos
pai
achega
bf9cab83c4
Modificáronse 2 ficheiros con 86 adicións e 75 borrados
  1. 81 3
      app/model/api/InfoAudit.php
  2. 5 72
      app/system/controller/Audit.php

+ 81 - 3
app/model/api/InfoAudit.php

@@ -5,6 +5,7 @@ namespace app\model\api;
 
 use app\model\api\ServiceType as ServiceTypeModel;
 use app\model\api\ServiceLabel as ServiceLabelModel;
+use app\model\api\User as UserModel;
 
 use think\Model;
 
@@ -13,8 +14,82 @@ use think\Model;
  */
 class InfoAudit extends Model
 {
-    public function getList(){
-        
+    
+    /**
+     * 获取列表
+     * @param type $post
+     * @param type $is_admin
+     */
+    public function getList($post,$is_admin=0){
+        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $where=[];
+        if(is_numeric($post['status'])) {
+            $where[]=["t.status","=",(int)$post['status']];
+        }
+        if(is_numeric($post['uid']) && $post['uid']>0) {
+            $where[]=["t.uid","=",(int)$post['uid']];
+        }else if(is_mobile($post['user_mobile'])){
+            $udata = (new UserModel)->where("mobile",$post['user_mobile'])->find();
+            if(!empty($udata)){
+                $where[]=["t.uid","=",(int)$udata['uid']];
+            }
+        }
+        if(is_mobile($post['mobile'])) {
+            $where[]=["t.mobile","=",$post['mobile']];
+        }
+        $startTime = "";
+        $endTime = "";
+        if(!empty($post['time'][0]) && !empty($post['time'][1])) {
+           $startTime =  strtotime($post['time'][0]);
+           $endTime = strtotime($post['time'][1]);
+           $where[]=["t.time","between","{$startTime},{$endTime}"];
+        }
+        if(!empty($post['keyword'])){
+            $where[]=["t.name","=",$post['keyword']];
+        }
+        $pageCount = (new InfoAudit)->alias("au")->where($where)->count();
+        $data = null;
+        if($pageCount>0){
+            $userField = $is_admin==1 ? ",u.mobile as user_mobile,u.nickname as user_nickname,u.avatar as user_avatar,a.username as admin_name" : "";
+            $data = (new InfoAudit)
+                ->alias("au")
+                ->field("au.*,wt.title as user_work_type_title,s.title as service_time_type_title{$userField}")
+                ->leftJoin("user u"              , "u.uid  = au.uid")//用户信息
+                ->leftJoin("user_work_type wt"   , "wt.id  = au.user_work_type_id")//职称
+                ->leftJoin("service_time_type s" , "s.code = au.service_type")//服务时长类型
+                ->leftJoin("admin a"             , "a.id   = au.admin_id")//管理员
+                ->where($where)
+                ->order("au.id","desc")
+                ->page((int)$post["page"], $post["pageSize"])
+                ->select()
+                ->toArray();
+        }
+        $data = empty($data) ? [] : $data;
+        $serviceTypeModel = new ServiceTypeModel();
+        foreach($data as $k=>$v){
+            $data[$k]["birthday"]           = empty($data[$k]["birthday"])  ? "" : date("Y-m-d",$data[$k]["birthday"]);//生日
+            $data[$k]["time"]               = date("Y-m-d H:i:s",$data[$k]["time"]);//添加时间
+            $data[$k]["service_audit_imgs"] = getImageAr($data[$k]["service_audit_imgs"]);//我的证书
+            $data[$k]["service_intro_imgs"] = getImageAr($data[$k]["service_intro_imgs"]);//我的介绍图片
+            $data[$k]["service_imgs"]       = getImageAr($data[$k]["service_imgs"]);//我的服务展示照片
+            //服务区域
+            $data[$k]["service_area"]       = getImageAr($data[$k]["service_area"]);
+            $data[$k]["service_area_all"]   = [];
+            foreach($data[$k]["service_area"] as $k2=>$v2){
+                $data[$k]["service_area_all"][]=getAreaItemAr($v2);
+            }
+            //服务内容
+            $data[$k]["service_project"]    = getImageAr($data[$k]["service_project"]);//我的服务内容
+            $data[$k]["service_project_ar"] = [];
+            if(!empty($data[$k]["service_project"])){
+                $data[$k]["service_project_ar"] = (new ServiceTypeModel())->where("id","in",$data[$k]["service_project"])->select();
+            }
+            //介绍标签
+            $data[$k]["service_label"]       = getImageAr($data["service_label"]);
+            $data[$k]["service_label_ar"]    = (new ServiceLabelModel)->getColumnList("id", "title", $data[$k]["service_label"]);
+        }
+        return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$pageCount];
     }
     /**
      * 
@@ -40,9 +115,10 @@ class InfoAudit extends Model
         $data = (new InfoAudit)
                 ->alias("au")
                 ->field("au.*,wt.title as user_work_type_title,s.title as service_time_type_title{$userField}")
-                ->leftJoin("user u","u.uid = au.uid")//用户信息
+                ->leftJoin("user u"              ,"u.uid = au.uid")//用户信息
                 ->leftJoin("user_work_type wt"   , "wt.id = au.user_work_type_id")//职称
                 ->leftJoin("service_time_type s" , "s.code = au.service_type")//服务时长类型
+                ->leftJoin("admin a"             , "a.id = au.admin_id")//管理员
                 ->where($where)
                 ->order("au.id","desc")
                 ->find();
@@ -85,4 +161,6 @@ class InfoAudit extends Model
         return $data;
         
     }
+    
+    
 }

+ 5 - 72
app/system/controller/Audit.php

@@ -65,80 +65,13 @@ class Audit extends BaseController
                 ['time',[]],
             ], $request
         );
-        $where    = [];
-        if(is_numeric($post['status'])) {
-            $where[]=["t.status","=",(int)$post['status']];
-        }
-        if(is_numeric($post['uid']) && $post['uid']>0) {
-            $where[]=["t.uid","=",(int)$post['uid']];
-        }else if(is_mobile($post['user_mobile'])){
-            $udata = (new UserModel)->where("mobile",$post['user_mobile'])->find();
-            if(!empty($udata)){
-                $where[]=["t.uid","=",(int)$udata['uid']];
-            }
-        }
-        if(is_mobile($post['mobile'])) {
-            $where[]=["t.mobile","=",$post['mobile']];
-        }
         
-        
-        
-        $startTime = "";
-        $endTime = "";
-        if(!empty($post['time'][0]) && !empty($post['time'][1])) {
-           $startTime =  strtotime($post['time'][0]);
-           $endTime = strtotime($post['time'][1]);
-           $where[]=["t.time","between","{$startTime},{$endTime}"];
-        }
-        if(!empty($post['keyword'])){
-            $where[]=["t.name","=",$post['keyword']];
-        }
-        $pageCount = (new InfoAudit)->alias("t")->where($where)->count();
-        $data = null;
-        if($pageCount>0){
-            $data = (new InfoAudit)
-                ->alias("t")
-                ->field("t.*,u.nickname,u.mobile as user_mobile,a.username as admin_name,s.title as service_time_type_title,w.title as user_work_type_title")
-                ->leftJoin("user u", "u.uid = t.uid")
-                ->leftJoin("admin a", "a.id = t.admin_id")
-                ->leftJoin("service_time_type s", "s.code = t.service_type")
-                ->leftJoin("user_work_type w", "w.id = t.user_work_type_id")
-                ->where($where)
-                ->page((int)$post["page"], $pageSize)
-                ->order("t.id","desc")
-                ->select()
-                ->toArray();
-        }
-        $data = empty($data) ? [] : $data;
-        $serviceTypeModel = new ServiceTypeModel();
-        foreach($data as $k=>$v){
-            $data[$k]["birthday"]   = empty($v["birthday"])  ?"":date("Y-m-d",$v["birthday"]);
-            $data[$k]["admin_time"] = empty($v["admin_time"])?"":date("Y-m-d H:i:s",$v["admin_time"]);
-            $data[$k]["time"]   = date("Y-m-d H:i:s",$v["time"]);
-            
-            $data[$k]["service_audit_imgs"] = getImageAr($v["service_audit_imgs"]);
-            $data[$k]["service_intro_imgs"] = getImageAr($v["service_intro_imgs"]);
-            
-            //服务区域
-            $data[$k]["service_area"] = getImageAr($v["service_area"]);
-            $data[$k]["service_area_all"] = [];
-            foreach($data[$k]["service_area"] as $k2=>$v2){
-                $data[$k]["service_area_all"][]=getAreaItemAr($v2);
-            }
-            //服务内容
-            $data[$k]["service_project"]    = getImageAr($v["service_project"]);
-            $data[$k]["service_project_ar"] = [];
-            if(!empty($data[$k]["service_project"])){
-                $data[$k]["service_project_ar"] = $serviceTypeModel->where("id","in",$data[$k]["service_project"])->select();
-            }
-            //服务标签
-            $data[$k]["service_label"]     = getImageAr($v["service_label"]);
-        }
+        $data = (new InfoAudit)->getList($post);
         return app('json')->success([
-            'list'      => $data,
-            'pageCount' => $pageCount,
-            'pageSize'  => $pageSize,
-            'page'      => $post['page'],
+            'list'      => $data["list"],
+            'pageCount' => $data["totalCount"],
+            'pageSize'  => $data["pageSize"],
+            'page'      => $data["page"],
         ]);
     }
     /**