12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- /**
- * @Name
- * @Description
- * @Author 刘学玺
- * @Date 2024/8/27 10:52
- */
- namespace App\Http\Services\Backend\Server\Service;
- use App\Enums\Common\Status;
- use App\Http\Services\Service;
- use App\Models\Service\Category;
- use App\Models\System\Dept;
- use App\Models\System\DictData;
- use App\Models\System\DictType;
- use Symfony\Component\HttpFoundation\Response;
- class CategoryService extends Service
- {
- protected array $simpleColumn = ['id', 'title', 'cover'];
- protected array $selectColumn = ['sort', 'status'];
- protected array $appendColumn = ['created_at as createTime'];
- public function getCategoryList($params)
- {
- $category = Category::query();
- isset($params['title']) && filled($params['title']) && $category->where('title', "%{$params['title']}%");
- isset($params['status']) && filled($params['status']) && $category->where('status', $params['status']);
- $categoryPage = $category->paginate($params['pageSize'], [...$this->simpleColumn, ...$this->selectColumn, ...$this->appendColumn], 'page', $params['pageNo']);
- return ['list' => $categoryPage->items(), 'total' => $categoryPage->total()];
- }
- public function createCategory(array $data)
- {
- $category = self::toModel($data, Category::class);
- return $category->create($category->getAttributes())->id;
- }
- public function getCategory(int $id)
- {
- return Category::query()->select([...$this->simpleColumn, ...$this->selectColumn])->find($id);
- }
- public function updateCategory(array $data, int $id): void
- {
- $category = self::toModel($data, Category::class);
- $category->where('id', $id)->update($category->getAttributes());
- }
- public function deleteCategory(int $id)
- {
- $category = self::toModel(['id' => $id], Category::class);
- return $category->delete();
- }
- public function getCategorySimpleList()
- {
- return Category::query()->where('status', Status::ENABLE)->select($this->simpleColumn)->get();
- }
- }
|