Files
2026-08-31 11:33:59 +08:00

73 lines
1.8 KiB
PHP

<?php
declare(strict_types=1);
/**
*+------------------
* madong
*+------------------
* Copyright (c) https://gitee.com/motion-code All rights reserved.
*+------------------
* Author: Mr. April (405784684@qq.com)
*+------------------
* Official Website: http://www.madong.tech
*/
namespace app\service\admin\notice;
use app\dao\notice\NoticeDao;
use app\model\notice\Notice;
use core\base\BaseService;
use core\exception\handler\AdminException;
use core\uuid\UUIDGenerator;
class NoticeService extends BaseService
{
public function __construct(NoticeDao $dao)
{
$this->dao = $dao;
}
/**
* 保存
*
* @param array $data
*
* @return \app\model\notice\Notice|null
* @throws \core\exception\handler\AdminException
*/
public function save(array $data): ?Notice
{
try {
return $this->transaction(function () use ($data) {
$data['uuid'] = UUIDGenerator::generate();
return $this->dao->save($data);
});
} catch (\Throwable $e) {
throw new AdminException($e->getMessage());
}
}
/**
* 更新
*
* @param string|int $id
* @param array $data
*
* @throws \core\exception\handler\AdminException
*/
public function update(string|int $id, array $data): void
{
try {
$this->transaction(function () use ($id, $data) {
$data['uuid'] = UUIDGenerator::generate();//更新之后变更uuid 再次推送重新发起
$model = $this->dao->get($id);
$model->fill($data);
$model->save();
});
} catch (\Throwable $e) {
throw new AdminException($e->getMessage());
}
}
}