184 lines
5.5 KiB
PHP
184 lines
5.5 KiB
PHP
<?php
|
||
|
||
namespace app\adminapi\controller;
|
||
|
||
use app\common\controller\adminApi;
|
||
use app\common\controller\Push;
|
||
use think\Db;
|
||
use think\Session;
|
||
|
||
class SystemMessage extends adminApi
|
||
{
|
||
|
||
//系统消息列表
|
||
public function message_lists()
|
||
{
|
||
$page = input('page', 1);
|
||
$page_limit = input('page_limit', 30);
|
||
$search_title = input('search_title', '');
|
||
$search_type = input('search_type', '');//1系统消息 2官方公告,3公告下的房间推荐,4公告下的活动
|
||
$where=[];
|
||
//标签名称
|
||
if($search_title!==''){
|
||
$where['title'] = ['like', '%'.$search_title.'%'];
|
||
}
|
||
//标签类型
|
||
if($search_type == 1){
|
||
$where['type'] = $search_type;
|
||
}else{
|
||
$where['type'] = ['>', 0];
|
||
}
|
||
$where['delete_time'] = 0;
|
||
$count = db::name('system_message')->where($where)->count();
|
||
$lists = db::name('system_message')->where($where)->page($page, $page_limit)->select();
|
||
foreach ($lists as $key => $value) {
|
||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||
$lists[$key]['updatetime'] = date('Y-m-d H:i:s', $value['updatetime']);
|
||
$lists[$key]['type_name'] = $value['type'] == 1 ? '系统消息' : '官方公告';
|
||
$lists[$key]['admin_name'] = db::name('admin')->where('id', $value['admin_id'])->value('nickname');
|
||
if($lists[$key]['room_id'] > 0){
|
||
$lists[$key]['room_id'] = $lists[$key]['room_id'].'-'.db::name('vs_room')->where('id', $value['room_id'])->value('room_name');
|
||
}else{
|
||
$lists[$key]['room_id'] = '';
|
||
}
|
||
//提醒方式:1 站内 2短信
|
||
$lists[$key]['remind_type_str'] = $value['remind_type'] == 1 ? '站内' : '短信';
|
||
|
||
}
|
||
$return_data = [
|
||
'page' =>$page,
|
||
'page_limit' => $page_limit,
|
||
'count' => $count,
|
||
'lists' => $lists
|
||
];
|
||
return V(1,"成功", $return_data);
|
||
}
|
||
|
||
//编辑系统消息
|
||
public function edit_message()
|
||
{
|
||
//管理员ID
|
||
$admin_id = Session::get('admin_id');
|
||
if(!$admin_id){
|
||
return V(0,"管理员ID不能为空");
|
||
}
|
||
|
||
$data['admin_id'] = $admin_id;
|
||
$id = input('id', '');
|
||
$type = input('type', '');
|
||
if($type){
|
||
$data['type'] = $type;
|
||
}
|
||
|
||
$title = input('title', '');
|
||
if($title){
|
||
$data['title'] = $title;
|
||
}
|
||
|
||
$content = input('content', '');
|
||
if($content){
|
||
$data['content'] = $content;
|
||
}
|
||
|
||
$image = input('image', '');
|
||
if($image){
|
||
$data['image'] = $image;
|
||
}
|
||
|
||
$room_id = input('room_id', '');
|
||
if($room_id){
|
||
$data['room_id'] = $room_id;
|
||
}
|
||
|
||
$url = input('url', '');
|
||
if($url){
|
||
$data['url'] = $url;
|
||
}
|
||
$remind_type = input('remind_type', '');
|
||
if($remind_type){
|
||
$data['remind_type'] = $remind_type;
|
||
}
|
||
$receiving_id = input('receiving_id', '');
|
||
if($receiving_id){
|
||
$data['receiving_id'] = $receiving_id;
|
||
}else{
|
||
$user_list = db::name('user')->field('id')->select();
|
||
$data['receiving_id'] = implode(',', array_column($user_list, 'id'));
|
||
}
|
||
if($id){
|
||
$data['updatetime'] = time();
|
||
|
||
$res = db::name('system_message')->where('id',$id)->update($data);
|
||
if($res){
|
||
return V(1,"成功");
|
||
}
|
||
else{
|
||
return V(0,"失败");
|
||
}
|
||
}else{
|
||
$data['createtime'] = time();
|
||
$res = db::name('system_message')->insert($data);
|
||
if($res){
|
||
// if($remind_type == 2){
|
||
//发送短信
|
||
// $remind_types = explode(',', $receiving_id);
|
||
// foreach ($remind_types as $key => $value) {
|
||
// $phone = db::name('user')->where('id', $value)->value('mobile');
|
||
//
|
||
// }
|
||
// }else{
|
||
//推送礼物横幅
|
||
// $push = new Push(UID);
|
||
// $text_list_new = [
|
||
// 'text' => '系统消息'
|
||
// ];
|
||
// $push->systemMessage($text_list_new);
|
||
// }
|
||
return V(1,"成功");
|
||
}
|
||
else{
|
||
return V(0,"失败");
|
||
}
|
||
}
|
||
}
|
||
|
||
//删除系统消息
|
||
public function del_message()
|
||
{
|
||
$id = input('id', '');
|
||
if($id){
|
||
$data = [
|
||
'delete_time' => time(),
|
||
];
|
||
|
||
$res = db::name('system_message')->where('id',$id)->update($data);
|
||
if($res){
|
||
return V(1,"成功");
|
||
}
|
||
else{
|
||
return V(0,"失败");
|
||
}
|
||
}else{
|
||
return V(0,"ID不能为空");
|
||
}
|
||
}
|
||
|
||
//系统消息详情
|
||
public function get_message_detail()
|
||
{
|
||
$id = input('id', '');
|
||
if($id){
|
||
$data = db::name('system_message')->where('id',$id)->find();
|
||
$data['createtime'] = date('Y-m-d H:i:s', $data['createtime']);
|
||
if($data){
|
||
return V(1,"成功", $data);
|
||
}
|
||
else{
|
||
return V(0,"失败");
|
||
}
|
||
}else{
|
||
return V(0,"ID不能为空");
|
||
}
|
||
}
|
||
|
||
} |