Files
yusheng-php/application/adminapi/controller/SystemMessage.php
2025-08-07 20:21:47 +08:00

184 lines
5.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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不能为空");
}
}
}