Files
fdesk/app/ticket/logic/CategorieLogic.php
T
2025-07-04 15:04:29 +08:00

66 lines
1.8 KiB
PHP

<?php
namespace app\ticket\logic;
use app\ticket\model\Categorie;
use support\Log;
use support\exception\BusinessException;
class CategorieLogic
{
public function list($params)
{
$where = [];
$size = $params['size'] ?? 10;
$current = $params['current'] ?? 1;
return Categorie::with('translation')->where($where)->paginate($size, ['*'], 'page', $current);
}
public function getAll($params)
{
$where = [];
$where[] = ['status', '=', 1];
return Categorie::with('translation')->where($where)->get();
}
public function add(array $data)
{
try {
return Categorie::create($data);
} catch (\Throwable $e) {
Log::error('分类创建失败', [
'data' => $data,
'error' => $e->getMessage()
]);
throw new BusinessException('分类创建失败,请稍后重试', 500);
}
}
public function edit(array $data)
{
try {
$categorie = Categorie::updateOrCreate(['id' => $data['id']], $data);
return $categorie;
} catch (\Throwable $e) {
Log::error('分类编辑失败', [
'data' => $data,
'error' => $e->getMessage()
]);
throw new BusinessException('分类编辑失败,请稍后重试', 500);
}
}
public function delete(int $id)
{
try {
$categorie = Categorie::where(['id'=>$id])->delete();
return $categorie;
} catch (\Throwable $e) {
Log::error('分类删除失败', [
'id' => $id,
'error' => $e->getMessage()
]);
throw new BusinessException('分类删除失败,请稍后重试', 500);
}
}
}