Files
midi-php/application/adminapi/controller/SystemMessage.php

184 lines
5.5 KiB
PHP
Raw Normal View History

2025-08-13 10:43:56 +08:00
<?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不能为空");
}
}
}