Browse Source

分类列表

afa 7 months ago
parent
commit
e7f589df05
2 changed files with 41 additions and 3 deletions
  1. 35 3
      application/api/controller/Product.php
  2. 6 0
      application/common/model/ProductsModel.php

+ 35 - 3
application/api/controller/Product.php

@@ -29,7 +29,7 @@ class Product extends Api
      */
     public function getPopularList(ProductsModel $productsModel, ProductPopular $productPopular, ProductLists $productLists)
     {
-        $item = $this->getPopularType($productsModel);
+        $item = $productsModel::getProductTypeById($this->lan);
         $resp = array();
         foreach ($item as $kk =>$val) {
             $list=  $productLists->where('type_id', $kk)->field('id,thum as img_url,'.$this->lan.'_name as name')->select();
@@ -87,12 +87,44 @@ class Product extends Api
         $this->success('', $list);
     }
  
+     /**
+     * 寄售转让详情
+     * sort: 0 默认排序 1价格从高到低 2价格从低到高
+     * type_id 分类
+     * key_val 商品名称搜索
+     */
+    public function getTransferDetail(ProductMarket $productMarket, OrderLogic $orderLogic, ProductOrder $productOrder)
+    {
+        $sort    = $this->request->post('sort/d', '');
+        $type_id = $this->request->post('type_id/s', '');
+        $key_val = $this->request->post('key_val/s', '');
+        $order = 'a.price ASC';
+        if($sort == 1) $order = 'a.price DESC';
+        $map['a.status'] = $productMarket::Normal;
+        if(!empty($type_id)) $map['b.type_id'] = $type_id;
+        if(!empty($key_val)) $map['b.'.$this->lan.'_name'] = ['like', '%'.$key_val.'%'];
+        $list = $productMarket->alias('a')
+            ->join("product_list b", "a.product_id = b.id", "left")
+            ->field('a.id,'.'b.'.$this->lan.'_name as name,b.thum as img_url,a.price,a.product_id,a.type_id')
+            ->where('a.status', $productMarket::Normal)
+            ->where($map)
+            ->order($order)
+            ->paginate($this->pageSize);
+
+        foreach ($list as &$item) {
+            $item['issue']       = $orderLogic::getProductIssue($item->product_id);  //发行: 是产品的库存总量(卖出和没卖出的都算,最保险的计算方式是剩余库存量+所有用户的持有量;因为空投产品不是从库存出去的   
+            $item['circulation'] = $productOrder::where('status', $productOrder::Paid)->count();  //流通: 所有用户的持有量    
+        }
+        $this->success('', $list);
+    }
+ 
+
 
     
     //获取分类
-    public function getPopularType($productsModel)
+    public function getPopularType()
     {
-        return $productsModel->where('status', 1)->column('id,'.$this->lan.'_title as title');
+        return $this->success('', ProductsModel::getProductTypeById($this->lan));
     }
 
 }

+ 6 - 0
application/common/model/ProductsModel.php

@@ -25,4 +25,10 @@ class ProductsModel  extends Model
         return $this->hasMany('ProductLists', 'type_id', 'id');
     }
 
+    //分类
+    public static function getProductTypeById(string $lan)
+    {
+        return self::where('status', self::Normal)->column('id,'.$lan.'_title as title');
+    }
+
 }