Files

255 lines
8.4 KiB
PHP
Raw Permalink Normal View History

<?php
namespace app\adminapi\controller;
use app\common\controller\adminApi;
use think\Db;
use think\Session;
class SingerSong extends adminApi
{
//歌手认证列表
public function singerList()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$start_time = input('start_time', '');
$end_time = input('end_time', '');
$search = input('search', '');
$status = input('status', '');
$where=[];
//搜索信息有值且是纯数字
2025-11-13 17:44:20 +08:00
if(is_numeric($search)){
$where['ss.user_id'] = $search;
2025-11-13 17:37:51 +08:00
$wheres['user_id'] = $search;
}
2025-11-13 17:44:20 +08:00
if($search && !is_numeric($search)){
$where['u.nickname'] = ['like', '%'.$search.'%'];;
}
2025-11-13 17:44:20 +08:00
if($start_time && $end_time){
2025-11-13 17:36:07 +08:00
$where['ss.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
2025-11-13 17:37:51 +08:00
$wheres['createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
}
2025-11-14 17:12:53 +08:00
if($status){
$where['ss.status'] = $status;
2025-11-13 17:37:51 +08:00
$wheres['status'] = $status;
2025-11-14 17:15:29 +08:00
}else{
$where = [];
$wheres = [];
}
2025-11-13 17:34:22 +08:00
$count = db::name('vs_singer')->where($wheres)->count();
$list = db::name('vs_singer')
->alias('ss')
2025-11-13 17:31:27 +08:00
->join('user u', 'ss.user_id=u.id', 'left')
->field('ss.*,u.nickname,u.avatar,u.user_code,u.mobile,u.sex')
->where($where)
2025-12-05 15:29:26 +08:00
->order('ss.id desc')
->page($page, $page_limit)
->select();
2025-12-02 16:05:22 +08:00
if($list){
foreach ($list as &$v){
$v['createtime'] = date('Y-m-d H:i:s', $v['createtime']);
}
}
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list
];
return V(1,"成功", $return_data);
}
//歌手认证编辑
public function singerEdit()
{
$id = input('id', '');
if(empty($id)){
return V(0, '参数错误');
}
$data = [
'status' => input('status', ''),
'remark' => input('remark', ''),
];
$res = db::name('vs_singer')->where('id', $id)->update($data);
if($res){
//推送消息-歌手认真成功
//发系统信息
if($data['status'] ==1){
$deal_content = '审核通过';
}elseif($data['status'] ==2){
$deal_content = '审核拒绝';
}
if(!empty($data['remark'])){
$deal_content .= ',原因:'.$data['remark'];
}
db::name('system_message')->insert([
'title' => '歌手认证审核结果',
'content' => '您的歌手认证申请 '.$deal_content,
'type' => 1,
'admin_id' => Session::get('admin_id'),
'receiving_id' => db::name('vs_singer')->where('id', $id)->value('user_id'),
'createtime' => time(),
]);
return V(1, '操作成功');
}else{
return V(0, '操作失败');
}
}
//认证歌手歌曲列表
public function singerSongList()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$user_id = input('user_id', '');
$where=[];
2025-11-13 17:44:20 +08:00
if($user_id){
$where['user_id'] = $user_id;
}else{
return V(0, '请填写用户ID');
}
$count = db::name('vs_singer_song')->where($where)->count();
$list = db::name('vs_singer_song')
->alias('o')
2025-11-14 10:46:10 +08:00
->join('user u', 'o.user_id=u.id', 'left')
->join('vs_gift g', 'o.gift_id=g.gid', 'left')
->field('o.*,u.nickname,u.user_code,g.gift_name,g.gift_price')
->where($where)
->page($page, $page_limit)
->select();
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list
];
return V(1,"成功", $return_data);
}
//歌手等级列表
public function singerLevelList()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
2025-11-17 18:43:55 +08:00
$where = ['deletetime' => 0];
$count = db::name('vs_singer_level')->where($where)->count();
$list = db::name('vs_singer_level')
->where($where)
->page($page, $page_limit)
->select();
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list
];
return V(1,"成功", $return_data);
}
//编辑歌手等级
public function singerLevelEdit()
{
$id = input('id', '');
//没有 id就是新增
if(empty($id)){
$data = [
'level' => input('level', ''),
'name' => input('name', ''),
'image' => input('image', ''),
'change_value' => input('change_value', ''),
'rights_icon' => input('rights_icon', ''),
2025-11-18 11:58:31 +08:00
'bg_image' => input('bg_image', ''),
'color' => input('color', ''),
'createtime' => time(),
];
$res = db::name('vs_singer_level')->insert($data);
if($res){
return V(1, '操作成功');
}else{
return V(0, '操作失败');
}
}else{
$data = [
'level' => input('level', ''),
'name' => input('name', ''),
'image' => input('image', ''),
'change_value' => input('change_value', ''),
'rights_icon' => input('rights_icon', ''),
2025-11-18 11:58:31 +08:00
'bg_image' => input('bg_image', ''),
'color' => input('color', ''),
];
$res = db::name('vs_singer_level')->where('id', $id)->update($data);
if($res){
return V(1, '操作成功');
}else{
return V(0, '操作失败');
}
}
}
2025-11-17 18:43:55 +08:00
//歌手等级删除
public function singerLevelDel()
{
$id = input('id', '');
$data['deletetime'] = time();
$res = db::name('vs_singer_level')->where('id', $id)->update($data);
if($res){
return V(1, '操作成功');
}else{
return V(0, '操作失败');
}
}
//点歌信息列表
public function songList()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$type = input('type', 3);//1-今天2-本周3-本月4-昨天
$room_id = input('room_id', '');
$where=[];
2025-11-13 17:44:20 +08:00
if($room_id){
$where['room_id'] = $room_id;
}else{
return V(0, '请填写房间ID');
}
if($type==1){
2025-11-14 10:35:12 +08:00
$where['o.createtime'] = ['between', [strtotime(date('Y-m-d')), strtotime(date('Y-m-d', strtotime('+1 day')))]];
}elseif($type==2){
2025-11-14 10:35:12 +08:00
$where['o.createtime'] = ['between', [strtotime(date('Y-m-d', strtotime('-7 day'))), strtotime(date('Y-m-d'))]];
}elseif($type==3){
2025-11-14 10:35:12 +08:00
$where['o.createtime'] = ['between', [strtotime(date('Y-m-01')), strtotime(date('Y-m-t', strtotime(date('Y-m-01'))))]];
}elseif($type==4){
2025-11-14 10:35:12 +08:00
$where['o.createtime'] = ['between', [strtotime(date('Y-m-d', strtotime('-1 day'))), strtotime(date('Y-m-d'))]];
}
2025-11-14 10:35:12 +08:00
$count = db::name('vs_song_log')->alias('o')->where($where)->count();
$list = db::name('vs_song_log')
->alias('o')
2025-11-14 10:43:38 +08:00
->join('user u', 'o.user_id=u.id', 'left')
->join('vs_singer_song r', 'o.singer_song_id=r.id', 'left')
->join('user uu', 'r.user_id=u.id', 'left')
->join('vs_gift g', 'r.gift_id=g.gid', 'left')
->field('o.*,u.nickname boss_nickname,u.user_code boss_user_code,r.song_name,r.gift_num,uu.nickname singer_nickname,uu.user_code singer_user_code,g.gift_name,g.gift_price')
->where($where)
->page($page, $page_limit)
->select();
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list
];
return V(1,"成功", $return_data);
}
}