From f74b660d4a588c1b722ba86eebb48c5f32fd80d0 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 18 Jun 2021 19:01:01 +0800 Subject: [PATCH] no message --- app/Models/AbstractModel.php | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/app/Models/AbstractModel.php b/app/Models/AbstractModel.php index 15c2597e..696cca96 100644 --- a/app/Models/AbstractModel.php +++ b/app/Models/AbstractModel.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Exceptions\ApiException; use App\Module\Base; use DateTimeInterface; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -157,33 +158,24 @@ class AbstractModel extends Model */ public static function transaction(\Closure $closure) { - //开启事务 try { DB::beginTransaction(); $result = $closure(); - if (is_bool($result)) { - if ($result === false) { - throw new \Exception('处理失败'); // 错误:① 返回faske - } - } elseif ($result) { - if (is_string($result)) { - throw new \Exception($result); // 错误:② 返回字符串(错误描述) - } elseif (is_array($result) - && Base::isError($result)) { - throw new \Exception($result['msg']); // 错误:③ 返回数组,且ret=0 - } - } DB::commit(); - return $result ?: Base::retSuccess('success'); + return $result; } catch (\Throwable $e) { - info($e); //接收异常处理并回滚 try { DB::rollBack(); } catch (\Throwable $eb) { info($eb); } - return Base::retError($e->getMessage() ?: '处理错误'); + if ($e instanceof ApiException) { + throw new ApiException($e->getMessage(), $e->getData(), $e->getCode()); + } else { + info($e); + throw new ApiException($e->getMessage() ?: '处理错误'); + } } } }