Browse Source

师傅端-产品分类

whitefang 1 year ago
parent
commit
28b12155f5

+ 19 - 0
app/workerapi/controller/GoodsCategoryController.php

@@ -0,0 +1,19 @@
+<?php
+namespace app\workerapi\controller;
+
+use app\workerapi\lists\GoodsCategoryLists;
+
+/**
+ * 用户控制器
+ * Class GoodsCategoryController
+ * @package app\api\controller
+ */
+class GoodsCategoryController extends BaseApiController
+{
+    public array $notNeedLogin = ['lists'];
+
+    public function lists()
+    {
+        return $this->dataLists(new GoodsCategoryLists());
+    }
+}

+ 63 - 0
app/workerapi/lists/GoodsCategoryLists.php

@@ -0,0 +1,63 @@
+<?php
+namespace app\workerapi\lists;
+
+use app\common\lists\ListsSearchInterface;
+use app\common\model\goods_category\GoodsCategory;
+
+/**
+ * GoodsCategory列表
+ * Class GoodsCategoryLists
+ * @package app\api\lists\goods_category
+ */
+class GoodsCategoryLists extends BaseWorkerDataLists implements ListsSearchInterface
+{
+
+
+    /**
+     * @notes 设置搜索条件
+     * @return \string[][]
+     * @author likeadmin
+     * @date 2024/07/07 18:23
+     */
+    public function setSearch(): array
+    {
+        return [
+            '=' => ['category_type', 'name', 'is_goods', 'status'],
+
+        ];
+    }
+
+
+    /**
+     * @notes 获取列表
+     * @return array
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @author whitef
+     * @date 2024/07/07 18:23
+     */
+    public function lists(): array
+    {
+        $lists = GoodsCategory::where($this->searchWhere)
+            ->field(['id', 'pid' ,'picture', 'name'])
+            ->order(['weigh' => 'desc'])
+            ->select()
+            ->toArray();
+
+        return linear_to_tree($lists, 'children', 'id', 'pid');
+    }
+
+
+    /**
+     * @notes 获取数量
+     * @return int
+     * @author whitef
+     * @date 2024/07/07 18:23
+     */
+    public function count(): int
+    {
+        return GoodsCategory::where($this->searchWhere)->count();
+    }
+
+}