Files
yusheng-php/application/adminapi/controller/SingerSong.php

249 lines
8.2 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 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=[];
//搜索信息有值且是纯数字
if(is_numeric($search)){
$where['ss.user_id'] = $search;
$wheres['user_id'] = $search;
}
if($search && !is_numeric($search)){
$where['u.nickname'] = ['like', '%'.$search.'%'];;
}
if($start_time && $end_time){
$where['ss.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
$wheres['createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
}
if($status){
$where['ss.status'] = $status;
$wheres['status'] = $status;
}else{
$where = [];
$wheres = [];
}
$count = db::name('vs_singer')->where($wheres)->count();
$list = db::name('vs_singer')
->alias('ss')
->join('user u', 'ss.user_id=u.id', 'left')
->field('ss.*,u.nickname,u.avatar,u.user_code,u.mobile,u.sex')
->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 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($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=[];
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')
->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);
$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', ''),
'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', ''),
'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, '操作失败');
}
}
}
//歌手等级删除
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=[];
if($room_id){
$where['room_id'] = $room_id;
}else{
return V(0, '请填写房间ID');
}
if($type==1){
$where['o.createtime'] = ['between', [strtotime(date('Y-m-d')), strtotime(date('Y-m-d', strtotime('+1 day')))]];
}elseif($type==2){
$where['o.createtime'] = ['between', [strtotime(date('Y-m-d', strtotime('-7 day'))), strtotime(date('Y-m-d'))]];
}elseif($type==3){
$where['o.createtime'] = ['between', [strtotime(date('Y-m-01')), strtotime(date('Y-m-t', strtotime(date('Y-m-01'))))]];
}elseif($type==4){
$where['o.createtime'] = ['between', [strtotime(date('Y-m-d', strtotime('-1 day'))), strtotime(date('Y-m-d'))]];
}
$count = db::name('vs_song_log')->alias('o')->where($where)->count();
$list = db::name('vs_song_log')
->alias('o')
->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);
}
}