3 changed files with 134 additions and 1 deletions
@ -0,0 +1,97 @@ |
|||
<?php |
|||
declare (strict_types = 1); |
|||
|
|||
namespace app\controller; |
|||
|
|||
use app\BaseController; |
|||
use app\model\Notice as NoticeModel; |
|||
use app\validate\Notice as NoticeValidate; |
|||
use think\exception\ValidateException; |
|||
use think\facade\Request; |
|||
|
|||
class Notice extends BaseController |
|||
{ |
|||
/** |
|||
* 显示资源列表 |
|||
*/ |
|||
public function list() |
|||
{ |
|||
$request = Request::param(); |
|||
|
|||
$limit = $request['limit'] ?? 10; |
|||
|
|||
$where = []; |
|||
|
|||
$CustomerServiceModel = new NoticeModel(); |
|||
|
|||
# 查询用户列表 |
|||
$field = 'id,title,sort,content'; |
|||
$res = $CustomerServiceModel->field($field)->where($where)->order('sort asc,id desc')->paginate($limit); |
|||
|
|||
$list = $res->items(); |
|||
$total = $res->total(); |
|||
|
|||
return $this->renderSuccess('数据返回成功', ['list' => $list, 'total' => $total]); |
|||
} |
|||
|
|||
/** |
|||
* 保存新建的资源 |
|||
*/ |
|||
public function save() |
|||
{ |
|||
$param = Request::param(); |
|||
|
|||
try { |
|||
$id = $param['id'] ?? 0; |
|||
|
|||
if ($id) { |
|||
validate(NoticeValidate::class)->scene('edit')->check($param); |
|||
$CustomerServiceModel = NoticeModel::find($id); |
|||
$CustomerServiceModel->title = $param['title']; |
|||
$CustomerServiceModel->sort = $param['sort'] ?? 1; |
|||
$CustomerServiceModel->content = $param['content']; |
|||
$CustomerServiceModel->update_time = date("Y-m-d H:i:s",time()); |
|||
$CustomerServiceModel->save(); |
|||
} else { |
|||
validate(NoticeValidate::class)->scene('add')->check($param); |
|||
|
|||
$CustomerService = new NoticeModel(); |
|||
$CustomerService->save([ |
|||
'title' => $param['title'], |
|||
'sort' => $param['sort'] ?? 1, |
|||
'content' => $param['content'], |
|||
'create_time' => date("Y-m-d H:i:s",time()) |
|||
]); |
|||
} |
|||
|
|||
return $this->renderSuccess($id ? '编辑成功' : '添加成功'); |
|||
} catch (ValidateException $validateException) { |
|||
return $this->renderError($validateException->getMessage()); |
|||
} catch (\Exception $e) { |
|||
return $this->renderError('操作失败'); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 删除指定资源 |
|||
*/ |
|||
public function delete() |
|||
{ |
|||
$param = Request::param(); |
|||
|
|||
try { |
|||
|
|||
validate(NoticeValidate::class)->scene('del')->check($param); |
|||
|
|||
$result = NoticeModel::destroy($param['id']); |
|||
|
|||
if (!$result) throw new ValidateException('删除失败'); |
|||
|
|||
return $this->renderSuccess('已删除'); |
|||
} catch (ValidateException $validateException) { |
|||
return $this->renderError($validateException->getMessage()); |
|||
} catch (\Exception $e) { |
|||
return $this->renderError('操作失败'); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
<?php |
|||
declare (strict_types = 1); |
|||
|
|||
namespace app\validate; |
|||
|
|||
use think\Validate; |
|||
|
|||
class Notice extends Validate |
|||
{ |
|||
/** |
|||
* 定义验证规则 |
|||
* 格式:'字段名' => ['规则1','规则2'...] |
|||
* |
|||
* @var array |
|||
*/ |
|||
protected $rule = [ |
|||
'id|公告id' => 'require|number', |
|||
'title|公告标题' => 'require|max:40', |
|||
'sort|排序' => 'number', |
|||
'content|公告内容' => 'require' |
|||
]; |
|||
|
|||
/** |
|||
* 定义错误信息 |
|||
* 格式:'字段名.规则名' => '错误信息' |
|||
* |
|||
* @var array |
|||
*/ |
|||
protected $message = []; |
|||
|
|||
protected $scene = [ |
|||
'add' => ['title','sort','content'], |
|||
'edit' => ['title','sort','content','id'], |
|||
'del' => ['id'] |
|||
]; |
|||
} |
|||
Loading…
Reference in new issue