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