153 lines
3.8 KiB
PHP
153 lines
3.8 KiB
PHP
<?php
|
|
/**
|
|
* @copyright Copyright (c) 2021 勾股工作室
|
|
* @license https://opensource.org/licenses/Apache-2.0
|
|
* @link https://www.gougucms.com
|
|
*/
|
|
|
|
declare (strict_types = 1);
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use app\admin\BaseController;
|
|
use app\admin\model\Notice as NoticeModel;
|
|
use app\admin\validate\NoticeValidate;
|
|
use think\exception\ValidateException;
|
|
use think\facade\Db;
|
|
use think\facade\View;
|
|
|
|
class Notice extends BaseController
|
|
|
|
{
|
|
/**
|
|
* 构造函数
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->model = new NoticeModel();
|
|
$this->uid = get_login_admin('id');
|
|
// 获取用户信息
|
|
$this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
|
|
}
|
|
/**
|
|
* 数据列表
|
|
*/
|
|
public function datalist()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$param = get_params();
|
|
$where = [];
|
|
|
|
$list = $this->model->getNoticeList($where,$param);
|
|
foreach ($list as $k =>$v){
|
|
$list[$k]['user_name'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
|
|
if($v['status'] == 1){
|
|
$list[$k]['status'] = '正常';
|
|
}else{
|
|
$list[$k]['status'] = '禁用';
|
|
}
|
|
if($v['is_read'] == 1){
|
|
$list[$k]['is_read'] = '已读';
|
|
}else{
|
|
$list[$k]['is_read'] = '未读';
|
|
}
|
|
if($v['read_time']){
|
|
$list[$k]['read_time'] = date('Y-m-d H:i:s',$v['read_time']);
|
|
}
|
|
}
|
|
return table_assign(0, '', $list);
|
|
}
|
|
else{
|
|
return view();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 添加
|
|
*/
|
|
public function add()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$param = get_params();
|
|
|
|
// 检验完整性
|
|
try {
|
|
validate(NoticeValidate::class)->check($param);
|
|
} catch (ValidateException $e) {
|
|
// 验证失败 输出错误信息
|
|
return to_assign(1, $e->getError());
|
|
}
|
|
|
|
$this->model->addNotice($param);
|
|
}else{
|
|
View::assign('users', $this->users);
|
|
return view();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 编辑
|
|
*/
|
|
public function edit()
|
|
{
|
|
$param = get_params();
|
|
|
|
if (request()->isAjax()) {
|
|
// 检验完整性
|
|
try {
|
|
validate(NoticeValidate::class)->check($param);
|
|
} catch (ValidateException $e) {
|
|
// 验证失败 输出错误信息
|
|
return to_assign(1, $e->getError());
|
|
}
|
|
|
|
$this->model->editNotice($param);
|
|
}else{
|
|
$id = isset($param['id']) ? $param['id'] : 0;
|
|
$detail = $this->model->getNoticeById($id);
|
|
if (!empty($detail)) {
|
|
View::assign('detail', $detail);
|
|
View::assign('users', $this->users);
|
|
return view();
|
|
}
|
|
else{
|
|
throw new \think\exception\HttpException(404, '找不到页面');
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 查看信息
|
|
*/
|
|
public function read()
|
|
{
|
|
$param = get_params();
|
|
$id = isset($param['id']) ? $param['id'] : 0;
|
|
$detail = $this->model->getNoticeById($id);
|
|
if (!empty($detail)) {
|
|
View::assign('detail', $detail);
|
|
View::assign('users', $this->users);
|
|
return view();
|
|
}
|
|
else{
|
|
throw new \think\exception\HttpException(404, '找不到页面');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 删除
|
|
* type=0,逻辑删除,默认
|
|
* type=1,物理删除
|
|
*/
|
|
public function del()
|
|
{
|
|
$param = get_params();
|
|
$id = isset($param['id']) ? $param['id'] : 0;
|
|
$type = isset($param['type']) ? $param['type'] : 0;
|
|
|
|
$this->model->delNoticeById($id,$type);
|
|
}
|
|
}
|