优化微信图文

This commit is contained in:
JaguarJack 2020-06-30 08:40:00 +08:00
parent 16a19312a9
commit 051627547e
2 changed files with 18 additions and 14 deletions

View File

@ -51,7 +51,7 @@ class Graphic extends CatchController
return CatchResponse::success($this->graphic->storeBy($request->param()));
}
public function update($id, Request $request)
public function update($id, CatchRequest $request)
{
return CatchResponse::success($this->graphic->updateBy($id, $request->param()));
}

View File

@ -111,24 +111,28 @@ class WechatGraphicRepository extends CatchRepository
*/
public function updateBy(int $id, array $data)
{
$articles = $data['articles'];
try {
$this->wechatGraphic->startTrans();
$updateStatus = true;
foreach ($articles as $article) {
$id = $article['id'];
unset($article['id']);
if ($this->wechatGraphic->where('id', $id)
->update($article) === false) {
$updateStatus = false;
break;
}
if (!parent::deleteBy($id)) {
throw new FailedException('更新失败');
}
if (!$updateStatus) {
$this->wechatGraphic->rollback();
if ($this->wechatGraphic->where('parent_id', $id)->find() && !$this->wechatGraphic->where('parent_id', $id)->delete()) {
throw new FailedException('更新失败');
}
foreach ($data['articles'] as &$article) {
unset($article['id']);
}
if ($this->storeBy($data) === false) {
throw new FailedException('更新失败');
}
} catch (\Exception $exception) {
$this->wechatGraphic->rollback();
throw new FailedException($exception->getMessage());
}
$this->wechatGraphic->commit();
return true;
}