yingzi 2 years ago
parent
commit
7ce563720e
3 changed files with 76 additions and 28 deletions
  1. 7 27
      app/api/controller/Pub.php
  2. 46 1
      app/model/api/ShowTemplate.php
  3. 23 0
      app/model/api/Upsource.php

+ 7 - 27
app/api/controller/Pub.php

@@ -104,37 +104,17 @@ class Pub extends BaseController
             ['page', 1],
             ['pageSize', 50],
         ], $request);
-        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
-        $post["page"]     = $post["page"]<=0 ? 1 : (int)$post["page"];
-        $where=[];
-        $where[]=["status","=",1];
+        $where["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $where["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $where["status"]   = 1;
         if((int)$post["is_hot"]==1){
-            $where[]=["is_hot","=",1];
+            $where["is_hot"]   = 1;
         }
         if((int)$post["is_recommend"]==1){
-            $where[]=["is_recommend","=",1];
+            $where["is_recommend"]   = 1;
         }
-        
-        $totalCount = (new ShowTemplate)->where($where)->count();
-        $data=null;
-        if($totalCount>0){
-            $data = (new ShowTemplate)
-                ->field("id,title,price,old_price,status,imgs,is_hot,is_recommend,code,look_count,real_sales,unreal_sales")
-                ->where($where)
-                ->order("id", "desc")
-                ->page((int)$post["page"], $post["pageSize"])
-                ->select();
-            foreach($data as $k=>$v){
-                $data[$k]["is_use"]      = 0;//是否已经购买或者可以使用
-                $data[$k]["imgs"]        = getImageAr($v["imgs"]);
-                $data[$k]["img"]         = empty($data[$k]["imgs"]) ? "" : $data[$k]["imgs"][0];
-                $data[$k]["sales_count"] = $data[$k]["real_sales"] + $data[$k]["unreal_sales"];
-                unset($data[$k]["real_sales"]);
-                unset($data[$k]["unreal_sales"]);
-            }
-        }
-        $data = empty($data)?[]:$data;
-        return app('json')->success(["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount]);
+        $data = (new ShowTemplate)->getDataList($where, "id,title,price,old_price,status,imgs,is_hot,is_recommend,code,look_count,real_sales,unreal_sales");
+        return app('json')->success($data);
     }
     /**
      * 获取轮播图

+ 46 - 1
app/model/api/ShowTemplate.php

@@ -10,5 +10,50 @@ use think\Model;
  */
 class ShowTemplate extends Model
 {
-    //
+    
+    public function getDataList($post,$field="*",$is_admin=0){
+        $post["pageSize"] = $post["pageSize"]>50 ? 50 : (int)$post["pageSize"];
+        $post["page"]     = $post["page"]<=0     ? 1  : (int)$post["page"];
+        $where=[];
+        if(isset($post["status"]) && in_array((string)$post["status"], ["0","1"])){
+            $where[]=["status","=",(int)$post["status"]];
+        }
+        if(!empty($post["title"])){
+            $where[]=["title","like","%{$post["title"]}%"];
+        }
+        if(isset($post["is_hot"]) && in_array($post["is_hot"], ["0","1"])){
+            $where[]=["is_hot","=",(int)$post["is_hot"]];
+        }
+        if(isset($post["is_recommend"]) && in_array($post["is_recommend"], ["0","1"])){
+            $where[]=["is_recommend","=",(int)$post["is_recommend"]];
+        }
+        $totalCount = $this->where($where)->count();
+        $data=null;
+        if($totalCount>0){
+            $data = $this
+                ->field($field)
+                ->where($where)
+                ->order("id", "desc")
+                ->page($post["page"], $post["pageSize"])
+                ->select();
+            if(!empty($data)){
+                $data = $data->toArray();
+            }
+        }
+        $data = empty($data)?[]:$data;
+        
+        foreach($data as $k=>$v){
+            $data[$k]["is_use"]      = 0;//是否已经购买或者可以使用
+            $data[$k]["imgs"]        = getImageAr($v["imgs"]);
+            $data[$k]["img"]         = empty($data[$k]["imgs"]) ? "" : $data[$k]["imgs"][0];
+            $data[$k]["sales_count"] = $data[$k]["real_sales"] + $data[$k]["unreal_sales"];
+            if($is_admin==0){
+                unset($data[$k]["real_sales"]);
+                unset($data[$k]["unreal_sales"]);
+            }
+        }
+        
+        
+        return ["list" => $data, "pageSize" => $post["pageSize"],"page"=>$post["page"],"totalCount"=>$totalCount];
+    }
 }

+ 23 - 0
app/model/api/Upsource.php

@@ -0,0 +1,23 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\model\api;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class Upsource extends Model
+{
+    private $typeAr = [
+        ["type"=>"img","title"=>"普通图片"],
+        ["type"=>"icon","title"=>"图标"]
+    ];
+    
+    public function getTypeData(){
+        return $typeAr;
+    }
+    
+    
+}