初始化代码

This commit is contained in:
2025-08-11 10:22:05 +08:00
commit ebd8d85201
4206 changed files with 753018 additions and 0 deletions

1
application/.htaccess Normal file
View File

@@ -0,0 +1 @@
deny from all

View File

@@ -0,0 +1,115 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Admin extends Common
{
//获取管理员列表
public function get_admin_list()
{
$user_name = input('user_name', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('admin')->get_admin_list($user_name, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 管理员 详情
public function admin_info()
{
$login_token = input('login_token', 0);
$reslut = model('Admin')->admin_info($login_token);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取 管理员 详情
public function add_admin()
{
$user_name = input('user_name', '');
$password = input('password', '');
$re_password = input('re_password', '');
$reslut = model('Admin')->add_admin($user_name, $password, $re_password);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改管理员密码
public function edit_admin_password()
{
$aid = input('aid', 0);
$old_password = input('old_password', '');
$password = input('new_password', '');
$re_password = input('re_password', '');
$phone = input('phone', '');
$reslut = model('Admin')->edit_admin_password($aid, $old_password, $password, $re_password, $phone);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改管理员密码
public function edit_admin_auth()
{
$aid = input('aid', 0);
$auth = input('auth', '');
$reslut = model('Admin')->edit_admin_auth($aid, $auth);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取管理员详情
public function get_admin_info()
{
$aid = input('aid', 0);
$reslut = model('Admin')->get_admin_info($aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取管理员详情
public function delete_admin()
{
$aid = input('aid', 0);
$reslut = model('Admin')->delete_admin($aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_all_system_menu_list()
{
$aid = input('aid', 0);
$reslut = model('SystemMenu')->get_all_system_menu_list($aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取管理员日志
public function get_admin_log_list(){
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Admin')->get_admin_log_list($page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//退出登录
public function quit_admin_login(){
$aid = $this->aid;
$reslut = model('Admin')->quit_admin_login($aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清除登录token
public function clear_admin_token()
{
$super_aid = $this->aid;
$aid = input('aid', 0);
$reslut = model('Admin')->clear_admin_token($super_aid, $aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,50 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class Agora extends Common
{
//获取音乐列表
public function agora_song_list()
{
$aid = input('aid', 0);
$song_name = input('song_name', 0);
$singer = input('singer', 0);
$order = input('order', 'aid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Agora')->agora_song_list($aid, $song_name, $singer, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//同步歌曲
public function synchro_song(){
$key_name = "admin:agora:synchro_song";
redis_lock_exit($key_name);
$reslut = model('Agora')->synchro_song();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//增量歌曲
public function increment_song(){
$key_name = "admin:agora:increment_song";
redis_lock_exit($key_name);
$reslut = model('Agora')->increment_song();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,206 @@
<?php
namespace app\admin\controller;
use think\Controller;
class ApiTask extends Controller
{
//监控宝箱状态 设置5s 监控一次
public function control_box()
{
$key_name = "admin:cli:control_box";
$tid = input('tid', 0);
$is_reset = input('is_reset', 0);
redis_lock_exit($key_name,20);
$reslut = model('admin/box')->control_generate_box($tid, $is_reset);
redis_unlock($key_name);
if($is_reset){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控奖池 执行成功" . $reslut['data'] . "\r\n";
}
}
//清理房间当天热度
public function clear_room_hot_value(){
$key_name = "admin:cli:clear_room_hot_value";
redis_lock_exit($key_name);
$reslut = model('api/room')->clear_room_hot_value();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "清除房间当天热度 执行成功"." \r\n";
}
//爵位到期监控
public function close_user_nobility(){
$key_name = "admin:ApiTask:close_user_nobility";
redis_lock_exit($key_name,20);
$reslut = model('api/Nobility')->user_nobility_over_time();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "爵位到期监控 执行成功"." \r\n";
}
//定时清除用户关系
public function close_user_relation(){
$key_name = "admin:cli:close_user_relation";
redis_lock_exit($key_name);
$reslut = model('api/DatingRoom')->close_user_relation();
redis_unlock($key_name);
// echo date('Y-m-d H:i:s') . "定时清除用户关系 执行成功"." \r\n";
}
//定时结束唱歌时间
public function colse_room_song_user_status(){
$key_name = "admin:cli:colse_room_song_user_status";
redis_lock_exit($key_name);
$reslut = model('api/KtvRoom')->colse_room_song_user_status();
redis_unlock($key_name);
// echo date('Y-m-d H:i:s') . "定时结束唱歌时间 执行成功"." \r\n";
}
//定时清理到期私密小屋
public function close_room_privacy_status(){
$key_name = "api:cli:close_room_privacy_status";
redis_lock_exit($key_name);
$reslut = model('api/DatingRoom')->close_room_privacy_status();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "监控私密小屋倒计时 执行成功" . "\r\n";
}
//定时清理到期心动连线
public function close_room_dating_stage(){
$key_name = "admin:cli:close_room_dating_stage";
redis_lock_exit($key_name);
$reslut = model('api/DatingRoom')->close_room_dating_stage();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "监控心动连线倒计时 执行成功" . "\r\n";
}
//定时清理到期拍卖活动监控成功
public function close_auction_pm(){
$key_name = "admin:cli:close_auction_pm";
redis_lock_exit($key_name);
$data = model('api/AuctionRoom')->close_auction_pm();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "定时清理到期拍卖活动 执行成功" . "\r\n";
}
//定时清理酒吧房掉麦
public function close_room_date_micro(){
$key_name = "admin:cli:close_room_date_micro";
redis_lock_exit($key_name);
$data = model('api/PubRoom')->close_room_date_micro();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "定时清理酒吧房掉麦 执行成功" . "\r\n";
}
//清理过期装扮
public function clear_user_decorate()
{
$key_name = "admin:cli:clear_user_decorate";
redis_lock_exit($key_name);
$reslut = model('Decorate')->clear_user_decorate();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "清理过期装扮 执行成功" . "\r\n";
}
//清理空房间机器人
public function auto_clear_robot_room()
{
$key_name = "admin:cli:auto_clear_robot_room";
redis_lock_exit($key_name);
$reslut = model('api/room')->auto_clear_robot_room();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "清理空房间机器人 执行成功" . "\r\n";
}
//每日签到删除处理
public function del_user_day_sign_log()
{
$key_name = "admin:cli:del_user_day_sign_log";
redis_lock_exit($key_name);
$reslut = model("api/UserSign")->del_user_day_sign_log();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "每日签到删除处理 执行成功" . "\r\n";
}
//获取上周排行榜
public function last_week_rank(){
$key_name = "admin:cli:last_week_rank";
redis_lock_exit($key_name);
$reslut = model('api/gift')->last_week_rank1();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "获取上周排行榜 执行成功" . "\r\n";
}
//结算上周房间流水
public function statistics_room_last_week_earnings(){
$key_name = "admin:cli:statistics_room_last_week_earnings";
redis_lock_exit($key_name);
$reslut = model('api/RoomWages')->statistics_room_last_week_earnings(1);
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "结算上周房间流水 执行成功" . "\r\n";
}
//结算上周公会流水
public function statistics_guild_last_week_earnings(){
$key_name = "admin:cli:statistics_guild_last_week_earnings";
redis_lock_exit($key_name);
$reslut = model('api/RoomWages')->statistics_guild_last_week_earnings(1);
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "结算上周公会流水 执行成功" . "\r\n";
}
//房间工资结算
public function batch_give_room_subsidy(){
$key_name = "admin:cli:batch_give_room_subsidy";
redis_lock_exit($key_name);
$reslut = model('api/RoomWages')->batch_give_room_subsidy();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "结算上周房间流水 执行成功" . "\r\n";
}
//公会工资结算
public function batch_give_guild_subsidy(){
$key_name = "admin:cli:batch_give_guild_subsidy";
redis_lock_exit($key_name);
$reslut = model('api/RoomWages')->batch_give_guild_subsidy();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "结算上周房间流水 执行成功" . "\r\n";
}
//监控练仙传说
public function create_monster_log(){
$key_name = "admin:cli:create_monster_log";
redis_lock_exit($key_name,1,1);
$reslut = model('api/Monster')->create_monster_log();
redis_unlock($key_name);
if($reslut['code'] == 201){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控练仙传说 执行成功" . $reslut['data'] . "\r\n";
}
}
//盲盒巡乐会自动结束
public function close_blind_box()
{
$key_name = "api:cli:close_blind_box";
redis_lock_exit($key_name);
$reslut = model('api/BlindBox')->close_blind_box();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "盲盒巡乐会自动结束 执行成功\r\n";
}
//盲盒巡乐会自动结束
public function blind_box_reward()
{
$key_name = "api:cli:blind_box_reward";
redis_lock_exit($key_name);
$reslut = model('api/BlindBox')->blind_box_reward();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "盲盒巡乐会结束奖励 执行成功\r\n";
}
}

View File

@@ -0,0 +1,230 @@
<?php
namespace app\admin\controller;
use think\captcha\Captcha;
use think\Controller;
use think\Db;
class Apip extends Controller
{
public function initialize()
{
header('Access-Control-Allow-Origin: *');
add_operation(1, 0); //用户行为日志
}
public function login()
{
$captcha = input('captcha');
$username = input('username');
$password = input('password');
if (empty($captcha)) {
return ajaxReturn(201, '验证码不能为空');
}
if (!captcha_check($captcha)) {
// 验证失败
return ajaxReturn(201, '验证码错误');
}
if (empty($username)) {
return ajaxReturn(201, '用户名不能为空');
}
if (empty($password)) {
return ajaxReturn(201, '密码不能为空');
}
$map = [];
$map[] = ['user_name', '=', $username];
$map[] = ['is_delete', '=', 1];
// $map[] = ['password', '=', md5($password)];
$info = db::name('admin')->where($map)->find();
if (empty($info)) {
return ajaxReturn(201, '用户名不存在');
} else {
$admin_open_sms_code = $info['open_sms_code'];
$surplus_time = time() - $info['update_time'];
if($info['error_num'] >= 3 && $surplus_time < 3600){
return ajaxReturn(201, '账号已锁定,一小时内无法登录');
}
if (md5($password) != $info['password']) {
$update_err = [];
$update_err['update_time'] = time();
if($info['error_num'] >= 3) {
// return ajaxReturn(201, '账号已锁定,一小时内无法登录');
// $update_err['status'] = 2;
}
db::name('admin')->where('aid',$info['aid'])->inc('error_num',1)->update($update_err);
return ajaxReturn(201, '密码错误');
}
$ip_address = request()->ip();
// $ip_address = '211.94.238.248';
$address = ip_to_position($ip_address);
$province = $address['province'];
$city = $address['city'];
//该用户是否已退出
if($info['aid'] != 1 || $admin_open_sms_code == 0) {
if(!empty($info['login_token'])){
if($ip_address != $info['ip']){
// return ajaxReturn(201, '该账号已被其他人登录');
}
}
}
//发送短信
if(empty($info['phone'])){
$mobile = db::name('admin')->where('aid', 1)->value('phone');
}else{
$mobile = $info['phone'];
}
$province_time = $province . $city .', 时间 '.date('Y-m-d H:i:s');
$content = '【语音安全监控】你的账号'.$info['user_name'].'正在被登录登录IP'.$ip_address.',登录位置:'.$province_time;
$login_token = generateRandom(32);
// if ($info['aid'] == 1) {
// $login_token = $info['login_token'];
// }
$data = [];
$data['aid'] = $info['aid'];
$data['login_token'] = $login_token;
$data['ip'] = $ip_address;
$data['province'] = $address['province'];
$data['city'] = $city;
$data['error_num'] = 0;
$data['update_time'] = time();
$data['token_validity_time'] = time() + (60*60*12);
$reslut = db::name('admin')->update($data);
if (!$reslut) {
return ajaxReturn(201, '登录失败', '');
} else {
$show_mobile = substr_replace($mobile,'****',3,4);
$base64_mobile = $this->base64_encode_mobile($mobile);
if($admin_open_sms_code == 1) {
$data = ['uid' => $info['aid'], 'login_token' => '', 'is_has_warn' => 2, 'show_mobile' => $show_mobile, 'mobile' => $base64_mobile, 'need_sms_code' => 1];
} else {
$data = ['uid' => $info['aid'], 'login_token' => $login_token, 'is_has_warn' => 2, 'need_sms_code' => 0];
}
return ajaxReturn(200, '登录成功', $data);
}
}
}
public function verify()
{
$config = [
'codeSet' => '0123456789',
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 4,
// 关闭验证码杂点
'useNoise' => false,
];
$captcha = new Captcha($config);
return $captcha->entry();
}
public function test()
{
$file = request()->file('file');
$file_category_name = input('file_category', 'all');
$reslut = model('Upload')->qiniu_upload($file, $file_category_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
private function send_smsbao_msg($mobile, $content){
$config = get_uncache_system_config();
//短信宝
// $url = "https://dx.ipyy.net/smsJson.aspx?action=send&userid=&account=" . $config['huaxin_account'] . "&password=" . $config['huaxin_password'] . "&mobile=" . $mobile . "&content=" . urlencode($content) . "&sendTime=&extno=";
$url = "https://api.smsbao.com/sms?u=".$config['smsbao_account']."&p=".md5($config['smsbao_password'])."&m=".$mobile."&c=".urlencode($content) ."&g=";
$result = myCurl($url);
$result_arr = json_decode($result, true);
if ($result_arr == 0) {
return ['code' => 200, 'msg' => '发送成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '发送失败', 'data' => null];
}
}
public function get_mobile_code()
{
$mobile = input('mobile', '');
$captcha = input('captcha', '');
if (empty($captcha)) {
return ajaxReturn(201, '验证码不能为空');
}
if (!captcha_check($captcha)) {
// 验证失败
return ajaxReturn(201, '验证码错误');
}
$mobile = $this->base64_decode_mobile($mobile);
$key_name = "admin:cli:get_mobile_code";
redis_lock_exit($key_name);
$result = model('api/sms')->send_sms_admin($mobile);
redis_unlock($key_name);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function sms_login()
{
$aid = input('uid', '');
$mobile = input('mobile', '');
$sms_code = input('sms_code', '');
if(empty($sms_code)) {
return ajaxReturn(201, '短信验证码不能为空');
}
if(empty($aid)) {
return ajaxReturn(201, '管理员账号不能为空');
}
if($aid != 1) {
return ajaxReturn(201, '非验证码管理员');
}
$mobile = $this->base64_decode_mobile($mobile);
$result = model('api/sms')->verification_code_admin($mobile, $sms_code);
if($result['code'] == 201) {
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
$map = [];
$map[] = ['aid', '=', $aid];
$map[] = ['is_delete', '=', 1];
$info = db::name('admin')->where($map)->find();
if($info['phone'] !== $mobile) {
return ajaxReturn(201, '账号错误');
}
$ip_address = request()->ip();
$login_token = generateRandom(32);
$data = [];
$data['aid'] = $info['aid'];
$data['login_token'] = $login_token;
$data['update_time'] = time();
$data['ip'] = $ip_address;
$data['token_validity_time'] = time()+7200;
$reslut = db::name('admin')->update($data);
if($reslut) {
$data = ['uid' => $info['aid'], 'login_token' => $login_token, 'is_has_warn' => 1];
return ajaxReturn(200, '登录成功', $data);
}
return ajaxReturn(201, '登录失败', $data);
}
//手机号
public function base64_decode_mobile($mobile)
{
$mobile = base64_decode($mobile);
$mobile_arr = explode('_', $mobile);
return $mobile_arr[1];
}
//手机号转换数据流
public function base64_encode_mobile($mobile)
{
$rand_code = 'scsy';
$rand_mobile = $rand_code . '_' . $mobile;
return base64_encode($rand_mobile);
}
}

View File

@@ -0,0 +1,143 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class BlindBox extends Common
{
//获取盲盒礼物
public function get_blind_box_gift_list()
{
$tid = input('tid', 0);
$result = model('BlindBox')->get_blind_box_gift_list($tid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function get_gift_list()
{
$result = model('BlindBox')->get_gift_list();
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//获取列表
public function get_config_list()
{
$pattern_id = input('pattern_id', 0);
$gid = input('gid', '');
$page = input('page', 1);
$limit = input('limit', 20);
$result = model('BlindBox')->get_config_list($pattern_id, $gid, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
return json($data);
}
//添加限定礼物配置
public function add_config(){
$data = input('post.');
$result = model('BlindBox')->add_config($data);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//限定礼物配置详情
public function get_config_info(){
$id = input('id', 0);
$result = model('BlindBox')->get_config_info($id);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//限定礼物修改
public function edit_config(){
$data = input('post.');
$result = model('BlindBox')->edit_config($data);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//移除封禁
public function del_config(){
$id = input('id', 0);
$result = model('BlindBox')->del_config($id);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//获取阶段列表
public function get_stage_list()
{
$pattern_id = input('pattern_id', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$result = model('BlindBox')->get_stage_list($pattern_id, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
return json($data);
}
//阶段详情
public function get_stage_info(){
$id = input('id', 0);
$result = model('BlindBox')->get_stage_info($id);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//阶段修改
public function edit_stage(){
$data = input('post.');
$result = model('BlindBox')->edit_stage($data);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//获取期数列表
public function get_term_list()
{
$status = input('status', 0);
$gid = input('gid', '');
$page = input('page', 1);
$limit = input('limit', 20);
$result = model('BlindBox')->get_term_list($status, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
return json($data);
}
//添加期数
public function add_term(){
$data = input('post.');
$result = model('BlindBox')->add_term($data);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//期数详情
public function get_term_info(){
$id = input('id', 0);
$result = model('BlindBox')->get_term_info($id);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//期数修改
public function edit_term(){
$data = input('post.');
$result = model('BlindBox')->edit_term($data);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//移除期数
public function del_term(){
$id = input('id', 0);
$result = model('BlindBox')->del_term($id);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function open_term(){
$id = input('id', 0);
$result = model('BlindBox')->open_term($id);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,46 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class Block extends Common
{
//获取列表
public function get_block_list()
{
$type = input('type', 0);
$type_text = input('type_text', '');
$is_delete = input('is_delete', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Block')->get_block_list($type, $type_text, $is_delete, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加封禁
public function add_block(){
$aid = $this->aid;
$data = input('post.');
$reslut = model('Block')->add_block($aid, $data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//移除封禁
public function del_block(){
$id = input('id', 0);
$reslut = model('Block')->del_block($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,339 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class Box extends Common
{
//获取宝箱列表
public function get_box_type_list()
{
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_box_type_list($page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function get_box_count_type_list()
{
$reslut = model('Box')->get_box_count_type_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function get_box_person_type_list()
{
$reslut = model('Box')->get_box_person_type_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function get_box_common_type_list()
{
$reslut = model('Box')->get_box_common_type_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间信息
public function get_box_type_info()
{
$tid = input('tid', 0);
$reslut = model('Box')->get_box_type_info($tid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加类型
public function add_box_type()
{
$data = Request::only(['type_name', 'show_name', 'open_price', 'consume', 'open_status']);
$reslut = model('Box')->add_box_type($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑类型
public function edit_box_type()
{
$data = Request::only(['tid', 'type_name', 'show_name', 'open_price', 'consume', 'rate', 'open_status']);
$reslut = model('Box')->edit_box_type($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取宝箱列表
public function get_box_config_list()
{
$tid = input('tid', 0);
$gid = input('gid', 0);
$gift_name = input('gift_name', '');
$gift_price = input('gift_price', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_box_config_list($tid, $gid, $gift_name, $gift_price, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalData'] = $reslut['data']['totalData'];
return json($data);
}
//获取礼物列表
public function get_gift_list()
{
$reslut = model('Gift')->gift_list(0, "", 0, 0, 0, 1, 2, 'gift_price', 'asc', 1, 99999, 1);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']['list']);
}
//添加宝箱信息
public function add_box_config()
{
$tid = input('tid', 0);
$gid = input('gid', 0);
$num = input('num', 0);
$open_num_obtain = input('open_num_obtain',0);
$is_public_screen = input('is_public_screen');
$is_public_server = input('is_public_server');
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('box')->add_box_config($tid, $gid, $num, $open_num_obtain, $is_public_screen, $is_public_server);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取详情
public function get_box_config_info()
{
$bid = input('bid');
$reslut = model('box')->get_box_config_info($bid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改宝箱信息
public function edit_box_config()
{
$bid = input('bid');
$gid = input('gid');
$num = input('num');
$accumulate_price = input('accumulate_price',0);
$accumulate_rate = input('accumulate_rate',0);
$open_num_obtain = input('open_num_obtain',0);
$is_public_screen = input('is_public_screen');
$is_public_server = input('is_public_server');
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('box')->edit_box_config($bid, $gid, $num, $open_num_obtain, $accumulate_price, $accumulate_rate, $is_public_screen, $is_public_server);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除宝箱信息
public function delete_box_config()
{
$bid = input('bid');
//二级密码
$pass = input('pass', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('box')->delete_box_config($bid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//批量删除宝箱信息
public function batch_delete_box_config(){
//二级密码
$pass = input('pass', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$data = input('info');
$reslut = model('box')->batch_delete_box_config($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//查看每期奖池列表
public function get_box_log_list()
{
$tid = input('tid', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_box_log_list($tid, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取用户开奖记录
public function get_user_box_log_list()
{
$uid = input('uid', 0);
$bl_id = input('bl_id', 0);
$gid = input('gid', 0);
$tid = input('tid', 0);
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_user_box_log_list($uid, $bl_id, $gid, $tid, $start, $end, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取用户开奖记录
public function get_user_box_count_list()
{
$uid = input('uid', 0);
$out_amount = input('out_amount', 0);
$last_login_device = input('last_login_device','');
$profit = input('profit',0);
$tid = input('tid',0);
$add_time = input('add_time','');
$order = input('order', 'a.update_time');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_user_box_count_list($uid, $out_amount, $last_login_device, $profit, $tid, $add_time, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取用户开奖记录
public function get_box_give_gift_list()
{
$uid = input('uid', 0);
$gid = input('gid', 0);
$gift_name = input('gift_name', '');
$give_status = input('give_status',0);
$deduction_status = input('deduction_status',0);
$start = input('start', '');
$give = input('give', '');
$deduction = input('deduction', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('BoxGiveGift')->get_box_give_gift_list($uid, $gid, $gift_name, $give_status, $deduction_status, $start, $give, $deduction, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加
public function add_give_gift()
{
$data = Request::only(['uid', 'tid', 'gid']);
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('BoxGiveGift')->add_give_gift($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function cancel_give_gift()
{
$id = input('id', 0);
$reslut = model('BoxGiveGift')->cancel_give_gift($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户个池统计
public function get_box_person_log_list() {
$uid = input('user_id', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$box_type = input('tid',0);
$reslut = model('Box')->get_box_person_log_list($box_type, $uid, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//清空积攒金额
public function accumulate_del(){
$reslut = model('Box')->accumulate_del();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间开奖统计
public function get_room_box_count_list(){
$uid = input('uid',0);
$out_amount = input('out_amount','');
$tid = input('tid',0);
$add_time = input('add_time','');
$order = input('order', 'a.update_time');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_room_box_count_list($uid, $out_amount, $tid, $add_time, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取房间开奖统计
public function get_room_box_counts_list(){
$uid = input('uid',0);
$out_amount = input('out_amount','');
$order = input('order', 'a.profit');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_room_box_counts_list($uid, $out_amount, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
}

View File

@@ -0,0 +1,307 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\Db;
class Capital extends Common
{
//获取资金改变类型
public function get_change_type()
{
$data = model('UserMoneyLog')->ChangeTypeLable();
return ajaxReturn(200, '', $data);
}
//获取资金类型
public function get_money_type()
{
$data = model('UserMoneyLog')->MoneyTypeLable();
return ajaxReturn(200, '', $data);
}
//获取资金日志列表
public function user_money_log()
{
$uid = input('uid', 0);
$nick_name = input('nick_name', 0);
$change_type = input('change_type', 0);
$money_type = input('money_type', '');
$change_value = input('change_value', '');
$from_id = input('from_id', 0);
$from_uid = input('from_uid', 0);
$order = input('order', 'a.log_id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Capital')->user_money_log($uid, $nick_name, $change_type, $money_type, $change_value, $from_id, $from_uid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取充值订单
public function user_recharge()
{
$rid = input('rid', 0);
$order_sn = input('order_sn', 0);
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$money = input('money', '');
$pay_type = input('pay_type', 0);
$pay_status = input('pay_status', 0);
$start = input('start', '');
$end = input('end', '');
$order = input('order', 'a.rid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Capital')->user_recharge($rid, $order_sn, $uid, $nick_name, $money, $pay_type, $pay_status, $start, $end, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取提现订单 列表
public function user_withdrawal()
{
$wid = input('wid', 0);
$order_sn = input('order_sn', 0);
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$money = input('money', '');
$alipay_name = input('alipay_name', 0);
$status = input('status', 0);
$alipay_account = input('alipay_account', 0);
$order = input('order', 'a.wid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$withdrawal_type = input('withdrawal_type', 0);
$bank_card_number = input('bank_card_number', '');
$type = input('type', 0);
$deal_type = input('deal_type', 0);
$reslut = model('Capital')->user_withdrawal($wid, $order_sn, $uid, $nick_name, $money, $alipay_name, $status, $alipay_account, $order, $sort, $page, $limit,$withdrawal_type,$bank_card_number,$type,$deal_type);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//修改提现订单
public function user_withdrawal_edit()
{
$wid = input('wid', 0);
$status = input('status');
$remarke = input('remarke');
$deal_type = input('deal_type',0);
$data = model('Capital')->user_withdrawal_edit($wid, $status, $remarke, $deal_type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改提现订单
public function user_withdrawal_edit_bank()
{
$wid = input('wid', 0);
$status = input('status');
$remarke = input('remarke');
$withd_type = input('withd_type',0);
$transfer_type = input('transfer_type',0);
$key_name = "api:user_withdrawal_edit_ss7" ;
redis_lock_exit($key_name,3);
$data = model('Capital')->user_withdrawal_edit_bank($wid, $status, $remarke,$withd_type,$transfer_type);
redis_unlock($key_name);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取提现订单详情
public function user_withdrawal_info()
{
$wid = input('wid', 0);
$reslut = model('Capital')->user_withdrawal_info($wid);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//获取兑换记录 列表
public function user_exchange()
{
$eid = input('eid', 0);
$uid = input('uid', 0);
$nick_name = input('nick_name', 0);
$money = input('money', '');
$integral = input('integral', '');
$order = input('order', 'a.eid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Capital')->user_exchange($eid, $uid, $nick_name, $money, $integral, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取用户赠送礼物记录 列表
public function user_send_gift()
{
$uid = input('uid', 0);
$room_id = input('room_id', 0);
$room_uid = input('room_uid', 0);
$receive_uid = input('receive_uid', '');
$gid = input('gid', '');
$gift_name = input('gift_name', 0);
$gift_from_type = input('gift_from_type', 0);
$is_tester = input('is_tester', 0);
$start = input('start', '');
$end = input('end', '');
$order = input('order', 'a.sid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Capital')->user_send_gift($uid, $room_id, $room_uid, $receive_uid, $gid, $gift_name, $gift_from_type, $is_tester, $start, $end, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取房间流水 列表
public function room_money_log()
{
$rid = input('rid', 0);
$room_number = input('room_number', 0);
$room_name = input('room_name', '');
$time1 = input('time1', '');
$time2 = input('time2', 0);
$order = input('order', 'a.sid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Capital')->room_money_log($rid, $room_number, $room_name, $time1, $time2, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取房间流水 列表
public function room_account_log()
{
$rid = input('rid', 0);
$room_number = input('room_number', 0);
$room_name = input('room_name', '');
$time1 = input('time1', '');
$time2 = input('time2', 0);
$order = input('order', 'a.sid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$cate_id = input('cate_id', 0);
$reslut = model('Capital')->room_account_log($rid, $room_number, $room_name, $time1, $time2, $order, $sort, $cate_id, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//财务统计
public function financial_statistics(){
$uid = input('uid', 0);
$start = input('time1', '');
$end = input('time2', '');
$reslut = model('Capital')->financial_statistics($uid, $start, $end);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//提现提交云账号
public function sumbit_yun()
{
$password = input('password', '');
$wid = input('wid', 0);
$key_name = "admin:capital:sumbit_yun:wid:" . $wid;
redis_lock_exit($key_name);
$result = model('Capital')->submit_yun($wid, $password);
redis_unlock($key_name);
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,371 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Cli extends Common
{
//关闭陪玩订单
public function close_palyer_order()
{
$key_name = "admin:cli:close_palyer_order";
redis_lock_exit($key_name);
$reslut = model('UserPlayerOrder')->close_palyer_order();
echo $reslut;
redis_unlock($key_name);
}
//清理过期装扮
public function clear_user_decorate()
{
$key_name = "admin:cli:clear_user_decorate";
redis_lock_exit($key_name);
$reslut = model('Decorate')->clear_user_decorate();
echo $reslut;
redis_unlock($key_name);
}
//监听结束房间PK状态 可以5秒执行一次 最好每秒执行一次
public function close_room_pk()
{
$key_name = "admin:cli:close_room_pk";
redis_lock_exit($key_name);
$reslut = model('api/Room')->close_room_pk();
redis_unlock($key_name);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
echo date('Y-m-d H:i:s') . "监控房间PK 执行成功\r\n";
}
//刷新麦位信息 websocket 服务调用
public function push_micro_data()
{
$rid = input('rid', 0);
$push_data = [];
$push_data['code'] = 301;
$push_data['msg'] = "房间麦位信息";
$data = model('api/room')->get_room_micro_info($rid);
$push_data['data'] = $data['data'];
model('api/WebSocketPush')->send_to_group($rid, $push_data);
}
//用户退出房间 websokcet 服务调用
public function user_enter_room()
{
$rid = input('rid', 0);
$uid = input('uid', 0);
$key_name = "admin:cli:user_quit_room:rid:$rid:uid:$uid";
// error_log("进入直播间:$rid----$uid---\r\n", 3, "my-errors.log");
redis_lock_exit($key_name);
$reslut = model('api/room')->user_enter_room($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户退出房间 websokcet 服务调用
public function user_quit_room()
{
$rid = input('rid', 0);
$uid = input('uid', 0);
// error_log("退出直播间:$rid----$uid---\r\n", 3, "my-errors.log");
$key_name = "admin:cli:user_quit_room:rid:$rid:uid:$uid";
redis_lock_exit($key_name);
$reslut = model('api/room')->quit_room($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//监控宝箱状态 设置5s 监控一次
public function control_box()
{
$key_name = "admin:cli:control_box";
$tid = input('tid', 0);
$is_reset = input('is_reset', 0);
redis_lock_exit($key_name,20);
$reslut = model('admin/box')->control_generate_box($tid, $is_reset);
redis_unlock($key_name);
if($is_reset){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控奖池 执行成功" . $reslut['data'] . "\r\n";
}
}
//监控宝箱状态 设置5s 监控一次
public function controls_box()
{
$key_name = "admin:cli:control_box";
$tid = input('tid', 0);
$is_reset = input('is_reset', 0);
//二级密码
$pass = input('pass', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
redis_lock_exit($key_name,20);
$reslut = model('admin/box')->control_generate_box($tid, $is_reset);
redis_unlock($key_name);
if($is_reset){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控奖池 执行成功" . $reslut['data'] . "\r\n";
}
}
//监控宝箱状态 设置5s 监控一次
public function control_boxs()
{
$key_name = "admin:cli:control_boxs";
$tid = input('tid', 0);
$is_reset = input('is_reset', 0);
redis_lock_exit($key_name,20);
$reslut = model('admin/box')->control_generate_boxs($tid, $is_reset);
redis_unlock($key_name);
if($is_reset){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控奖池 执行成功" . $reslut['data'] . "\r\n";
}
}
//监控个人宝箱状态 设置5s 监控一次
// public function person_control_box()
// {
// $tid = input('tid',0);
// $key_name = "admin:cli:person_control_box:".$tid;
// redis_lock_exit($key_name,600);
// $reslut = model('admin/box')->control_person_box($tid);
// redis_unlock($key_name);
// echo date('Y-m-d H:i:s') . "监控奖池 执行成功" . $reslut['data'] . "\r\n";
// }
//清理房间当天热度
public function clear_room_hot_value(){
$key_name = "admin:cli:clear_room_hot_value";
redis_lock_exit($key_name);
$reslut = model('api/room')->clear_room_hot_value();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "清除房间当天热度 执行成功"." \r\n";
}
//监控个人宝箱状态 设置5s 监控一次
// public function control_user_box()
// {
// $tid = input('tid',0);
// $uid = input('uid',0);
// $key_name = "admin:cli:control_user_box:".$tid.':'.$uid;
// redis_lock_exit($key_name);
// $reslut = model('admin/box')->control_user_box($uid,$tid);
// redis_unlock($key_name);
// echo date('Y-m-d H:i:s') . "监控奖池 执行成功" . $reslut['data'] . "\r\n";
// }
public function user_clear_box(){
$tid = input('tid',0);
$key_name = "admin:cli:user_clear_box";
redis_lock_exit($key_name);
$reslut = model('admin/box')->user_clear_box($tid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function control_accumulate_box(){
$key_name = "admin:cli:control_accumulate_box";
redis_lock_exit($key_name);
$reslut = model('admin/box')->control_accumulate_box();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function control_user_box(){
$key_name = "admin:cli:control_user_box";
redis_lock_exit($key_name);
$reslut = model('admin/box')->control_user_box();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//异步推送送礼物
public function async_push_message()
{
$reslut = model('api/AsyncPushMessage')->send_message();
}
/*******************************定时任务*************************************/
//定时查询签约是否结束进行解约
public function close_user_sign_contract(){
$key_name = "admin:cli:close_user_sign_contract";
redis_lock_exit($key_name);
$reslut = model('api/UserSignContract')->close_user_sign_contract();
redis_unlock($key_name);
}
//定时清理到期心动连线
public function close_room_dating_stage(){
$key_name = "admin:cli:close_room_dating_stage";
redis_lock_exit($key_name);
$reslut = model('api/DatingRoom')->close_room_dating_stage();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "监控心动连线倒计时 执行成功" . $reslut['code'] . "\r\n";
}
//定时清理到期私密小屋
public function close_room_privacy_status(){
$key_name = "api:cli:close_room_privacy_status";
redis_lock_exit($key_name);
$reslut = model('api/DatingRoom')->close_room_privacy_status();
redis_unlock($key_name);
echo date('Y-m-d H:i:s') . "监控私密小屋倒计时 执行成功" . $reslut['code'] . "\r\n";
}
//定时更新到期游客记录
public function close_room_visitor(){
$key_name = "admin:cli:close_room_visitor";
redis_lock_exit($key_name);
$reslut = model('api/RoomVisitor')->close_room_visitor();
redis_unlock($key_name);
}
//定时结束唱歌时间
public function colse_room_song_user_status(){
$key_name = "admin:cli:colse_room_song_user_status";
redis_lock_exit($key_name);
$reslut = model('api/KtvRoom')->colse_room_song_user_status();
redis_unlock($key_name);
}
//定时清除用户关系
public function close_user_relation(){
$key_name = "admin:cli:close_user_relation";
redis_lock_exit($key_name);
$reslut = model('api/DatingRoom')->close_user_relation();
redis_unlock($key_name);
}
//统计上周房间流水
public function statistics_room_last_week_earnings(){
$type = input('type', 0);
$key_name = "admin:cli:statistics_room_last_week_earnings:type:".$type;
redis_lock_exit($key_name);
$reslut = model('api/RoomSubsidy')->statistics_room_last_week_earnings($type);
redis_unlock($key_name);
}
//发送用户收益
public function give_user_room_week_earnings(){
$type = input('type', 0);
$key_name = "admin:cli:give_user_room_week_earnings:type:".$type;
redis_lock_exit($key_name);
$reslut = model('api/RoomSubsidy')->give_user_room_week_earnings($type);
redis_unlock($key_name);
}
//统计用户收益
public function gives_user_room_week_earnings(){
$type = input('type', 0);
$key_name = "admin:cli:gives_user_room_week_earnings:type:".$type;
redis_lock_exit($key_name);
$reslut = model('api/RoomSubsidy')->gives_user_room_week_earnings($type);
redis_unlock($key_name);
}
//统计上周公会流水
public function statistics_guild_last_week_earnings(){
$type = input('type', 0);
$key_name = "admin:cli:statistics_guild_last_week_earnings:type:".$type;
redis_lock_exit($key_name);
$reslut = model('api/GuildSubsidy')->statistics_guild_last_week_earnings($type);
redis_unlock($key_name);
}
//统计公会长收益
public function gives_user_guild_week_earnings(){
$type = input('type', 0);
$key_name = "admin:cli:gives_user_guild_week_earnings:type:".$type;
redis_lock_exit($key_name);
$reslut = model('api/GuildSubsidy')->gives_user_guild_week_earnings($type);
redis_unlock($key_name);
}
//定时关闭没有主持房间
public function close_room_status(){
$key_name = "admin:cli:close_room_status";
redis_lock_exit($key_name);
$reslut = model('api/RoomMicro')->close_room_status();
redis_unlock($key_name);
}
//到期会员清除
public function close_user_vip(){
$key_name = "admin:cli:close_user_vip";
redis_lock_exit($key_name);
$reslut = model('api/Vip')->close_user_vip();
redis_unlock($key_name);
}
//解约用户每天降低身价
public function relieve_user_sign_contract(){
$key_name = "admin:cli:relieve_user_sign_contract";
redis_lock_exit($key_name);
$reslut = model('api/UserSignContract')->relieve_user_sign_contract();
redis_unlock($key_name);
}
//监控仲夏夜梦曲
public function create_sprite_log(){
$key_name = "admin:cli:create_sprite_log";
redis_lock_exit($key_name,1,1);
$reslut = model('api/Sprite')->create_sprite_log();
redis_unlock($key_name);
if($reslut['code'] == 201){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控仲夏夜梦曲 执行成功" . $reslut['data'] . "\r\n";
}
}
//监控仲夏夜梦曲结算用户投票
public function close_user_sprite(){
$key_name = "admin:cli:close_user_sprite";
redis_lock_exit($key_name,1,1);
$reslut = model('api/Sprite')->close_user_sprite();
redis_unlock($key_name);
if($reslut['code'] == 201){
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}else{
echo date('Y-m-d H:i:s') . "监控仲夏夜梦曲结算用户投票 执行成功" . $reslut['data'] . "\r\n";
}
}
public function close_auction_pm(){
$key_name = "admin:cli:close_auction_pm";
$data = model('api/AuctionRoom')->close_auction_pm();
redis_unlock($key_name);
return ajaxReturn($data['code'], $data['msg'], $data['data']);
}
}

View File

@@ -0,0 +1,93 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\Db;
class Common extends Controller
{
public $aid;
public function initialize()
{
header('Access-Control-Allow-Origin: *');
// ajaxReturn(301, '系统维护');
$login_token = input('login_token', 0);
$reslut = model('Admin')->check_login_token($login_token);
if ($reslut['code'] == 201) {
return ajaxReturn(301, $reslut['msg'], $reslut['data']);
} else {
$this->aid = $reslut['data'];
}
$check_ip = $this->check_ip();
if($check_ip['code'] == 201){
db::name('admin')->where('aid', $this->aid)->update(['login_token' => '']);
return ajaxReturn(301, $check_ip['msg'], $check_ip['data']);
}
$header = request()->header();
if(!isset($header['referer'])){
return ajaxReturn(301, '登录失效', $reslut['data']);
}
add_operation(1, $this->aid); //用户行为日志
}
public function check_login_status()
{
$user_name = Db::name("admin")->where(array("aid" => $this->aid))->value("user_name");
$data['data'] = $user_name;
$check_ip = $this->check_ip();
if($check_ip['code'] == 201){
db::name('admin')->where('aid', $this->aid)->update(['login_token' => '']);
return ajaxReturn(301, $check_ip['msg'], $check_ip['data']);
}
ajaxReturn(1, '登录成功', $data);
}
public function get_menu_list()
{
$data = model('SystemMenu')->getSystemInit($this->aid);
return json($data);
}
//限制ip
public function check_ip(){
$check_ip = request()->ip();
if($check_ip){
// $check_ip = explode('.',$check_ip);
// $check_ip = $check_ip[0].'.'.$check_ip[1];
// $ip = array(
// '61.52',
// '219.157',
// '113.137',
// '117.37',
// '123.149',
// '125.41',
// '115.60',
// '113.141',
// '221.15',
// '36.46',
// '113.137',
// '123.53',
// '1.198',
// '111.18',
// '1.193',
// '119.137',
// '111.19'
// );
// if(!in_array($check_ip,$ip)){
// return ['code' => 201, 'msg' => 'ip不匹配无法登陆', 'data'=>null];
// }
$check_ips = has_ip();
if(!$check_ips){
return ['code' => 201, 'msg' => 'ip不匹配无法登陆', 'data'=>null];
}
}else{
return ['code' => 201, 'msg' => 'ip不匹配无法登陆', 'data'=>null];
}
return ['code' => 200, 'msg' => 'ip可登陆', 'data'=>null];
}
}

View File

@@ -0,0 +1,78 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Config extends Common
{
//获取系统配置
public function config_list()
{
$cid = input('cid', 0);
$key_name = input('key_name', 0);
$order = input('order', 'cid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('config')->config_list($cid,$key_name,$order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 配置 详情
public function config_info()
{
$cid = input('cid', 0);
$data = model('config')->config_info($cid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑 配置
public function edit_config()
{
$data = input('post.');
$data = model('config')->edit_config($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加 配置
public function add_config()
{
$data = input('post.');
$data = model('config')->add_config($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 配置
public function del_config()
{
$cid = input('cid', 0);
$data = model('config')->del_config($cid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,265 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
class Decorate extends Common
{
//获取装扮列表
public function get_decorate_list()
{
$title = input('title', '');
$type = input('type', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('decorate')->get_decorate_list($title, $type, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取装扮列表
public function get_decorates_list()
{
$reslut = model('decorate')->get_decorates_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
//修改装扮信息
public function edit_decorate_info()
{
$did = input('did', 0);
$title = input('title', ''); //所属分类
$type = input('type', 0); //装扮类型
$file_type = input('file_type', 1);
$base_image = input('base_image', '');
$play_image = input('play_image', '');
$plays_image = input('plays_image', '');
$show_status = input('show_status', 0); //所属分类
$day = input('day', 0);
$price = input('price', 0);
$is_buy = input('is_buy', 1);
$data = model('decorate')->edit_decorate_info($did, $title, $type, $base_image, $play_image, $show_status, $day, $price, $file_type, $plays_image,$is_buy);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加装扮
public function add_decorate_info()
{
$title = input('title', ''); //所属分类
$type = input('type', 0); //装扮类型
$file_type = input('file_type', 1);
$base_image = input('base_image', '');
$play_image = input('play_image', '');
$plays_image = input('plays_image', '');
$day = input('day', 0);
$price = input('price', 0);
$show_status = input('show_status', 0);
$is_buy = input('is_buy', 1);
$data = model('decorate')->add_decorate_info($title, $type, $base_image, $play_image, $day, $price, $show_status, $file_type, $plays_image,$is_buy);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取装扮信息
public function get_decorate_info()
{
$did = input('did', 0);
$data = model('decorate')->get_decorate_info($did);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除装扮
public function delete_decorate_info()
{
$did = input('did', 0);
$data = model('decorate')->delete_decorate_info($did);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取用户装扮列表
public function get_user_decorate_list()
{
$uid = input('uid', 0);
$did = input('did', 0);
$type = input('type', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('decorate')->get_user_decorate_list($uid, $did, $type, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//赠送用户装扮
public function give_user_decorate()
{
$did = input('did', 0);
$day = input('day', 0);
$uid = input('uid', 0);
$data = model('decorate')->give_user_decorate($uid, $did, $day);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除用户赠送装扮
public function delete_user_decorate()
{
$udid = input('udid', 0);
$data = model('decorate')->delete_user_decorate($udid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//用户头像装扮列表
public function get_head_decorate_list(){
$reslut = model('decorate')->get_head_decorate_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
//用户坐骑装扮列表
public function get_mount_decorate_list(){
$reslut = model('decorate')->get_mount_decorate_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function get_cp_tx_list(){
$reslut = model('decorate')->get_cp_tx_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
//用户cp资料装扮列表
public function get_wind_decorate_list(){
$reslut = model('decorate')->get_wind_decorate_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取装扮价位列表
public function get_decorate_price_list()
{
$did = input('did', 0);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('decorate')->get_decorate_price_list($did, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//修改装扮价位信息
public function edit_decorate_price()
{
$id = input('id', 0);
$price = input('price', 0);
$day = input('day', 0);
$data = model('decorate')->edit_decorate_price($id, $price, $day);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加装扮价位
public function add_decorate_price()
{
$did = input('did', 0);
$price = input('price', 0);
$day = input('day', 0);
$data = model('decorate')->add_decorate_price($did, $price, $day);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取装扮价位信息
public function decorate_price_info()
{
$id = input('id', 0);
$data = model('decorate')->decorate_price_info($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除装扮价位
public function del_decorate_price()
{
$id = input('id', 0);
$data = model('decorate')->del_decorate_price($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,68 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Envelope extends Common
{
//发红包列表
public function give_red_envelope_list(){
$id = input('id', 0);
$tid = input('tid', 0);
$type = input('type', 0);
$uid = input('uid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Envelope')->give_red_envelope_list($id, $tid, $type, $uid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//发红包
public function give_red_envelope(){
$tid = input('tid', 0);
$aid = $this->aid;
$num = input('num', 10);
$secondary_password = input('secondary_password', '');
$reslut = model('Envelope')->give_red_envelope($aid, $tid, $num, $secondary_password);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//抢红包记录
public function get_user_red_envelope_log_list(){
$rid = input('rid', 0);
$room_number = input('room_number', 0);
$room_name = input('room_name', '');
$uid = input('uid', 0);
$eid = input('eid', 0);
$tid = input('tid', 0);
$time1 = input('time1', '');
$time2 = input('time2', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Envelope')->get_user_red_envelope_log_list($rid, $room_number, $room_name, $uid, $eid, $tid, $time1, $time2, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
}

View File

@@ -0,0 +1,178 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Gift extends Common
{
//获取礼物列表
public function gift_list()
{
$gid = input('gid', 0);
$gift_name = input('gift_name', 0);
$gift_price = input('gift_price', '');
$is_public_screen = input('is_public_screen', '');
$is_public_server = input('is_public_server', '');
$is_show = input('is_show', '');
$is_can_buy = input('is_can_buy', '');
$type = input('type', 0);
$order = input('order', 'gid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Gift')->gift_list($gid, $gift_name, $gift_price, $is_public_screen, $is_public_server, $is_show, $is_can_buy, $order, $sort, $page, $limit, $type);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 礼物 详情
public function gift_info()
{
$gid = input('gid', 0);
$data = model('Gift')->gift_info($gid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑 礼物
public function edit_gift()
{
$data = input('post.');
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
unset($data['secondary_password']);
$data = model('Gift')->edit_gift($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加 礼物
public function add_gift()
{
$data = input('post.');
$data = model('Gift')->add_gift($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 礼物
public function del_gift()
{
$bid = input('gid', 0);
$data = model('Gift')->del_gift($bid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//批量删除礼物
public function batch_delete_gift(){
$data = input('info');
$reslut = model('Gift')->batch_delete_gift($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//礼物位置
public function get_gift_position_list(){
$order = input('order', 'id');
$sort = input('sort', 'asc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Gift')->get_gift_position_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取
public function get_privacy_gift_list()
{
$gid = input('gid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Gift')->get_privacy_gift_list($gid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 详情
public function get_privacy_gift_info()
{
$id = input('id', 0);
$reslut = model('Gift')->get_privacy_gift_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_privacy_gift()
{
$data = input('post.');
$reslut = model('Gift')->edit_privacy_gift($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加
public function add_privacy_gift()
{
$data = input('post.');
$reslut = model('Gift')->add_privacy_gift($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除
public function del_privacy_gift()
{
$id = input('id', 0);
$reslut = model('Gift')->del_privacy_gift($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取
public function get_optional_gift_list()
{
$gid = input('gid', 0);
$order = input('order', 'gid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Gift')->get_optional_gift_list($gid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
}

View File

@@ -0,0 +1,313 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Guild extends Common
{
//获取公会列表
public function guild_list()
{
$id = input('id', 0);
$guild_name = input('guild_name', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$jie_shan = input('jie_shan', 2);;
$reslut = model('Guild')->guild_list($id, $guild_name, $order, $sort, $page, $limit , $jie_shan);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 公会 详情
public function guild_info()
{
$id = input('id', 0);
$reslut = model('Guild')->guild_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑 公会
public function edit_guild()
{
$data = input('post.');
$reslut = model('Guild')->edit_guild($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加 公会
public function add_guild()
{
$data = input('post.');
$reslut = model('Guild')->add_guild($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除 公会
public function del_guild()
{
$bid = input('id', 0);
$reslut = model('Guild')->del_guild($bid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//批量删除公会
public function batch_delete_guild(){
$data = input('info');
$reslut = model('Guild')->batch_delete_guild($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户公会信息
public function user_guild_info(){
$id = input('id', 0);
$reslut = model('Guild')->user_guild_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑用户公会信息
public function edit_user_guild(){
$data = input('post.');
$reslut = model('Guild')->edit_user_guild($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置公会是否显示
public function set_is_show()
{
$id = input('id', 0);
$is_show = input('is_show', 0);
if(!in_array($is_show, [1,2])) {
ajaxReturn(201, '显示参数错误', '');
}
$result = model('Guild')->set_is_show($id, $is_show);
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//公会成员
public function get_user_guild_list(){
$id = input('id', 0);
$uid = input('uid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Guild')->get_user_guild_list($id, $uid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//公会流水排行
public function get_guild_rank_list(){
$id = input('id', 0);
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$limit = input('limit', 15);
$order = input('order', 'b.total_gift_total_price');
$sort = input('sort', 'desc');
$result = model('Guild')->get_guild_rank_list($id, $start, $end, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
// $data['totalRow'] = $result['data']['totalRow'];
return json($data);
}
//公会成员流水排行
public function get_guild_user_rank_list(){
$guild_id = input('guild_id', 0);
$uid = input('uid', 0);
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$limit = input('limit', 15);
$order = input('order', 'b.total_gift_total_price');
$sort = input('sort', 'desc');
$result = model('Guild')->get_guild_user_rank_list($guild_id, $uid, $start, $end, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
// $data['totalRow'] = $result['data']['totalRow'];
return json($data);
}
//公会房间流水排行
public function get_guild_room_rank_list(){
$guild_id = input('guild_id', 0);
$room_number = input('room_number', 0);
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$limit = input('limit', 15);
$order = input('order', 'b.total_gift_total_price');
$sort = input('sort', 'desc');
$result = model('Guild')->get_guild_room_rank_list($guild_id, $room_number, $start, $end, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
// $data['totalRow'] = $result['data']['totalRow'];
return json($data);
}
//工会流水
public function get_guild_money_list()
{
$guild_id = input('guild_id', 0);
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$limit = input('limit', 15);
$order = input('order', 'a.add_time');
$sort = input('sort', 'desc');
$result = model('GuildMoneyLog')->get_list($guild_id,$start, $end, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
$data['totalRow'] = $result['data']['totalRow'];
return json($data);
}
//工会房间流水
public function get_guild_room_money_list()
{
$guild_id = input('guild_id', 0);
$rid = input('rid', 0);
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$limit = input('limit', 15);
$order = input('order', 'a.add_time');
$sort = input('sort', 'desc');
$result = model('GuildMoneyLog')->get_guild_room_money_log_list($guild_id,$rid, $start, $end, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $result['data']['count'];
$data['data'] = $result['data']['list'];
$data['totalRow'] = $result['data']['totalRow'];
return json($data);
}
//获取工会房间
public function get_guild_room_list()
{
$guild_id = input('guild_id', 0);
$data = model('GuildMoneyLog')->get_guild_room_list_by_guild_id($guild_id);
ajaxReturn(200, '获取数据成功', $data);
}
//获取列表
public function give_guild_subsidy_list()
{
$guild_id = input('guild_id', 0);
$uid = input('uid', 0);
$is_fa = input('is_fa', 0);
$start = input('start', '');
$order = input('order', 'id');
$sort = input('sort', 'desc');
$belong_week = input('belong_week', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Guild')->give_guild_subsidy_list($guild_id, $uid, $is_fa, $order, $sort, $page, $limit, $belong_week);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['totalRow'] = $reslut['data']['totalRow'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//批量结算
public function batch_give_guild_subsidy(){
//二级密码
$pass = input('pass', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('Guild')->batch_give_guild_subsidy();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//补贴详情
public function get_give_guild_subsidy_info(){
$id = input('id', 0);
$reslut = model('Guild')->get_give_guild_subsidy_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改补贴
public function edit_give_guild_subsidy(){
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$id = input('id', 0);
$user_earnings = input('user_earnings', 0);
$reslut = model('Guild')->edit_give_guild_subsidy($id, $user_earnings);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//解散公会
public function diss_guild(){
$guild_id = input('guild_id', '');
$reslut = model('Guild')->diss_guild($guild_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//解散公会
public function guild_combine(){
$cancel_guild_id = input('cancel_guild_id', 0);
$join_guild_id = input('join_guild_id', 0);
$reslut = model('Guild')->guild_combine($cancel_guild_id,$join_guild_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class Message extends Common
{
public function get_message_list()
{
$smid = input('smid', 0);
$title = input('title', '');
$order = input('order', 'smid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Message')->get_message_list($smid, $title, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function get_message_info()
{
$smid = input('smid', 0);
$reslut = model('Message')->get_message_info($smid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function add_message()
{
$data = Request::only(['title', 'content']);
$reslut = model('Message')->add_message($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function edit_message()
{
$data = Request::only(['smid', 'title', 'content', 'is_show']);
$reslut = model('Message')->edit_message($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,142 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Monster extends Common
{
//获取列表
public function get_monster_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_monster_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function get_monster_info()
{
$id = input('id', 0);
$reslut = model('Monster')->get_monster_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster()
{
$data = input('post.');
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('Monster')->edit_monster($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取礼物列表
public function get_gift_list()
{
$reslut = model('Monster')->get_gift_list();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取列表
public function get_monster_multiple_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_monster_multiple_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function get_monster_multiple_info()
{
$id = input('id', 0);
$reslut = model('Monster')->get_monster_multiple_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster_multiple()
{
$data = input('post.');
$reslut = model('Monster')->edit_monster_multiple($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取列表
public function get_monster_log(){
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_monster_log($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取列表
public function get_user_monster_log(){
$mid = input('mid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_user_monster_log($mid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取列表
public function get_user_monster_win_log(){
$mid = input('mid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Monster')->get_user_monster_win_log($mid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
}

View File

@@ -0,0 +1,259 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Multiple extends Common
{
//获取类型列表
public function get_gift_multiple_type_list()
{
$id = input('id', 0);
$name = input('name', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Multiple')->get_gift_multiple_type_list($id, $name, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 类型 详情
public function get_gift_multiple_type_info()
{
$id = input('id', 0);
$reslut = model('Multiple')->get_gift_multiple_type_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑 类型
public function edit_gift_multiple_type()
{
$data = input('post.');
$reslut = model('Multiple')->edit_gift_multiple_type($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加 类型
public function add_gift_multiple_type()
{
$data = input('post.');
$reslut = model('Multiple')->add_gift_multiple_type($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除 类型
public function del_gift_multiple_type()
{
$id = input('id', 0);
$reslut = model('Multiple')->del_gift_multiple_type($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取倍率列表
public function get_gift_multiple_rate_list()
{
$pid = input('pid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Multiple')->get_gift_multiple_rate_list($pid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取倍率详情
public function get_gift_multiple_rate_info()
{
$id = input('id', 0);
$reslut = model('Multiple')->get_gift_multiple_rate_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_gift_multiple_rate()
{
$data = input('post.');
$reslut = model('Multiple')->edit_gift_multiple_rate($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加
public function add_gift_multiple_rate()
{
$data = input('post.');
$reslut = model('Multiple')->add_gift_multiple_rate($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除
public function del_gift_multiple_rate()
{
$id = input('id', 0);
$reslut = model('Multiple')->del_gift_multiple_rate($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取
public function get_user_send_gift_rate_list()
{
$uid = input('uid', 0);
$room_id = input('room_id', 0);
$room_uid = input('room_uid', 0);
$receive_uid = input('receive_uid', '');
$gid = input('gid', '');
$gift_name = input('gift_name', 0);
$start = input('start', '');
$end = input('end', '');
$order = input('order', 'a.sid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Multiple')->get_user_send_gift_rate_list($uid, $room_id, $room_uid, $receive_uid, $gid, $gift_name, $start, $end, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取列表
public function room_subsidy()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Multiple')->room_subsidy($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function room_subsidy_info()
{
$id = input('id', 0);
$reslut = model('Multiple')->room_subsidy_info($id);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//添加
public function add_room_subsidy()
{
$type = input('type', 1);
$level_name = input('level_name', '');
$total_gift_price = input('total_gift_price', 0);
$money = input('money', 0);
$data = model('Multiple')->add_room_subsidy($level_name, $total_gift_price, $money, $type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改
public function edit_room_subsidy()
{
$id = input('id', 0);
$type = input('type', 1);
$level_name = input('level_name', '');
$total_gift_price = input('total_gift_price', 0);
$money = input('money', 0);
$data = model('Multiple')->edit_room_subsidy($id, $level_name, $total_gift_price, $money, $type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取列表
public function give_room_subsidy_list()
{
$room_number = input('room_number', 0);
$uid = input('uid', 0);
$is_delete = input('is_delete', 0);
$start = input('start', '');
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Multiple')->give_room_subsidy_list($room_number, $uid, $is_delete, $order, $sort, $page, $limit, $start);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//批量结算
public function batch_give_room_subsidy(){
//二级密码
$pass = input('pass', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$data = input('info');
$reslut = model('Multiple')->batch_give_room_subsidy($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//补贴详情
public function get_give_room_subsidy_info(){
$id = input('id', 0);
$reslut = model('Multiple')->get_give_room_subsidy_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改补贴
public function edit_give_room_subsidy(){
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$id = input('id', 0);
$user_earnings = input('user_earnings', 0);
$reslut = model('Multiple')->edit_give_room_subsidy($id, $user_earnings);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除
public function room_subsidy_del()
{
$id = input('id', 0);
$data = model('Multiple')->room_subsidy_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,81 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class NewBox extends Common
{
//获取宝箱列表
public function get_new_box_list()
{
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('NewBox')->get_new_box_list($page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间信息
public function get_new_box_info()
{
$tid = input('id', 0);
$reslut = model('NewBox')->get_new_box_info($tid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑类型
public function edit_new_box()
{
$data = Request::only(['id', 'gid', 'total_amount','new_box_status']);
$reslut = model('NewBox')->edit_new_box($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//期数列表
public function get_new_box_log()
{
$page = input('page', 1);
$page_limit = input('limit', 15);
$nb_id = input('nb_id', 0);
$status = input('status', 0);
$reslut = model('NewBox')->get_new_box_log($nb_id, $status, $page, $page_limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//开奖记录
public function get_user_new_box_log()
{
$page = input('page', 1);
$page_limit = input('limit', 15);
$nb_id = input('nbl_id', 0);
$start_time = input('start_time', '');
$end_time = input('end_time', '');
$uid = input('uid', 0);
$reslut = model('NewBox')->get_user_new_box_log($uid, $nb_id, $start_time, $end_time, $page, $page_limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalData'] = $reslut['data']['totalData'];
return json($data);
}
}

View File

@@ -0,0 +1,182 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Nobility extends Common
{
//获取列表
public function get_nobility_list()
{
$order = input('order', 'lid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Nobility')->get_nobility_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function nobility_info()
{
$lid = input('lid', 0);
$data = model('Nobility')->nobility_info($lid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑
public function edit_nobility()
{
$data = input('post.');
//二级密码
// $pass = input('secondary_password', '');
// $check_pass = model('admin/admin')->check_secondary_password($pass);
// if($check_pass['code'] == 201){
// return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
// }
// unset($data['secondary_password']);
$data = model('Nobility')->edit_nobility($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取权限列表
public function get_nobility_power_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Nobility')->get_nobility_power_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//权限详情
public function nobility_power_info(){
$id = input('id', 0);
$data = model('Nobility')->nobility_power_info($id);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑
public function edit_nobility_power()
{
$data = input('post.');
$data = model('Nobility')->edit_nobility_power($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取用户爵位列表
public function get_user_nobility_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Nobility')->get_user_nobility_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//列表
public function get_nobility_decorate_list()
{
$lid = input('lid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Nobility')->get_nobility_decorate_list($lid, $order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function nobility_decorate_info()
{
$id = input('id', 0);
$data = model('Nobility')->nobility_decorate_info($id);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加信息
public function add_nobility_decorate()
{
$lid = input('lid', 0);
$did = input('decorate_id', 0);
$day_num = input('day_num', 0);
$data = model('Nobility')->add_nobility_decorate($lid, $did, $day_num);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改信息
public function edit_nobility_decorate()
{
$id = input('id', 0);
$did = input('decorate_id', 0);
$day_num = input('day_num', 0);
$data = model('Nobility')->edit_nobility_decorate($id, $did,$day_num);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除
public function del_nobility_decorate()
{
$id = input('id', 0);
$data = model('Nobility')->del_nobility_decorate($id);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,238 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Play extends Common
{
//游戏列表
public function game_list()
{
$gid = input('gid', 0);
$game_name = input('game_name', 0);
$is_show = input('is_show', '');
$order = input('order', 'gid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Play')->game_list($gid, $game_name, $is_show, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 游戏 详情
public function game_info()
{
$gid = input('gid', 0);
$data = model('Play')->game_info($gid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑 游戏
public function edit_game()
{
$data = input('post.');
$data = model('Play')->edit_game($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加 游戏
public function add_game()
{
$data = input('post.');
$data = model('Play')->add_game($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 游戏
public function del_game()
{
$gid = input('gid', 0);
$data = model('Play')->del_game($gid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//游戏等级 列表
public function game_skill_level_list()
{
$lid = input('lid', 0);
$gid = input('gid', '');
$game_level_name = input('game_level_name', 0);
$order = input('order', 'a.lid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Play')->game_skill_level_list($lid, $gid, $game_level_name, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 游戏等级 详情
public function game_skill_level_info()
{
$lid = input('lid', 0);
$data = model('Play')->game_skill_level_info($lid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑 游戏等级
public function edit_game_skill_level()
{
$data = input('post.');
$data = model('Play')->edit_game_skill_level($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加 游戏等级
public function add_game_skill_level()
{
$data = input('post.');
$data = model('Play')->add_game_skill_level($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 游戏等级
public function del_game_skill_level()
{
$lid = input('lid', 0);
$data = model('Play')->del_game_skill_level($lid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//游戏等级 列表
public function player_list()
{
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$sex = input('sex', 0);
$special_uid = input('special_uid', 0);
$gid = input('gid', 0);
$real_name = input('real_name', 0);
$is_top = input('is_top', 0);
$is_recommend = input('is_recommend', 0);
$is_business = input('is_business', 0);
$status = input('status', 0);
$order = input('order', 'a.pid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Play')->player_list($uid, $nick_name, $sex, $special_uid, $gid, $real_name, $is_top, $is_recommend, $is_business, $status, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 陪玩主播 详情
public function player_info()
{
$pid = input('pid', 0);
$data = model('Play')->player_info($pid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//编辑 陪玩主播
public function edit_player()
{
$data = input('post.');
$data = model('Play')->edit_player($data);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 陪玩主播
public function del_player()
{
$pid = input('pid', 0);
$data = model('Play')->del_player($pid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
// 陪玩订单 列表
public function player_order_list()
{
$order_sn = input('order_sn', 0);
$uid = input('uid', '');
$player_uid = input('player_uid', 0);
$price = input('price', 0);
$service_rate = input('service_rate', 0);
$status = input('status', 0);
$is_over = input('is_over', 0);
$order = input('order', '');
$sort = input('sort', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Play')->player_order_list($order_sn, $uid, $player_uid, $price, $service_rate, $status, $is_over, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 陪玩订单 详情
public function player_order_info()
{
$oid = input('oid', 0);
$data = model('Play')->player_order_info($oid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,49 @@
<?php
namespace app\admin\controller;
class Relation extends Common
{
//获取列表
public function get_list()
{
$page = input('page', 1);
$page_limit = input('limit', 10);
return model('admin/Relation')->get_list($page, $page_limit);
}
//添加
public function add()
{
$name = input('name', '');
$color = input('color', '');
$day = input('day', 0);
$result = model('admin/Relation')->add($name, $color, $day);
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//获取信息
public function get_info()
{
$id = input('id', 0);
$result = model('admin/Relation')->get_info($id);
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//编辑
public function edit()
{
$id = input('id', 0);
$name = input('name', '');
$color = input('color', '');
$day = input('day', 0);
$result = model('admin/Relation')->edit($id, $name, $color, $day);
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//删除
public function del()
{
$id = input('id', 0);
$result = model('admin/Relation')->del($id);
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,133 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Report extends Common
{
//获取举报列表
public function report_list()
{
$uid = input('uid', 0);
$to_uid = input('to_uid', 0);
$nick_name = input('nick_name', '');
$to_nick_name = input('to_nickname', '');
$order = input('order', 'rid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Report')->report_list($uid, $to_uid,$nick_name, $to_nick_name, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取举报详情
public function report_info()
{
$rid = input('rid', 0);
$data = model('Report')->report_info($rid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//处理举报信息
public function edit_user_info()
{
$rid = input('rid', 0);
$status = input('status', '');
$data = model('Report')->edit_user_info($rid,$status);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除举报信息
public function del_Report()
{
$rid = input('rid', 0);
$data = model('Report')->del_Report($rid);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//举报类型 列表
public function report_type_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Report')->report_type_list($order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取举报类型详情
public function report_type_info()
{
$id = input('id', 0);
$data = model('Report')->report_type_info($id);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加 举报类型信息
public function add_report_type()
{
$type_name = input('type_name', '');
$data = model('Report')->add_report_type($type_name);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 举报类型信息
public function edit_report_type()
{
$id = input('id', 0);
$type_name = input('type_name', '');
$data = model('Report')->edit_report_type($id,$type_name);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除举报类型
public function del_report_type()
{
$id = input('id', 0);
$data = model('Report')->del_report_type($id);
if ($data['code'] == 0) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,692 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class Room extends Common
{
//获取房间列表
public function get_room_list()
{
$data = Request::only(['rid', 'room_number', 'room_owner_uid', 'room_name', 'tid', 'cate_id', 'is_hot', 'is_top', 'is_online', 'room_status', 'is_delete', 'is_earnings']);
$order = input('order', 'rid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->get_room_list($data, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加房间
public function add_room()
{
$data = Request::only(['xq_type', 'room_owner_uid', 'room_number', 'room_background_id', 'cate_id', 'room_cover', 'tid', 'room_name', 'room_intro', 'hot_value', 'is_pretty', 'is_top', 'is_hot', 'is_need_password', 'room_password', 'room_status', 'is_online', 'is_delete','accumulate_rate']);
$reslut = model('Room')->add_room($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改房间信息
public function edit_room_info()
{
$data = Request::only(['xq_type', 'rid', 'cate_id', 'room_number', 'room_cover', 'tid', 'room_name', 'room_background_id', 'room_intro', 'hot_value', 'pretty_room_number', 'is_top', 'is_hot', 'is_need_password', 'room_password', 'room_status', 'is_online', 'is_delete', 'sort', 'accumulate_rate','is_look','is_show_dial', 'envelope_rate', 'is_earnings', 'is_show_room','robot_num']);
$reslut = model('Room')->edit_room_info($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间信息
public function get_room_info()
{
$rid = input('rid', 0);
$reslut = model('Room')->get_room_info($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除房间
public function room_del()
{
$rid = input('rid', 0);
$data = model('Room')->room_del($rid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取房间列表
public function get_room_visitor_list()
{
$data = Request::only(['rid', 'uid', 'is_micro']);
$order = input('order', 'vid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->get_room_visitor_list($data, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间分类列表
public function room_cate_list()
{
$cate_id = input('cate_id', 0);
$category_name = input('category_name', 0);
$order = input('order', 'cate_id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->room_cate_list($cate_id, $category_name, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间分类详情
public function get_room_cate_info()
{
$cate_id = input('cate_id', 0);
$reslut = model('Room')->get_room_cate_info($cate_id);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//修改房间分类
public function room_cate_edit()
{
$cate_id = input('cate_id', 0);
$category_name = input('category_name', '');
$tid = input('tid', 0);
$sort = input('sort', 0);
$data = model('Room')->room_cate_edit($cate_id, $tid, $category_name, $sort);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加房间分类
public function add_room_cate()
{
$category_name = input('category_name', '');
$tid = input('tid', 0);
$sort = input('sort', 0);
$data = model('Room')->add_room_cate($tid, $category_name, $sort);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除房间分类
public function room_cate_del()
{
$cate_id = input('cate_id', 0);
$data = model('Room')->room_cate_del($cate_id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取房间类型列表
public function get_room_type_list()
{
$tid = input('tid', 0);
$type_name = input('type_name', 0);
$order = input('order', 'tid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->get_room_type_list($tid, $type_name, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间类型详情
public function get_room_type_info()
{
$tid = input('tid', 0);
$reslut = model('Room')->get_room_type_info($tid);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//修改房间类型
public function edit_room_type_info()
{
$tid = input('tid', 0);
$type_name = input('type_name', '');
$data = model('Room')->edit_room_type_info($tid, $type_name);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加房间类型
public function add_room_type()
{
$type_name = input('type_name', '');
$data = model('Room')->add_room_type($type_name);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除房间类型
public function room_type_del()
{
$tid = input('tid', 0);
$data = model('Room')->room_type_del($tid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取房间背景列表
public function room_background_list()
{
$bid = input('bid', 0);
$image_name = input('image_name', 0);
$order = input('order', 'bid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->room_background_list($bid, $image_name, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间背景详情
public function background_info()
{
$bid = input('bid', 0);
$reslut = model('Room')->background_info($bid);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//添加房间背景
public function add_room_background()
{
$image_name = input('image_name');
$image_url = input('image_url');
$image_size = input('image_size');
$status = input('status');
$data = model('Room')->add_room_background($image_name, $image_url, $image_size, $status);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改房间背景
public function edit_room_background()
{
$bid = input('bid', 0);
$image_name = input('image_name');
$image_url = input('image_url');
$image_size = input('image_size');
$status = input('status');
$data = model('Room')->edit_room_background($bid, $image_name, $image_url, $image_size, $status);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除房间背景
public function room_background_del()
{
$bid = input('bid', 0);
$data = model('Room')->room_background_del($bid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取房间表情列表
public function room_emoji_list()
{
$eid = input('eid', 0);
$emoji_type = input('emoji_type', 0);
$type = input('type'); //1非交互表情2交互表情
$name = input('name'); //图片名称
$order = input('order', 'eid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->room_emoji_list($eid, $type, $name, $emoji_type, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间表情详情
public function room_emoji_info()
{
$eid = input('eid', 0);
$reslut = model('Room')->room_emoji_info($eid);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//添加房间表情
public function add_room_emoji()
{
$emoji_type = input('emoji_type', 1);
$nid = input('nid', 0);
$type = input('type');
$name = input('name');
$pid = input('pid');
$image = input('image');
$second = input('second');
$result = input('result');
$show_status = input('show_status');
$sort = input('sort');
$data = model('Room')->add_room_emoji($pid, $type, $name, $emoji_type, $nid, $image, $second, $result, $show_status, $sort);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改房间表情
public function edit_room_emoji()
{
$eid = input('eid', 0);
$emoji_type = input('emoji_type', 1);
$nid = input('nid', 0);
$type = input('type');
$pid = input('pid');
$name = input('name');
$image = input('image');
$second = input('second');
$result = input('result');
$show_status = input('show_status');
$sort = input('sort');
$data = model('Room')->edit_room_emoji($eid, $pid, $type, $name, $emoji_type, $nid, $image, $second, $result, $show_status, $sort);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除房间表情
public function del_room_emoji()
{
$eid = input('eid', 0);
$data = model('Room')->del_room_emoji($eid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取房间音乐列表
public function room_music_list()
{
$mid = input('mid', 0);
$music_name = input('music_name', 0);
$singer = input('singer', 0);
$order = input('order', 'mid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->room_music_list($mid, $music_name, $singer, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取房间音乐
public function music_info()
{
$mid = input('mid', 0);
$reslut = model('Room')->music_info($mid);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//添加房间音乐
public function add_room_music()
{
$music_name = input('music_name');
$singer = input('singer');
$music_url = input('music_url');
$music_size = input('music_size');
$status = input('status');
$music_type = input('music_type');
$data = model('Room')->add_room_music($music_name, $singer, $music_url, $music_size, $status, $music_type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改房间音乐
public function edit_room_music()
{
$mid = input('mid', 0);
$music_name = input('music_name');
$singer = input('singer');
$music_url = input('music_url');
$music_size = input('music_size');
$status = input('status');
$music_type = input('music_type');
$data = model('Room')->edit_room_music($mid, $music_name, $singer, $music_url, $music_size, $status, $music_type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除房间音乐
public function room_music_del()
{
$mid = input('mid', 0);
$data = model('Room')->room_music_del($mid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取列表
public function room_subsidy()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->room_subsidy($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function room_subsidy_info()
{
$id = input('id', 0);
$reslut = model('Room')->room_subsidy_info($id);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['data'] = $reslut['data'];
return json($data);
}
//添加
public function add_room_subsidy()
{
$type = input('type', 1);
$level_name = input('level_name', '');
$total_gift_price = input('total_gift_price', 0);
$money = input('money', 0);
$data = model('Room')->add_room_subsidy($level_name, $total_gift_price, $money, $type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改
public function edit_room_subsidy()
{
$id = input('id', 0);
$type = input('type', 1);
$level_name = input('level_name', '');
$total_gift_price = input('total_gift_price', 0);
$money = input('money', 0);
$data = model('Room')->edit_room_subsidy($id, $level_name, $total_gift_price, $money, $type);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除
public function room_subsidy_del()
{
$id = input('id', 0);
$data = model('Room')->room_subsidy_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取列表
public function give_room_subsidy_list()
{
$room_number = input('room_number', 0);
$owner_uid = input('owner_uid', 0);
$is_fa = input('is_fa', 0);
$belong_week = input('belong_week', '');
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Room')->give_room_subsidy_list($room_number, $owner_uid, $is_fa, $order, $sort, $page, $limit, $belong_week);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//批量结算
public function batch_give_room_subsidy(){
//二级密码
$pass = input('pass', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$data = input('info');
$reslut = model('Room')->batch_give_room_subsidy($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//补贴详情
public function get_give_room_subsidy_info(){
$id = input('id', 0);
$reslut = model('Room')->get_give_room_subsidy_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间明细
public function room_week_earnings_info(){
$id = input('id', 0);
$reslut = model('Room')->room_week_earnings_log_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修复
public function room_week_earnings_log_edit(){
$data = input();
$reslut = model('Room')->room_week_earnings_log_edit($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改补贴
public function edit_give_room_subsidy(){
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$id = input('id', 0);
$user_earnings = input('user_earnings', 0);
$reslut = model('Room')->edit_give_room_subsidy($id, $user_earnings);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//检测房间
public function check_room(){
$rid = input('rid', 0);
$reslut = model('room')->check_room($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清理房间异常麦位
public function check_room_micro(){
$rid = input('rid', 0);
$reslut = model('room')->check_room_micro($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取举报列表
public function room_apply_list()
{
$page = input('page', 1);
$limit = input('limit', 20);
$room_owner_uid = input('room_owner_uid', 0);
$room_number = input('room_number', 0);
$apply_status = input('apply_status', 0);
$reslut = model('Room')->room_apply_list($room_owner_uid,$room_number,$apply_status,$page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function room_apply_info(){
$id = input('id', 0);
$reslut = model('room')->room_apply_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function room_apply_edit(){
$data = input();
$reslut = model('room')->room_apply_edit($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//踢禁记录
public function out_forbid_log(){
$data = Request::only(['operator_uid', 'uid', 'room_number', 'pay_type', 'start', 'end']);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('room')->out_forbid_log($data,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
public function jie_word(){
$fid = input('fid', '');
$reslut = model('room')->jie_word($fid);
return json($reslut);
}
}

View File

@@ -0,0 +1,198 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Sprite extends Common
{
//获取列表
public function get_monster_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_monster_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function get_monster_info()
{
$id = input('id', 0);
$reslut = model('Sprite')->get_monster_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster()
{
$data = input('post.');
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('Sprite')->edit_monster($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取礼物列表
public function get_gift_list()
{
$reslut = model('Gift')->gift_list(0, "", 0, 0, 0, 1, 0, 'gift_price', 'asc', 1, 99999, 1);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']['list']);
}
//获取列表
public function get_monster_multiple_list()
{
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_monster_multiple_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function get_monster_multiple_info()
{
$id = input('id', 0);
$reslut = model('Sprite')->get_monster_multiple_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster_multiple()
{
$data = input('post.');
$reslut = model('Sprite')->edit_monster_multiple($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取列表
public function get_monster_log(){
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_monster_log($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取列表
public function get_user_monster_log(){
$mid = input('mid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_user_monster_log($mid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取列表
public function get_user_monster_win_log(){
$mid = input('mid', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_user_monster_win_log($mid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取列表
public function get_monster_gift_list()
{
$order = input('order', 'a.id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_monster_gift_list($order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取详情
public function get_monster_gift_info()
{
$id = input('id', 0);
$reslut = model('Sprite')->get_monster_gift_info($id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑
public function edit_monster_gift()
{
$data = input('post.');
//二级密码
$pass = input('secondary_password', '');
$check_pass = model('admin/admin')->check_secondary_password($pass);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('Sprite')->edit_monster_gift($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取列表
public function get_exchange_sprite_list()
{
$uid = input('uid', 0);
$room_number = input('room_number', 0);
$start = input('time1', '');
$end = input('time2', '');
$order = input('order', 'a.id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Sprite')->get_exchange_sprite_list($uid, $order, $sort, $page, $limit, $room_number, $start, $end);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
}

View File

@@ -0,0 +1,113 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
class Statistics extends Common
{
//首页基础数据
public function welcome_data()
{
$reslut = model('Statistics')->welcome_data();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//打赏礼物数据根据天
public function get_send_gift_data_by_day()
{
$reslut = model('Statistics')->get_send_gift_data_by_day();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//打赏礼物数据根据小时
public function get_send_gift_data_by_hour()
{
$reslut = model('Statistics')->get_send_gift_data_by_hour();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//打赏礼物数据根据小时
public function get_room_type_date()
{
$reslut = model('Statistics')->get_room_type_date();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//充值排行统计
public function get_recharge_rank_list()
{
$uid = input('uid', 0);
$time_section = input('time_section', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Statistics')->get_recharge_rank_list($uid, $time_section, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//送礼排行统计
public function get_send_gift_rank_list()
{
$uid = input('uid', 0);
$time_section = input('time_section', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Statistics')->get_send_gift_rank_list($uid, $time_section, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//收礼排行统计
public function get_receive_gift_rank_list()
{
$uid = input('uid', 0);
$time_section = input('time_section', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Statistics')->get_receive_gift_rank_list($uid, $time_section, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//陪玩排行统计
public function get_player_order_rank_list()
{
$uid = input('uid', 0);
$time_section = input('time_section', '');
$order = input('order', 'order_num');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Statistics')->get_player_order_rank_list($uid, $time_section, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//用户消费排行统计
public function get_user_consume_rank_list()
{
$uid = input('uid', 0);
$time_section = input('time_section', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Statistics')->get_user_consume_rank_list($uid, $time_section, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
}

View File

@@ -0,0 +1,439 @@
<?php
namespace app\admin\controller;
use think\Controller;
class Ueditor extends Common
{
public $web_site = "";
public function initialize()
{
// $this->web_site = config('bosUrl') . "/";
}
public function index()
{
// header('Access-Control-Allow-Origin: *'); //设置http://www.baidu.com允许跨域访问
// header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With'); //设置允许的跨域header
// date_default_timezone_set("Asia/chongqing");
// error_reporting(E_ERROR);
// header("Content-Type: text/html; charset=utf-8");
$path = str_replace('public', "", $_SERVER['DOCUMENT_ROOT']);
$config_json_path = $path . "/config/ueditconfig.json";
$CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents($config_json_path)), true);
$action = input('action');
switch ($action) {
case 'config':
// header("content:application/json;chartset=uft-8");
$result = json_encode($CONFIG);
break;
/* 上传图片 */
case 'uploadimage':
$fieldName = $CONFIG['imageFieldName'];
$result = $this->upFile($fieldName);
break;
/* 上传涂鸦 */
case 'uploadscrawl':
$config = array(
"pathFormat" => $CONFIG['scrawlPathFormat'],
"maxSize" => $CONFIG['scrawlMaxSize'],
"allowFiles" => $CONFIG['scrawlAllowFiles'],
"oriName" => "scrawl.png",
);
$fieldName = $CONFIG['scrawlFieldName'];
$base64 = "base64";
$result = $this->upBase64($config, $fieldName);
break;
/* 上传视频 */
case 'uploadvideo':
$fieldName = $CONFIG['videoFieldName'];
$result = $this->upFile($fieldName);
break;
/* 上传文件 */
case 'uploadfile':
$fieldName = $CONFIG['fileFieldName'];
$result = $this->upFile($fieldName);
break;
/* 列出图片 */
case 'listimage':
$allowFiles = $CONFIG['imageManagerAllowFiles'];
$listSize = $CONFIG['imageManagerListSize'];
$path = $CONFIG['imageManagerListPath'];
$get = $_GET;
$result = $this->fileList($allowFiles, $listSize, $get);
break;
/* 列出文件 */
case 'listfile':
$allowFiles = $CONFIG['fileManagerAllowFiles'];
$listSize = $CONFIG['fileManagerListSize'];
$path = $CONFIG['fileManagerListPath'];
$get = $_GET;
$result = $this->fileList($allowFiles, $listSize, $get);
break;
/* 抓取远程文件 */
case 'catchimage':
$config = array(
"pathFormat" => $CONFIG['catcherPathFormat'],
"maxSize" => $CONFIG['catcherMaxSize'],
"allowFiles" => $CONFIG['catcherAllowFiles'],
"oriName" => "remote.png",
);
$fieldName = $CONFIG['catcherFieldName'];
/* 抓取远程图片 */
$list = array();
isset($_POST[$fieldName]) ? $source = $_POST[$fieldName] : $source = $_GET[$fieldName];
foreach ($source as $imgUrl) {
$info = json_decode($this->saveRemote($config, $imgUrl), true);
array_push($list, array(
"state" => $info["state"],
"url" => $info["url"],
"size" => $info["size"],
"title" => htmlspecialchars($info["title"]),
"original" => htmlspecialchars($info["original"]),
"source" => htmlspecialchars($imgUrl),
));
}
$result = json_encode(array(
'state' => count($list) ? 'SUCCESS' : 'ERROR',
'list' => $list,
));
break;
default:
$result = json_encode(array(
'state' => '请求地址出错',
));
break;
}
/* 输出结果 */
if (isset($_GET["callback"])) {
if (preg_match("/^[\w_]+$/", $_GET["callback"])) {
echo htmlspecialchars($_GET["callback"]) . '(' . $result . ')';
} else {
echo json_encode(array(
'state' => 'callback参数不合法',
));
}
} else {
echo $result;
die();
}
}
//上传文件
private function upFile($fieldName)
{
$file = request()->file($fieldName);
$reslut = model('Upload')->single_file_upload($file, "onepage");
// dump($reslut);exit;
$data = [];
if ($reslut['code'] == 200) {
$data = array(
'state' => 'SUCCESS',
'url' => $reslut['data']['http_image_path'],
'title' => "image",
'original' => $reslut['data']['image_path'],
'type' => '',
'size' => $reslut['data']['size'],
);
} else {
$data = array(
'state' => "上传错误",
);
}
return json_encode($data);
/*
$reslut = model('api/BaiduBce')->admin_uedit_upload('content', $file);
if ($reslut['code'] == 1) {
$data = array(
'state' => 'SUCCESS',
'url' => $this->web_site . $reslut['data']['bosPath'],
'title' => $reslut['data']['title'],
'original' => $this->web_site . $reslut['data']['original'],
'type' => $reslut['data']['type'],
'size' => $reslut['data']['size'],
);
} else {
$data = array(
'state' => $reslut['data'],
);
}
return json_encode($data);
*/
/*
$file = request()->file($fieldName);
$info = $file->validate(['size' => 1567800000, 'ext' => 'jpg,gif,png,jpeg,mp4,mp3'])->move('uploads/uedit/');
if ($info) { //上传成功
$fname = '/uploads/uedit/' . str_replace('\\', '/', $info->getSaveName());
$imgArr = explode(',', 'jpg,gif,png,jpeg,bmp,ttf,tif');
$imgExt = strtolower($info->getExtension());
$isImg = in_array($imgExt, $imgArr);
// if($isImg){//如果是图片,开始处理
// $image = Image::open($file);
// $thumbnail = 1;
// $water = 1;
// //在这里你可以根据你需要调用ThinkPHP5的图片处理方法了
// if($water == 1){//文字水印
// $image->text('df81.com','./public/font/4.ttf',180,'#ff0000')->save('.'.$fname);
// }
// if($water ==2 ){//图片水印
// $image->water('./public/img/df81.png',9,100)->save('.'.$fname);
// }
// if($thumbnail == 1){//生成缩略图
// $image->thumb(500,500,1)->save('.'.$fname);
// }
// }
$data = array(
'state' => 'SUCCESS',
'url' => $this->web_site . $fname,
'title' => $info->getFilename(),
'original' => $this->web_site . $info->getFilename(),
'type' => '.' . $info->getExtension(),
'size' => $info->getSize(),
);
} else {
$data = array(
'state' => $info->getError(),
);
}
return json_encode($data);
*/
}
//列出图片
private function fileList($allowFiles, $listSize, $get)
{
$dirname = './uploads/uedit/';
$allowFiles = substr(str_replace(".", "|", join("", $allowFiles)), 1);
/* 获取参数 */
$size = isset($get['size']) ? htmlspecialchars($get['size']) : $listSize;
$start = isset($get['start']) ? htmlspecialchars($get['start']) : 0;
$end = $start + $size;
/* 获取文件列表 */
$path = $dirname;
$files = $this->getFiles($path, $allowFiles);
if (!count($files)) {
return json_encode(array(
"state" => "no match file",
"list" => array(),
"start" => $start,
"total" => count($files),
));
}
/* 获取指定范围的列表 */
$len = count($files);
for ($i = min($end, $len) - 1, $list = array(); $i < $len && $i >= 0 && $i >= $start; $i--) {
$list[] = $files[$i];
}
/* 返回数据 */
$result = json_encode(array(
"state" => "SUCCESS",
"list" => $list,
"start" => $start,
"total" => count($files),
));
return $result;
}
/*
* 遍历获取目录下的指定类型的文件
* @param $path
* @param array $files
* @return array
*/
private function getFiles($path, $allowFiles, &$files = array())
{
if (!is_dir($path)) {
return null;
}
if (substr($path, strlen($path) - 1) != '/') {
$path .= '/';
}
$handle = opendir($path);
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$path2 = $path . $file;
if (is_dir($path2)) {
$this->getFiles($path2, $allowFiles, $files);
} else {
if (preg_match("/\.(" . $allowFiles . ")$/i", $file)) {
$files[] = array(
'url' => substr($path2, 1),
'mtime' => filemtime($path2),
);
}
}
}
}
return $files;
}
//抓取远程图片
private function saveRemote($config, $fieldName)
{
$imgUrl = htmlspecialchars($fieldName);
$imgUrl = str_replace("&amp;", "&", $imgUrl);
//http开头验证
if (strpos($imgUrl, "http") !== 0) {
$data = array(
'state' => '链接不是http链接',
);
return json_encode($data);
}
//获取请求头并检测死链
$heads = get_headers($imgUrl);
if (!(stristr($heads[0], "200") && stristr($heads[0], "OK"))) {
$data = array(
'state' => '链接不可用',
);
return json_encode($data);
}
//格式验证(扩展名验证和Content-Type验证)
$fileType = strtolower(strrchr($imgUrl, '.'));
if (!in_array($fileType, $config['allowFiles']) || stristr($heads['Content-Type'], "image")) {
$data = array(
'state' => '链接contentType不正确',
);
return json_encode($data);
}
//打开输出缓冲区并获取远程图片
ob_start();
$context = stream_context_create(
array('http' => array(
'follow_location' => false, // don't follow redirects
))
);
readfile($imgUrl, false, $context);
$img = ob_get_contents();
ob_end_clean();
preg_match("/[\/]([^\/]*)[\.]?[^\.\/]*$/", $imgUrl, $m);
$dirname = './public/uploads/remote/';
$file['oriName'] = $m ? $m[1] : "";
$file['filesize'] = strlen($img);
$file['ext'] = strtolower(strrchr($config['oriName'], '.'));
$file['name'] = uniqid() . $file['ext'];
$file['fullName'] = $dirname . $file['name'];
$fullName = $file['fullName'];
//检查文件大小是否超出限制
if ($file['filesize'] >= ($config["maxSize"])) {
$data = array(
'state' => '文件大小超出网站限制',
);
return json_encode($data);
}
//创建目录失败
if (!file_exists($dirname) && !mkdir($dirname, 0777, true)) {
$data = array(
'state' => '目录创建失败',
);
return json_encode($data);
} else if (!is_writeable($dirname)) {
$data = array(
'state' => '目录没有写权限',
);
return json_encode($data);
}
//移动文件
if (!(file_put_contents($fullName, $img) && file_exists($fullName))) { //移动失败
$data = array(
'state' => '写入文件内容错误',
);
return json_encode($data);
} else { //移动成功
$data = array(
'state' => 'SUCCESS',
'url' => $this->web_site . substr($file['fullName'], 1),
'title' => $file['name'],
'original' => $this->web_site . $file['oriName'],
'type' => $file['ext'],
'size' => $file['filesize'],
);
}
return json_encode($data);
}
/*
* 处理base64编码的图片上传
* 例如:涂鸦图片上传
*/
private function upBase64($config, $fieldName)
{
$base64Data = $_POST[$fieldName];
$img = base64_decode($base64Data);
$dirname = './uploads/uedit/scrawl/';
$file['filesize'] = strlen($img);
$file['oriName'] = $config['oriName'];
$file['ext'] = strtolower(strrchr($config['oriName'], '.'));
$file['name'] = uniqid() . $file['ext'];
$file['fullName'] = $dirname . $file['name'];
$fullName = $file['fullName'];
//检查文件大小是否超出限制
if ($file['filesize'] >= ($config["maxSize"])) {
$data = array(
'state' => '文件大小超出网站限制',
);
return json_encode($data);
}
//创建目录失败
if (!file_exists($dirname) && !mkdir($dirname, 0777, true)) {
$data = array(
'state' => '目录创建失败',
);
return json_encode($data);
} else if (!is_writeable($dirname)) {
$data = array(
'state' => '目录没有写权限',
);
return json_encode($data);
}
//移动文件
if (!(file_put_contents($fullName, $img) && file_exists($fullName))) { //移动失败
$data = array(
'state' => '写入文件内容错误',
);
} else { //移动成功
$data = array(
'state' => 'SUCCESS',
'url' => $this->web_site . substr($file['fullName'], 1),
'title' => $file['name'],
'original' => $this->web_site . $file['oriName'],
'type' => $file['ext'],
'size' => $file['filesize'],
);
}
return json_encode($data);
}
}

View File

@@ -0,0 +1,17 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
class Upload extends Common
{
public function file_upload()
{
$file = request()->file('file');
$file_category_name = input('file_category', 'all');
$reslut = model('Upload')->single_file_upload($file, $file_category_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,308 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class User extends Common
{
//获取用户列表
public function get_user_list()
{
$uid = input('uid', 0);
$pid = input('pid', 0);
$user_name = input('user_name', '');
$nick_name = input('nick_name', '');
$special_uid = input('special_uid',0);
$last_login_device = input('last_login_device','');
$is_can_recharge = input('is_can_recharge', 0);
$is_sign = input('is_sign', 0);
$is_real = input('is_real', 0);
$order = input('order', 'uid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$integral_min = input('integral_min',0);
$integral_max = input('integral_max',0);
$is_sys_tester = input('is_sys_tester',2);
$reslut = model('User')->get_user_list($uid, $pid, $user_name, $nick_name, $special_uid, $last_login_device, $is_can_recharge, $is_sign, $is_real, $order, $sort, $page, $limit,$integral_min,$integral_max,$is_sys_tester);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取用户列表
public function get_write_user_list()
{
$uid = input('uid', 0);
$pid = input('pid', 0);
$user_name = input('user_name', '');
$nick_name = input('nick_name', '');
$special_uid = input('special_uid',0);
$last_login_device = input('last_login_device','');
$is_can_recharge = input('is_can_recharge', 0);
$is_sign = input('is_sign', 0);
$is_real = input('is_real', 0);
$order = input('order', 'uid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$integral_min = input('integral_min',0);
$integral_max = input('integral_max',0);
$reslut = model('User')->get_write_user_list($uid, $pid, $user_name, $nick_name, $special_uid, $last_login_device, $is_can_recharge, $is_sign, $is_real, $order, $sort, $page, $limit,$integral_min,$integral_max);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取用户资料
public function get_user_info()
{
$uid = input('uid', 0);
$reslut = model('User')->get_user_info($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
// $data = model('User')->get_user_info($uid);
// if ($data['code'] == 0) {
// return ajaxReturn(201, $data['msg'], $data['data']);
// } else {
// return ajaxReturn(200, $data['msg'], $data['data']);
// }
}
//修改用户资料
public function edit_user_info()
{
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$sex = input('sex', 0);
$login_status = input('login_status', 0);
$is_tester = input('is_tester',0);
$is_sign = input('is_sign', 0);
$is_can_recharge = input('is_can_recharge', 0);
$special_uid = input('special_uid', '');
$is_real = input('is_real', 2);
$is_look_rank = input('is_look_rank', '');
$room_owner_commission = input('room_owner_commission', '');
$room_owner_lucky_commission = input('room_owner_lucky_commission','');
$real_name = input('real_name', '');
$card_id = input('card_id', '');
$data = model('User')->edit_user_info($uid, $nick_name, $sex, $login_status, $is_tester, $is_sign, $is_can_recharge, $special_uid, $is_real,$is_look_rank,$room_owner_commission,$room_owner_lucky_commission,$real_name,$card_id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改用户资料
public function lu_edit_user_info()
{
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$sex = input('sex', 0);
$head_pic = input('head_pic', '');
$data = model('User')->lu_edit_user_info($uid, $nick_name, $sex, $head_pic);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改用户资金
public function edit_user_money()
{
$uid = input('uid', 0);
$money_type = input('money_type', '');
$change_value = input('change_value', 0);
$secondary_password = input('secondary_password','');
$remarks = input('remarks', '');
//二级密码
$check_pass = model('admin/admin')->check_secondary_password($secondary_password);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('User')->edit_user_money($uid, $change_value, $money_type, $secondary_password, $remarks, $this->aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//恢复注销用户
public function edit_user_write()
{
$uid = input('uid', 0);
$login_status = input('login_status', '');
$secondary_password = input('secondary_password','');
//二级密码
$check_pass = model('admin/admin')->check_secondary_password($secondary_password);
if($check_pass['code'] == 201){
return ajaxReturn($check_pass['code'], $check_pass['msg'], $check_pass['data']);
}
$reslut = model('User')->edit_user_write($uid, $login_status, $this->aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改用户密码
public function edit_user_password()
{
$data = Request::only(['uid', 'password']);
$reslut = model('User')->edit_user_password($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改用户密码
public function edit_user_passwords()
{
$data = Request::only(['uid', 'trade_password']);
$reslut = model('User')->edit_user_passwords($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户背包列表
public function get_user_gift_pack()
{
$pid = input('pid', 0);
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$gid = input('gid', 0);
$order = input('order', 'pid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('User')->get_user_gift_pack($pid, $uid, $nick_name, $gid, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//删除用户背包礼物
public function del_user_gift_pack()
{
//return ajaxReturn(201, '功能暂已停用', null);
$pid = input('pid', 0);
$reslut = model('User')->del_user_gift_pack($pid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清除用户地阶奖池累消
public function gold_consume_del(){
$reslut = model('User')->gold_consume_del();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清除用户天阶奖池累消
public function drill_consume_del(){
$reslut = model('User')->drill_consume_del();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清除用户天阶奖池累消
public function silver_consume_del(){
$reslut = model('User')->silver_consume_del();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清空所有背包礼物
public function user_gift_pack_del_all(){
return ajaxReturn(201, '功能暂已停用', null);
$reslut = model('User')->user_gift_pack_del_all();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清空用户token
public function clear_user_token(){
$type = input('type', 0);
$uid = input('uid', 0);
$reslut = model('User')->clear_user_token($uid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//幸运摩天奖励发放
public function motian_fa(){
$key_name = "api:user:motian_fa";
redis_lock_exit($key_name,100);
$reslut = model('User')->yesterday_motian_award();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_mo_tian_log(){
$uid = input('uid', 0);
$gid = input('gid', 0);
$gift_name = input('gift_name', '');
$level = input('level', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('user')->get_mo_tian_log($uid, $gid, $gift_name,$level,$page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//批量生成测试账号
public function batch_create_test_account(){
$key_name = "admin:batch_create_test_account";
redis_lock_exit($key_name);
$reslut = model('api/UserLogin')->batch_create_test_account();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace app\admin\controller;
use think\Controller;
class UserPack extends Common
{
//获取系统配置
public function add_user_pack_gift()
{
$password = input('secondary_password', '');
$aid = $this->aid;
$uid = input('uid', 0);
$num = input('num', 0);
$gid = input('gid', 0);
$res = model('Admin')->check_secondary_password($password);
if($res['code'] == 201) {
return ajaxReturn(201, '二级密码错误', null);
}
$result = model('UserPack')->add_user_pack_gift($aid, $uid, $gid, $num);
return ajaxReturn($result['code'], $result['msg'], null);
}
}

View File

@@ -0,0 +1,51 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\facade\Request;
class Userzone extends Common
{
//获取举报列表
public function user_zone_list()
{
$uid = input('uid', 0);
$nick_name = input('nick_name', '');
$content = input('content', '');
$show_status = input('show_status', '');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Userzone')->user_zone_list($uid, $nick_name, $content, $show_status, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//审核说说信息
// public function zone_examine()
// {
// $zid = input('zid', 0);
// $show_status = input('show_status', 0);
// $reslut = model('Userzone')->zone_examine($zid, $show_status);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
// }
public function get_zone_info()
{
$zid = input('zid', 0);
$reslut = model('Userzone')->get_zone_info($zid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//编辑说说
public function edit_zone()
{
$data = Request::only(['zid', 'is_recommend', 'show_status']);
$reslut = model('Userzone')->edit_zone($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,872 @@
<?php
namespace app\admin\controller;
use think\Controller;
// 网站管理
class Website extends Common
{
//获取轮播图 列表
public function get_banner_list()
{
$uid = input('uid', 0);
$room_number = input('room_number', 0);
$room_name = input('room_name', '');
$order = input('order', 'uid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->get_banner_list($uid, $room_number, $room_name, $order, $sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//修改轮播图信息
public function edit_banner_info()
{
$bid = input('bid', 0);
$image = input('image', 0);
$aid = input('aid', '');
$type = input('type', '');
$show_status = input('show_status', '');
$sort = input('sort', '');
$data = model('Website')->edit_banner_info($bid, $image, $aid, $type,$show_status, $sort);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加轮播图
public function add_banner()
{
$data = input('post.');
$data = model('Website')->add_banner($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取房间信息
public function get_banner_info()
{
$bid = input('bid', 0);
$data = model('Website')->get_banner_info($bid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除轮播图
public function banner_del()
{
$bid = input('bid', 0);
$data = model('Website')->banner_del($bid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取充值可选 列表
public function can_recharge_list()
{
$crid = input('crid', 0);
$order = input('order', 'crid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->can_recharge_list($crid,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//修改 充值可选
public function edit_recharge_info()
{
$crid = input('crid', 0);
$money = input('money', 0);
$integral = input('integral', '');
$data = model('Website')->edit_recharge_info($crid, $money, $integral);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加 充值可选
public function add_recharge()
{
$data = input('post.');
$data = model('Website')->add_recharge($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 充值可选 信息
public function get_recharge_info()
{
$crid = input('crid', 0);
$data = model('Website')->get_recharge_info($crid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 充值可选
public function recharge_del()
{
$crid = input('crid', 0);
$data = model('Website')->recharge_del($crid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//用户建议 列表
public function suggest_list()
{
$id = input('id', 0);
$uid = input('uid', 0);
$nickanme = input('nickanme', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->suggest_list($id,$uid,$nickanme,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//获取 建议 信息
public function get_suggest_info()
{
$id = input('id', 0);
$data = model('Website')->get_suggest_info($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 建议状态
public function edit_suggest_info()
{
$id = input('id', 0);
$is_deal = input('is_deal', 0);
$data = model('Website')->edit_suggest_info($id, $is_deal);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 建议
public function suggest_del()
{
$id = input('id', 0);
$data = model('Website')->suggest_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//用户等级列表
public function user_level_list()
{
$lid = input('lid', 0);
$type = input('type', 0);
$type_name = input('type_name', 0);
$order = input('order', 'lid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->user_level_list($lid,$type,$type_name,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 用户等级
public function add_user_level()
{
$data = input('post.');
$data = model('Website')->add_user_level($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 用户等级
public function get_user_level()
{
$lid = input('lid', 0);
$data = model('Website')->get_user_level($lid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 用户等级
public function edit_user_level()
{
$data = input('post.');
$data = model('Website')->edit_user_level($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 用户等级
public function user_level_del()
{
$lid = input('lid', 0);
$data = model('Website')->user_level_del($lid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//守护类型 列表
public function guard_type_list()
{
$gid = input('gid', 0);
$guard_name = input('guard_name', 0);
$order = input('order', 'gid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->guard_type_list($gid,$guard_name,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 守护类型
public function add_guard_type()
{
$data = input('post.');
$data = model('Website')->add_guard_type($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 守护类型
public function get_guard_type()
{
$gid = input('gid', 0);
$data = model('Website')->get_guard_type($gid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 守护类型
public function edit_guard_type()
{
$data = input('post.');
$data = model('Website')->edit_guard_type($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 守护类型
public function guard_type_del()
{
$gid = input('gid', 0);
$data = model('Website')->guard_type_del($gid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 守护类型 l列表
public function get_guard_type_list()
{
$data = model('Website')->get_guard_type_list();
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//守护价格 列表
public function guard_price_list()
{
$id = input('id', 0);
$order = input('order', 'a.id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->guard_price_list($id,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 守护价格
public function add_guard_price()
{
$data = input('post.');
$data = model('Website')->add_guard_price($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 守护价格详情
public function get_guard_price()
{
$id = input('id', 0);
$data = model('Website')->get_guard_price($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 守护价格
public function edit_guard_price()
{
$data = input('post.');
$data = model('Website')->edit_guard_price($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 守护价格
public function guard_price_del()
{
$id = input('id', 0);
$data = model('Website')->guard_price_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//特效 列表
public function special_effects_list()
{
$sid = input('sid', 0);
$type = input('type', 0);
$effects_name = input('effects_name', 0);
$is_can_buy = input('is_can_buy', 0);
$is_show = input('is_show', 0);
$order = input('order', 'sid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->special_effects_list($sid,$type,$effects_name,$is_can_buy,$is_show,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 特效
public function add_special_effects()
{
$data = input('post.');
$data = model('Website')->add_special_effects($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 特效详情
public function get_special_effects()
{
$sid = input('sid', 0);
$data = model('Website')->get_special_effects($sid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 特效
public function edit_special_effects()
{
$data = input('post.');
$data = model('Website')->edit_special_effects($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 特效
public function special_effects_del()
{
$sid = input('sid', 0);
$data = model('Website')->special_effects_del($sid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 特效价格 列表
public function get_special_effects_list()
{
$data = model('Website')->get_special_effects_list();
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//特效价格 列表
public function special_effects_price()
{
$spid = input('spid', 0);
$day = input('day', 0);
$sell_price = input('sell_price', 0);
$effects_name = input('effects_name', 0);
$order = input('order', 'a.spid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->special_effects_price($spid,$day,$sell_price,$effects_name,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 特效价格
public function add_special_effects_price()
{
$data = input('post.');
$data = model('Website')->add_special_effects_price($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 特效价格 详情
public function get_special_effects_price()
{
$spid = input('spid', 0);
$data = model('Website')->get_special_effects_price($spid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 特效价格
public function edit_special_effects_price()
{
$data = input('post.');
$data = model('Website')->edit_special_effects_price($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 特效价格
public function special_effects_price_del()
{
$spid = input('spid', 0);
$data = model('Website')->special_effects_price_del($spid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//单页信息 列表
public function page_list()
{
$order = input('order', 'aid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->page_list($order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 单页信息
public function add_page()
{
$data = input('post.');
$data = model('Website')->add_page($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 单页信息 详情
public function get_page()
{
$aid = input('aid', 0);
$data = model('Website')->get_page($aid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 单页信息
public function edit_page()
{
$data = input('post.');
$data = model('Website')->edit_page($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 单页信息
public function page_del()
{
$aid = input('aid', 0);
$data = model('Website')->page_del($aid);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取列表
public function pay_way_list()
{
$pay_type = input('pay_type', 0);
$status = input('status', '');
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->pay_way_list($pay_type, $status, $order, $sort,$page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//修改
public function edit_pay_way()
{
$data = input('post.');
$reslut = model('Website')->edit_pay_way($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加
public function add_pay_way()
{
$data = input('post.');
$reslut = model('Website')->add_pay_way($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取信息
public function get_pay_way_info()
{
$id = input('id', 0);
$data = model('Website')->get_pay_way_info($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除
public function pay_way_del()
{
$id = input('id', 0);
$data = model('Website')->pay_way_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 列表
public function auction_price_list()
{
$id = input('id', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->auction_price_list($id,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//修改
public function edit_auction_price_info()
{
$id = input('id', 0);
$price = input('price', 0);
$data = model('Website')->edit_auction_price_info($id, $price);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//添加
public function add_auction_price()
{
$data = input('post.');
$data = model('Website')->add_auction_price($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 信息
public function get_auction_price_info()
{
$id = input('id', 0);
$data = model('Website')->get_auction_price_info($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除
public function auction_price_del()
{
$id = input('id', 0);
$data = model('Website')->auction_price_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//CP特权列表
public function coupling_privilege_list()
{
$id = input('id', 0);
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->coupling_privilege_list($id,$order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//添加 CP特权
public function add_coupling_privilege()
{
$data = input('post.');
$data = model('Website')->add_coupling_privilege($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//获取 CP特权
public function get_coupling_privilege_info()
{
$id = input('id', 0);
$data = model('Website')->get_coupling_privilege_info($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//修改 CP特权
public function edit_coupling_privilege()
{
$data = input('post.');
$data = model('Website')->edit_coupling_privilege($data);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//删除 CP特权
public function coupling_privilege_del()
{
$id = input('id', 0);
$data = model('Website')->coupling_privilege_del($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//客服信息
public function support_staff(){
$order = input('order', 'id');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Website')->support_staff($order,$sort,$page,$limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
return json($data);
}
//客服详情
public function support_staff_info()
{
$id = input('id', 0);
$data = model('Website')->support_staff_info($id);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
//客服信息编辑
public function support_staff_edit(){
$id = input('id', 0);
$image = input('image', '');
$content = input('content', '');
$contents = input('contents', '');
$data = model('Website')->support_staff_edit($id,$image, $content, $contents);
if ($data['code'] == 201) {
return ajaxReturn(201, $data['msg'], $data['data']);
} else {
return ajaxReturn(200, $data['msg'], $data['data']);
}
}
}

View File

@@ -0,0 +1,341 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Admin extends Model
{
protected $pk = 'aid';
protected $auto = ['update_time'];
protected $insert = [
'add_time',
'system_menu_id_list' => 0,
'is_delete' => 1,
'delete_time' => 0,
];
protected $update = ['update_time'];
protected function setPasswordAttr($value)
{
return md5($value);
}
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
public function check_login_token($login_token)
{
if (empty($login_token)) {
return ['code' => 201, 'msg' => '登录失效', 'data' => ''];
}
$map = [];
$map[] = ['login_token', '=', $login_token];
$map[] = ['is_delete', '=', 1];
$user_info = db::name('admin')->where($map)->find();
if (empty($user_info)) {
return ['code' => 201, 'msg' => '登录失效', 'data' => ''];
} else {
if(time() > $user_info['token_validity_time']){
Db::name('admin')->where('aid', $user_info['aid'])->update(['login_token' => '', 'update_time' => time()]);
return ['code' => 201, 'msg' => '登录失效', 'data' => ''];
} else {
if($user_info['token_validity_time'] <= (time() + 3600)) {
Db::name('admin')->where('aid', $user_info['aid'])->update(['token_validity_time' => time() + 7200, 'update_time' => time()]);
}
}
return ['code' => 200, 'msg' => '登录成功', 'data' => $user_info['aid']];
}
}
//获取管理员信息
public function admin_info($login_token)
{
if (empty($login_token)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => ''];
}
$info = db::name('admin')->where(['login_token' => $login_token])->field('user_name')->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
public function add_admin($user_name, $password, $re_password)
{
$map = [];
$map[] = ['user_name', '=', $user_name];
$admin_info = db::name('admin')->where($map)->find();
if (!empty($admin_info)) {
return ['code' => 201, 'msg' => '用户名已存在', 'data' => ''];
}
$res = check_password_format($password);
if($res['code'] == 201) {
return $res;
}
if ($password != $re_password) {
return ['code' => 201, 'msg' => '两次密码不一致', 'data' => ''];
}
$phone = input('phone', '');
$open_sms_code = input('open_sms_code', 2);
if($open_sms_code == 1) {
if(empty($phone)) {
return ['code' => 201, 'msg' => '手机号不能为空', 'data' => ''];
}
if(!isMobile($phone)) {
return ['code' => 201, 'msg' => '手机号格式错误', 'data' => ''];
}
$admin_info = Db::name('admin')->where(['phone' => $phone, 'is_delete' => 1])->find();
if($admin_info) {
return ['code' => 201, 'msg' => '手机号已绑定', 'data' => ''];
}
}
$data = [];
$data['user_name'] = $user_name;
$data['password'] = $password;
$data['phone'] = $phone;
$data['open_sms_code'] = $open_sms_code;
$validate = validate('admin/admin');
$reslut = $validate->scene('adminAdd')->check($data);
if ($reslut !== true) {
return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
}
$Admin = model('admin/admin');
$reslut = $Admin->save($data);
if ($reslut) {
return ['code' => 200, 'msg' => '添加成功', 'data' => ''];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => ''];
}
}
//修改管理员密码
public function edit_admin_password($aid, $old_password, $password, $re_password, $phone)
{
$admin_info = db::name('admin')->where(['aid' => $aid])->find();
if (empty($admin_info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => ''];
}
if (md5($old_password) != $admin_info['password']) {
return ['code' => 201, 'msg' => '原始密码错误', 'data' => ''];
}
$res = check_password_format($password);
if($res['code'] == 201) {
return $res;
}
if ($password != $re_password) {
return ['code' => 201, 'msg' => '两次密码不一致', 'data' => ''];
}
$data = [];
$open_sms_code = input('open_sms_code', 2);
if($open_sms_code == 1) {
if(empty($phone)) {
return ['code' => 201, 'msg' => '手机号不能为空', 'data' => ''];
}
if(!isMobile($phone)) {
return ['code' => 201, 'msg' => '手机号格式错误', 'data' => ''];
}
$admin_info = Db::name('admin')->where(['phone' => $phone, 'is_delete' => 1])->where('aid', 'neq', $aid)->find();
if($admin_info) {
return ['code' => 201, 'msg' => '手机号已绑定', 'data' => ''];
}
}
$data['password'] = md5($password);
$validate = validate('admin/admin');
$reslut = $validate->scene('adminEditPassword')->check($data);
if ($reslut !== true) {
return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
}
if($phone != $admin_info['phone']){
$data['phone'] = $phone;
}
$data['open_sms_code'] = $open_sms_code;
$data['update_time'] = time();
$reslut = Db::name('admin')->where('aid', $aid)->update($data);
if ($reslut) {
return ['code' => 200, 'msg' => '修改成功', 'data' => ''];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => ''];
}
}
//修改管理员权限
public function edit_admin_auth($aid, $auth)
{
$system_menu_id_list = implode(',', $auth);
$data = [];
$data['system_menu_id_list'] = $system_menu_id_list;
$data['update_time'] = time();
$res = db::name('admin')->where(['aid' => $aid])->update($data);
if ($res) {
return ['code' => 200, 'msg' => '修改成功', 'data' => ''];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => ''];
}
}
//获取管理员列表
public function get_admin_list($user_name, $page, $page_limit)
{
$map = [];
$map[] = ['is_delete', '=', 1];
if (!empty($user_name)) {
$map[] = ['user_name', 'like', '%' . $user_name . '%'];
}
$list = db::name('admin')->where($map)->order('aid', 'asc')->page($page, $page_limit)->select();
$data = [];
$data['count'] = db::name('admin')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_admin_info($aid)
{
$admin_info = db::name('admin')->find($aid);
return ['code' => 200, 'msg' => '获取成功', 'data' => $admin_info];
}
public function delete_admin($aid)
{
if ($aid == 1) {
return ['code' => 201, 'msg' => '总管理员禁止删除', 'data' => null];
}
$data = [];
$data['is_delete'] = 2;
$data['delete_time'] = time();
$data['update_time'] = time();
$res = db::name('admin')->where(['aid' => $aid])->update($data);
if ($res) {
return ['code' => 200, 'msg' => '删除成功', 'data' => ''];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => ''];
}
}
//管理员日志
public function get_admin_log_list($page, $page_limit){
$map = [];
$map[] = ['type', '=', 1];
$list = db::name('operation')->where($map)->order('op_id','desc')->page($page, $page_limit)->select();
foreach ($list as $k => &$v) {
$v['user_name'] = db::name('admin')->where('aid', $v['id'])->value('user_name');
if(strpos($v['url'],'admin/box/get_box_type_list')){
$v['operate_name'] = '宝箱礼物列表';
}else if(strpos($v['url'],'admin/box/get_box_log_list')){
$v['operate_name'] = '每期奖池列表';
}else if(strpos($v['url'],'admin/box/edit_box_config')){
$v['operate_name'] = '修改宝箱信息';
}else if(strpos($v['url'],'admin/box/delete_box_config')){
$v['operate_name'] = '删除宝箱信息';
}else if(strpos($v['url'],'admin/box/add_give_gift')){
$v['operate_name'] = '添加礼物补发';
}else if(strpos($v['url'],'admin/box/cancel_give_gift')){
$v['operate_name'] = '取消礼物补发';
}else if(strpos($v['url'],'admin/box/get_box_give_gift_list')){
$v['operate_name'] = '礼物补发列表';
}else if(strpos($v['url'],'admin/user/get_user_list')){
$v['operate_name'] = '用户列表';
}else if(strpos($v['url'],'admin/user/edit_user_info')){
$v['operate_name'] = '修改用户信息';
}else if(strpos($v['url'],'admin/user/edit_user_money')){
$v['operate_name'] = '修改用户资金';
}else if(strpos($v['url'],'admin/user/edit_user_password')){
$v['operate_name'] = '修改用户密码';
}else if(strpos($v['url'],'admin/user/gold_consume_del')){
$v['operate_name'] = '清除地阶累消';
}else if(strpos($v['url'],'admin/user/drill_consume_del')){
$v['operate_name'] = '清除天阶累消';
}else if(strpos($v['url'],'admin/user/get_user_gift_pack')){
$v['operate_name'] = '用户背包列表';
}else if(strpos($v['url'],'admin/user/del_user_gift_pack')){
$v['operate_name'] = '删除用户背包礼物';
}else if(strpos($v['url'],'admin/config/config_list')){
$v['operate_name'] = '系统配置列表';
}else if(strpos($v['url'],'admin/config/edit_config')){
$v['operate_name'] = '修改配置信息';
}else if(strpos($v['url'],'admin/config/del_config')){
$v['operate_name'] = '删除配置信息';
}else if(strpos($v['url'],'admin/config/add_config')){
$v['operate_name'] = '添加配置信息';
}else if(strpos($v['url'],'admin/Admin/get_admin_log_list')){
$v['operate_name'] = '管理员日志';
}else if(strpos($v['url'],'admin/Admin/get_admin_list')){
$v['operate_name'] = '管理员列表';
}else if(strpos($v['url'],'admin/Admin/add_admin')){
$v['operate_name'] = '增加管理员';
}else if(strpos($v['url'],'admin/Admin/edit_admin_password')){
$v['operate_name'] = '修改管理员密码';
}else if(strpos($v['url'],'admin/Admin/edit_admin_auth')){
$v['operate_name'] = '修改管理员权限';
}else if(strpos($v['url'],'admin/Admin/delete_admin')){
$v['operate_name'] = '删除管理员';
}
}
$data = [];
$data['count'] = db::name('operation')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function quit_admin_login($aid){
if(empty($aid)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$map = [];
$map[] = ['aid','=', $aid];
$admin_info = db::name('admin')->where($map)->find();
if(!$admin_info){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$map = [];
$map[] = ['aid', '=', $aid];
$update_data = [];
$update_data['login_token'] = '';
$reslut = db::name('admin')->where($map)->update($update_data);
if(!$reslut){
return ['code' => 201, 'msg' => '退出失败', 'data' => null];
}
return ['code' => 200, 'msg' => '退出成功', 'data' => null];
}
//二级密码校验
public function check_secondary_password($pass){
if(empty($pass)){
return ['code' => 201, 'msg' => '二级密码不能为空', 'data' => null];
}
$pass_word = secondary_password();
if(md5($pass) != $pass_word){
return ['code' => 201, 'msg' => '二级密码错误', 'data' => null];
}else{
return ['code' => 200, 'msg' => '成功', 'data' => null];
}
}
//清除登录状态
public function clear_admin_token($super_aid, $aid)
{
if($super_aid != 1) {
return ['code' => 201, 'msg' => '无权限操作', 'data' => null];
}
$result = Db::name('admin')->where('aid', $aid)->update(['login_token' => '', 'error_num' => 0, 'status' => 1, 'update_time' => time()]);
if($result) {
return ['code' => 200, 'msg' => '处理成功', 'data' => null];
}
return ['code' => 201, 'msg' => '处理失败', 'data' => null];
}
}

View File

@@ -0,0 +1,33 @@
<?php
namespace app\admin\model;
use think\Model;
class AdminComModel extends Model
{
public function append_add_update_time($data, $add_time = true, $update_time = true)
{
if ($add_time) {
$data['add_time'] = time();
}
if ($update_time) {
$data['update_time'] = time();
}
return $data;
}
public function append_add_time($data)
{
$data['add_time'] = time();
return $data;
}
public function append_update_time($data)
{
$data['update_time'] = time();
return $data;
}
}

View File

@@ -0,0 +1,103 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Agora extends Model
{
protected $insert = [
'add_time',
];
protected $update = ['update_time'];
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
//获取房间音乐列表
public function agora_song_list($aid, $song_name, $singer, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($aid)) {
$map[] = ['aid', '=', $aid];
}
if (!empty($song_name)) {
$map[] = ['song_name', 'like', '%' . $song_name . '%'];
}
if (!empty($singer)) {
$map[] = ['singer', 'like', '%' . $singer . '%'];
}
$map[] = ['is_delete', '=', 1];
$song_list = db::name('agora_song')->where($map)->order($order, $sort)->page($page, $limit)->select();
$data = [];
$data['count'] = db::name('agora_song')->where($map)->count();
$data['list'] = $song_list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//同步歌曲
public function synchro_song(){
//查看当前数据库存留歌曲
$song = db::name('agora_song')->where('is_delete',1)->order('aid desc')->limit(1)->find();
if(empty($song)){
$datas = model('api/Agora')->agora_song_list(0, 1000, 0);
}else{
$datas = model('api/Agora')->agora_song_list(0, 1000, $song['song_code']);
}
if(empty($datas['data']['list'])){
return ['code' => 201, 'msg' => '暂无更多歌曲', 'data' => null];
}
$data = [];
$data_array = [];
foreach ($datas['data']['list'] as $k => $v){
$data['song_code'] = $v['songCode'];
$data['song_name'] = $v['name'];
$data['singer'] = $v['singer'];
$data['poster'] = $v['poster'];
$data['duration'] = $v['duration'];
$data['type'] = $v['type'];
$data['release_time'] = strtotime($v['releaseTime']);
$data['status'] = $v['status'];
$data['add_time'] = time();
if(!empty($v['mv'])){
$data['mv'] = json_encode($v['mv'],true);
}
$data_array[] = $data;
}
// dump($data_array);exit;
$result = db::name('agora_song')->insertAll($data_array);
if($result){
return ['code' => 200, 'msg' => '更新成功', 'data' => null];
}else{
return ['code' => 201, 'msg' => '更新失败', 'data' => null];
}
}
//增量歌曲
public function increment_song(){
//查看当前数据库存留歌曲
$song = db::name('agora_song')->where('is_delete', 1)->order('aid desc')->limit(1)->find();
if(empty($song)){
return ['code' => 201, 'msg' => '请先去同步歌曲', 'data' => null];
}else{
$datas = model('api/Agora')->agora_new_song_list(1, 1000, $song['add_time']);
}
dump($datas);exit;
}
}

View File

@@ -0,0 +1,488 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class BlindBox extends Model
{
//盲盒礼物列表
public function get_blind_box_gift_list($tid)
{
$tid = 102;
$map = [];
$map[] = ['a.tid', '=', $tid];
$list = db::name('box_config')->alias('a')
->leftJoin('gift b', 'a.gid = b.gid')
->field('b.gid,b.gift_name,b.gift_price,a.num')
->where($map)->order('b.gift_price desc')
->select();
return ['code' => 200, 'msg' => '获取数据成功', 'data' => $list];
}
//获取所有不可购买礼物
public function get_gift_list()
{
$tid = 102;
$map = [];
$map[] = ['is_show', '=', 1];
$map[] = ['is_delete', '=', 1];
$map[] = ['is_can_buy', '=', 2];
$list = db::name('gift')
->field('gid,gift_name,gift_price')
->where($map)->order('gift_price desc')
->select();
return ['code' => 200, 'msg' => '获取数据成功', 'data' => $list];
}
//限定礼物配置
public function get_config_list($stage, $gid, $page = 1, $limit = 20)
{
$map = [];
if(!empty($stage)){
$map[] = ['a.stage', '=', $stage];
}
$list = db::name('blind_box_config')->alias('a')
->leftJoin('gift b', 'a.gid = b.gid')
->leftJoin('box_type c', 'a.tid = c.tid')
->leftJoin('box_config d', 'a.tid = d.tid and a.gid = d.gid')
->leftJoin('blind_box_stage e', 'a.stage = e.stage')
->field('a.*,b.gift_name,b.gift_price,b.base_image,c.show_name,d.num,e.stage_name')
->where($map)->order('id desc')
->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$total_bind_num = Db::name('blind_box_config')->where('stage', $v['stage'])->sum('bind_rate');
$v['base_image'] = localpath_to_netpath($v['base_image']);
if($total_bind_num > 0) {
$v['bind_rate'] = bcmul(bcdiv($v['bind_rate'], $total_bind_num,4), 100, 2) . '%';
} else {
$v['bind_rate'] = '50%';
}
}
$data = [];
$data['count'] = db::name('blind_box_config')->alias('a')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//添加配置
public function add_config($data)
{
if(empty($data['stage'])) {
return ['code' => 201, 'msg' => '请选择阶段', 'data' => null];
}
if(empty($data['gid'])) {
return ['code' => 201, 'msg' => '请选择限定礼物', 'data' => null];
}
if(empty($data['time_long'])) {
return ['code' => 201, 'msg' => '请输入限定礼物增加时长', 'data' => null];
}
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['stage', '=', $data['stage']];
$map[] = ['gid', '=', $data['gid']];
$info = db::name('blind_box_config')->where($map)->find();
if($info){
return ['code' => 201, 'msg' => '限定礼物已添加', 'data' => null];
}
Db::startTrans();
try {
//添加
$insert = [];
$insert['stage'] = $data['stage'];
$insert['gid'] = $data['gid'];
$insert['time_long'] = $data['time_long'];
$insert['tid'] = 102;
$insert['add_time'] = time();
$insert['bind_rate'] = $data['bind_rate'];
$reslut = db::name('blind_box_config')->insert($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//修改配置
public function edit_config($data)
{
if(empty($data['stage'])) {
return ['code' => 201, 'msg' => '请选择阶段', 'data' => null];
}
if(empty($data['gid'])) {
return ['code' => 201, 'msg' => '请选择限定礼物', 'data' => null];
}
if(empty($data['time_long'])) {
return ['code' => 201, 'msg' => '请输入限定礼物增加时长', 'data' => null];
}
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['gid', '=', $data['gid']];
$map[] = ['stage', '=', $data['stage']];
$map[] = ['id', 'neq', $data['id']];
$info = db::name('blind_box_config')->where($map)->find();
if($info){
return ['code' => 201, 'msg' => '限定礼物已添加', 'data' => null];
}
Db::startTrans();
try {
//添加
$insert = [];
$insert['stage'] = $data['stage'];
$insert['gid'] = $data['gid'];
$insert['time_long'] = $data['time_long'];
$insert['update_time'] = time();
$insert['bind_rate'] = $data['bind_rate'];
$reslut = db::name('blind_box_config')->where('id', $data['id'])->update($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取配置信息
public function get_config_info($id)
{
$map = [];
$map[] = ['id', '=', $id];
$config_info = db::name('blind_box_config')->where($map)->find();
if (empty($config_info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => ''];
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $config_info];
}
public function del_config($id)
{
$map = [];
$map[] = ['id', '=', $id];
$config_info = db::name('blind_box_config')->where($map)->find();
if (empty($config_info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => ''];
}
Db::startTrans();
try {
$result = db::name('blind_box_config')->where('id', $id)->delete();
if(!$result){
Db::rollback();
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} catch (\Exception $e) {
dump($e);
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//阶段列表
public function get_stage_list($pattern_id, $page = 1, $limit = 20)
{
$map = [];
if ($pattern_id) {
$map[] = ['pattern_id', '=', $pattern_id];
}
$list = db::name('blind_box_stage')->alias('a')
->leftJoin('gift b', 'a.gid = b.gid')
->leftJoin('gift c', 'a.gid_r = c.gid')
->field('a.*,b.gift_name,b.gift_price,b.base_image,c.gift_price as gift_price_r,c.gift_name as gift_name_r')
->where($map)->order('id desc')
->page($page, $limit)->select();
foreach ($list as &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
}
$data = [];
$data['count'] = db::name('blind_box_stage')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function edit_stage($data)
{
if(empty($data['num'])) {
if ($data['id'] != 1) {
return ['code' => 201, 'msg' => '请输入阶段数量', 'data' => null];
}
}
if (empty($data['gid'])) {
return ['code' => 201, 'msg' => '请选择奖励礼物', 'data' => null];
}
$map = [];
$map[] = ['num', '=', $data['num']];
$map[] = ['id', 'neq', $data['id']];
$info = db::name('blind_box_stage')->where($map)->find();
if($info){
return ['code' => 201, 'msg' => '阶段数量已添加', 'data' => null];
}
Db::startTrans();
try {
//添加
$insert = [];
$insert['num'] = $data['num'];
$insert['update_time'] = time();
$insert['gid'] = $data['gid'];
$insert['gid_r'] = $data['gid_r'];
$reslut = db::name('blind_box_stage')->where('id', $data['id'])->update($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
dump($e);
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取阶段信息
public function get_stage_info($id)
{
$map = [];
$map[] = ['id', '=', $id];
$config_info = db::name('blind_box_stage')->where($map)->find();
if (empty($config_info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => ''];
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $config_info];
}
//获取期数
public function get_term_list($status, $page = 1, $limit = 20)
{
$map = [];
$map[] = ['a.is_delete', '=', 1];
if ($status) {
$map[] = ['a.status', '=', $status];
}
$list = db::name('blind_box_term')->alias('a')
->leftJoin('box_type b', 'a.tid = b.tid')
->field('a.*,b.show_name')
->where($map)->order('id desc')
->page($page, $limit)->select();
$data = [];
$data['count'] = db::name('blind_box_term')->alias('a')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//添加期数
public function add_term($data)
{
if(empty($data['time_long'])) {
return ['code' => 201, 'msg' => '请输入时长', 'data' => null];
}
$map = [];
$map[] = ['status', '=', 1];
$map[] = ['is_delete', '=', 1];
$info = db::name('blind_box_term')->where($map)->find();
if($info){
return ['code' => 201, 'msg' => '已存在未开启活动,请勿重新添加', 'data' => null];
}
try {
//添加
$insert = [];
$insert['time_long'] = $data['time_long'];
$insert['tid'] = 102;
$insert['add_time'] = time();
$result = db::name('blind_box_term')->insert($insert);
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} catch (\Exception $e) {
dump($e);
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//修改期数
public function edit_term($data)
{
$term_info = Db::name('blind_box_term')->find($data['id']);
if(empty($term_info)){
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
if ($term_info['status'] != 1) {
return ['code' => 201, 'msg' => '该期已启用,无法修改', 'data' => null];
}
if(empty($data['time_long'])) {
return ['code' => 201, 'msg' => '请输入活动时长', 'data' => null];
}
try {
//添加
$insert = [];
$insert['time_long'] = $data['time_long'];
$insert['update_time'] = time();
$result = db::name('blind_box_term')->where('id', $data['id'])->update($insert);
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取期数信息
public function get_term_info($id)
{
$map = [];
$map[] = ['id', '=', $id];
$config_info = db::name('blind_box_term')->where($map)->find();
if (empty($config_info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => ''];
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $config_info];
}
public function del_term($id)
{
$map = [];
$map[] = ['id', '=', $id];
$term_info = db::name('blind_box_term')->where($map)->find();
if (empty($term_info)) {
return ['code' => 201, 'msg' => '期数不存在', 'data' => ''];
}
if ($term_info['status'] != 1) {
return ['code' => 201, 'msg' => '该期已启用,无法删除', 'data' => null];
}
try {
$result = db::name('blind_box_term')->where('id', $id)->update(['is_delete' => 2, 'delete_time' => time()]);
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} catch (\Exception $e) {
dump($e);
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//开启活动
public function open_term($id)
{
$map = [];
$map[] = ['id', '=', $id];
$map[] = ['is_delete', '=', 1];
$term_info = db::name('blind_box_term')->where($map)->find();
if (empty($term_info)) {
return ['code' => 201, 'msg' => '期数不存在', 'data' => ''];
}
if ($term_info['status'] != 1) {
return ['code' => 201, 'msg' => '该期已启用,无法开启', 'data' => null];
}
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['status', '=', 2];
$has_open_term = db::name('blind_box_term')->where($map)->find();
if($has_open_term){
return ['code' => 201, 'msg' => '已有进行中的期数,请勿重复开启', 'data' => null];
}
//获取锁定礼物
$lock_gift_list = db::name('blind_box_config')
->where('tid', 102)
->select();
$lock_gid_arr = [];
$lock_stage_gid_list = [];
foreach($lock_gift_list as $v) {
if ($v['stage'] > 0) {
if($v['bind_rate'] > 0) {
for($i=1; $i<=$v['bind_rate']; $i++) {
$lock_gid_arr[$v['stage']][] = $v['gid'];
}
} else {
$lock_gid_arr[$v['stage']][] = $v['gid'];
}
$lock_stage_gid_list[$v['stage'] . '-' . $v['gid']] = $v;
}
}
$stage_list = Db::name('blind_box_stage')->order('stage asc')->select();
$params = [];
foreach ($stage_list as $v) {
$stage = $v['stage'];
$gid_arr = $lock_gid_arr[$v['stage']] ?? [];
if (empty($gid_arr)) {
return ['code' => 201, 'msg' => '阶段' . $stage . '未配置礼物', 'data' => null];
}
shuffle($gid_arr);
$gid = $gid_arr[array_rand($gid_arr)];
$gid_info = $lock_stage_gid_list[$stage . '-' . $gid] ?? [];
if (empty($gid_info)) {
return ['code' => 201, 'msg' => '阶段' . $stage . '未配置礼物', 'data' => null];
}
$temp = [
'term_id' => $id,
'gid' => $gid,
'num' => $v['num'],
'multi' => $v['multi'],
'time_long' => $gid_info['time_long'],
'stage' => $v['stage'],
'add_time' => time(),
'pattern_id' => $v['pattern_id'],
'reward_gid' => $v['gid'],
'reward_gid_r' => $v['gid_r'],
];
$params[] = $temp;
}
$end_time = $term_info['time_long'] * 60;
$end_time = $end_time + time();
$update_data = [
'status' => 2,
'start_time' => time(),
'end_time' => $end_time,
'real_end_time' => $end_time,
'update_time' => time(),
'pattern_id' => 1,
];
Db::startTrans();
try {
Db::name('blind_box_term')->where('id', $id)->update($update_data);
Db::name('blind_box_term_params')->insertAll($params);
Db::commit();
$push_data = [
'code' => 312,
'msg' => '盲盒巡乐开始',
'data' => [
'term_id' => $id,
'over_time' => $term_info['time_long'] * 60
]
];
model('api/WebSocketPush')->send_to_all($push_data);
return ['code' => 200, 'msg' => '开启成功', 'data' => null];
} catch (\Exception $e) {
Db::rollback();
// dump($e);
// 回滚事务
return ['code' => 201, 'msg' => '开启失败', 'data' => null];
}
}
}

View File

@@ -0,0 +1,214 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class Block extends Model
{
public function get_block_list($type, $type_text, $is_delete, $page = 1, $limit = 20)
{
$map = [];
if(!empty($type)){
$map[] = ['type', '=', $type];
}
if(!empty($type_text)){
$map[] = ['type_text', '=', $type_text];
}
if(!empty($is_delete)){
$map[] = ['is_delete', '=', $is_delete];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('block')->where($map)->order('id desc')->page($page, $limit)->select();
foreach ($list as $k => &$v) {
}
$data = [];
$data['count'] = db::name('block')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function add_block($aid, $data)
{
if(empty($data['type_text'])){
return ['code' => 201, 'msg' => '封禁内容不能为空', 'data' => null];
}
// if(empty($data['block_note'])){
// return ['code' => 201, 'msg' => '封禁原因不能为空', 'data' => null];
// }
// if(empty($data['block_time'])){
// return ['code' => 201, 'msg' => '封禁截止日期不能为空', 'data' => null];
// }
// $block_time = $data['block_time'];
// $data['block_time'] = strtotime($data['block_time']);
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['type', '=', $data['type']];
$map[] = ['type_text', '=', $data['type_text']];
$info = db::name('block')->where($map)->find();
if($info){
return ['code' => 201, 'msg' => '当前封禁内容已添加', 'data' => null];
}
Db::startTrans();
try {
//添加
$insert = [];
$insert['aid'] = $aid;
$insert['type'] = $data['type'];
$insert['type_text'] = $data['type_text'];
// $insert['block_time'] = $data['block_time'];
// $insert['block_note'] = $data['block_note'];
$insert['add_time'] = time();
$reslut = db::name('block')->insert($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} catch (\Exception $e) {
dump($e);
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
public function del_block($id)
{
$map = [];
$map[] = ['id', '=', $id];
$block_info = db::name('block')->where($map)->find();
if (empty($block_info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => ''];
}
Db::startTrans();
try {
//删除封禁
$update = [];
$update['is_delete'] = 2;
$update['update_time'] = time();
$reslut = db::name('block')->where('id', $id)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '解封失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '解封成功', 'data' => null];
} catch (\Exception $e) {
dump($e);
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => '解封失败', 'data' => null];
}
}
//定时任务 房间解禁
public function close_room_unfreeze(){
$now_time = time();
$map = [];
$map[] = ['room_status', '=', 2];
$map[] = ['block_time', '<=', $now_time];
$block_room_list = db::name('room')->where($map)->select();
if($block_room_list){
foreach ($block_room_list as $k => $v){
Db::startTrans();
try {
//解禁房间
$update = [];
$update['room_status'] = 1;
$update['block_time'] = 0;
$update['block_note'] = '';
$update['update_time'] = $now_time;
$reslut = db::name('room')->where('rid', $v['rid'])->update($update);
if(!$reslut){
Db::rollback();
}
//删除解禁记录
$where = [];
$where[] = ['rid', '=', $v['rid']];
$where[] = ['is_delete', '=', 1];
$update = [];
$update['is_delete'] = 2;
$update['update_time'] = $now_time;
$reslut = db::name('room_block_log')->where($where)->update($update);
if(!$reslut){
Db::rollback();
}
Db::commit();
} catch (\Exception $e) {
dump($e);
// 回滚事务
Db::rollback();
}
}
}
return true;
}
//定时任务 用户解禁
public function close_user_unfreeze(){
$now_time = time();
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['block_time', '<=', $now_time];
$block_user_list = db::name('block')->where($map)->select();
if($block_user_list){
foreach ($block_user_list as $k => $v){
Db::startTrans();
try {
if($v['type'] == 2){//解封账号
$map = [];
$map[] = ['user_name', '=', $v['type_text']];
$update = [];
$update['login_status'] = 1;
$update['update_time'] = time();
$reslut = db::name('user')->where($map)->update($update);
if(!$reslut){
Db::rollback();
}
}
//解封记录
$update = [];
$update['is_delete'] = 2;
$update['update_time'] = time();
$reslut = db::name('block')->where('id', $v['id'])->update($update);
if(!$reslut){
Db::rollback();
}
Db::commit();
} catch (\Exception $e) {
dump($e);
// 回滚事务
Db::rollback();
}
}
}
return true;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,119 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class BoxGiveGift extends Model
{
protected $pk = 'id';
protected $auto = ['update_time'];
protected $insert = [
'add_time',
];
protected $update = ['update_time'];
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
public function get_box_give_gift_list($uid, $gid, $gift_name, $give_status, $deduction_status, $start, $give, $deduction, $page = 1, $limit = 20)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
if (!empty($gid)) {
$map[] = ['a.gid', '=', $gid];
}
if(!empty($gift_name)){
$map[] = ['b.gift_name', 'like', '%'.$gift_name.'%'];
}
if(!empty($give_status)){
$map[] = ['a.give_status', '=', $give_status];
}
if(!empty($deduction_status)){
$map[] = ['a.deduction_status', '=', $deduction_status];
}
if(!empty($start)){
$map[] = ['a.add_time', '>=', strtotime($start)];
}
if(!empty($give)){
$map[] = ['a.give_time', '>=',strtotime($give)];
}
if(!empty($deduction)){
$map[] = ['a.deduction_time', '>=', strtotime($deduction)];
}
$list = db::name('box_give_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('a.*, b.gift_name, b.gift_price, b.base_image')->where($map)->order('id', 'desc')->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->field('uid,user_name,nick_name,base64_nick_name')->where('uid', $v['uid'])->find();
$box_type_info = db::name('box_type')->find($v['tid']);
$v['type_name'] = $box_type_info['type_name'];
$v['rid'] = db::name('room')->where('rid',$v['rid'])->value('room_number');
// $gift_info = db::name('gift')->find($v['gid']);
// if (!empty($gift_info)) {
// $v['gift_name'] = $gift_info['gift_name'];
// $v['gift_price'] = $gift_info['gift_price'];
// $v['base_image'] = localpath_to_netpath($gift_info['base_image']);
// } else {
// $v['gift_name'] = '';
// $v['gift_price'] = 0;
// }
$v['base_image'] = localpath_to_netpath($v['base_image']);
$v['user_name'] = $user_info['user_name'];
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
}
$data = [];
$data['list'] = $list;
$totalRowData = db::name('box_give_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('count(1) as count,SUM(a.num) as num')->where($map)->find();
$data['count'] = $totalRowData['count'];
unset($totalRowData['count']);
//dump($totalRowData);
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function add_give_gift($data)
{
$data['num'] = 1;
$validate = validate('admin/BoxGiveGift');
$reslut = $validate->scene('adminAdd')->check($data);
if ($reslut !== true) {
return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
}
$BoxGiveGift = model('admin/BoxGiveGift');
$reslut = $BoxGiveGift->save($data);
if ($reslut) {
return ['code' => 200, 'msg' => '添加成功', 'data' => ''];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => ''];
}
}
public function cancel_give_gift($id)
{
$give_gift = db::name('box_give_gift')->find($id);
if($give_gift['is_admin'] == 2){
return ['code' => 201, 'msg' => '厅主发放不能删除', 'data' => ''];
}
$map = [];
$map[] = ['id', '=', $id];
$map[] = ['give_status', '=', 1];
$data = [];
$data['give_status'] = 3;
$data['canel_time'] = time();
$reslut = db::name('box_give_gift')->where($map)->update($data);
if (!$reslut) {
return ['code' => 201, 'msg' => '更新失败', 'data' => ''];
}
return ['code' => 200, 'msg' => '更新成功', 'data' => ''];
}
}

View File

@@ -0,0 +1,26 @@
<?php
namespace app\admin\model;
use think\Model;
class BoxType extends Model
{
protected $pk = 'tid';
protected $auto = ['update_time'];
protected $insert = [
'add_time',
];
protected $update = ['update_time'];
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,128 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class Config extends Model
{
//获取配置参数
public function get_system_config($key = "")
{
$config = Db::name('config')->cache(10)->order('sort desc')->select();
$config_data = [];
foreach ($config as $k => $v) {
$config_data[$v['key_title']] = $v['key_value'];
}
if (empty($key)) {
return $config_data;
} else {
if (!isset($config_data[$key]) || $config_data[$key] == "") {
return ajaxReturn(201, '配置参数:' . $key . '不存在', null);
}
return $config_data[$key];
}
}
//无缓存获取配置参数
public function get_uncache_system_config($key = "")
{
$config = Db::name('config')->order('sort desc')->select();
$config_data = [];
foreach ($config as $k => $v) {
$config_data[$v['key_title']] = $v['key_value'];
}
if (empty($key)) {
return $config_data;
} else {
if (!isset($config_data[$key]) || $config_data[$key] == "") {
return ajaxReturn(201, '配置参数:' . $key . '不存在', null);
}
return $config_data[$key];
}
}
//配置列表
public function config_list($cid, $key_name, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($cid)) {
$map[] = ['cid', '=', $cid];
}
if (!empty($key_name)) {
$map[] = ['key_name|key_value', 'like', '%' . $key_name . '%'];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('config')->where($map)->order($order, $sort)->page($page, $limit)->select();
$data = [];
$data['count'] = db::name('config')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑配置
public function edit_config($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('config')->find($data['cid']);
if (empty($info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
// $update_data['key_title'] = $data['key_title'];
// $update_data['key_name'] = $data['key_name'];
$update_data['key_value'] = $data['key_value'];
$update_data['key_desc'] = $data['key_desc'];
$update_data['update_time'] = time();
$reslut = db::name('config')->where(['cid' => $data['cid']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加配置
public function add_config($data)
{
$add_data = [];
$add_data['key_title'] = $data['key_title'];
$add_data['key_name'] = $data['key_name'];
$add_data['key_value'] = $data['key_value'];
$add_data['key_desc'] = $data['key_desc'];
$add_data['update_time'] = time();
$reslut = db::name('config')->insert($add_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取配置信息
public function config_info($cid)
{
if (empty($cid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gift_info = db::name('config')->where(['cid' => $cid])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $gift_info];
}
//删除配置
public function del_config($cid)
{
return ['code' => 201, 'msg' => '操作已禁止', 'data' => null];
if (empty($cid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('config')->where(['cid' => $cid])->delete();
if ($reslut) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
}

View File

@@ -0,0 +1,502 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class Decorate extends Model
{
//获取装扮列表
public function get_decorate_list($title, $type, $page = 1, $limit = 20)
{
$map = [];
if (!empty($type)) {
$map[] = ['type', '=', $type];
}
if (!empty($title)) {
$map[] = ['title', 'like', '%' . $title . '%'];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('decorate')->where($map)->order('did desc')->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
$v['play_image'] = localpath_to_netpath($v['play_image']);
}
$data = [];
$data['count'] = db::name('decorate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_decorates_list()
{
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['type', 'in', [1,2,4,5]];
$list = db::name('decorate')->where($map)->order('did', 'asc')->select();
$data = [];
$data['count'] = db::name('decorate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑装扮
public function add_decorate_info($title, $type, $base_image, $play_image, $day, $price, $show_status, $file_type, $plays_image, $is_buy)
{
// $map = [];
// $map[] = ['did', '=', $did];
// $map[] = ['is_delete', '=', 1];
// $info = db::name('decorate')->where($map)->find();
// if (empty($info)) {
// return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
// }
if (!in_array($type, [1, 2, 3, 4, 5,6,7,9])) {
return ['code' => 201, 'msg' => '装扮类型参数非法', 'data' => null];
}
$special_num = input('special_num', 0);
$data = [];
$data['title'] = $title;
$data['type'] = $type;
$data['base_image'] = $base_image;
// $data['play_image'] = $play_image;
$data['file_type'] = $file_type;
if($file_type == 1){
$data['play_image'] = $play_image;
}else{
$data['play_image'] = $plays_image;
}
// $data['day'] = $day;
// $data['price'] = $price;
$data['is_buy'] = $is_buy;
$data['show_status'] = $show_status;
$data['is_delete'] = 1;
$data['delete_time'] = 0;
$data['add_time'] = time();
$data['update_time'] = time();
if($type == 6 || $type == 7) {
if(empty($special_num)) {
return ['code' => 201, 'msg' => '请输入靓号号码', 'data' => null];
}
$map = [];
$map[] = ['special_num', '=', $special_num];
$map[] = ['is_delete', '=', 1];
$count = Db::name('decorate')->where($map)->count();
if($count > 0) {
return ['code' => 201, 'msg' => '靓号已存在', 'data' => null];
}
} else {
$special_num = 0;
}
$data['special_num'] = $special_num;
$status = db::name('decorate')->insert($data);
if ($status) {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//编辑装扮
public function get_decorate_info($did)
{
$map = [];
$map[] = ['did', '=', $did];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
$info['http_base_image'] = localpath_to_netpath($info['base_image']);
$info['http_play_image'] = localpath_to_netpath($info['play_image']);
$info['plays_image'] = $info['play_image'];
return ['code' => 200, 'msg' => '编辑成功', 'data' => $info];
}
public function edit_decorate_info($did, $title, $type, $base_image, $play_image, $show_status, $day, $price, $file_type, $plays_image, $is_buy)
{
$map = [];
$map[] = ['did', '=', $did];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
if (!in_array($type, [1, 2, 3, 4, 5, 6, 7,9])) {
return ['code' => 201, 'msg' => '装扮类型参数非法', 'data' => null];
}
if (!in_array($show_status, [1, 2])) {
return ['code' => 201, 'msg' => '显示状态参数非法', 'data' => null];
}
$special_num = input('special_num', 0);
//修改用户装扮表对应装扮类型
$data = [];
$data['type'] = $type;
$data['update_time'] = time();
$map = [];
$map[] = ['did', '=', $did];
db::name('user_decorate')->where($map)->update($data);
$data = [];
$data['title'] = $title;
$data['type'] = $type;
$data['base_image'] = $base_image;
// $data['play_image'] = $play_image;
$data['file_type'] = $file_type;
if($file_type == 1){
$data['play_image'] = $play_image;
}else{
$data['play_image'] = $plays_image;
}
$data['show_status'] = $show_status;
// $data['day'] = $day;
// $data['price'] = $price;
$data['is_buy'] = $is_buy;
$data['update_time'] = time();
if($type == 6 || $type == 7) {
if(empty($special_num)) {
return ['code' => 201, 'msg' => '请输入靓号号码', 'data' => null];
}
$map = [];
$map[] = ['special_num', '=', $special_num];
$map[] = ['is_delete', '=', 1];
$map[] = ['did', 'neq', $did];
$count = Db::name('decorate')->where($map)->count();
if($count > 0) {
return ['code' => 201, 'msg' => '靓号已存在', 'data' => null];
}
} else {
$special_num = 0;
}
$data['special_num'] = $special_num;
$map = [];
$map[] = ['did', '=', $did];
$status = db::name('decorate')->where($map)->update($data);
if ($status) {
return ['code' => 200, 'msg' => '编辑成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '编辑失败', 'data' => null];
}
}
//删除装扮
public function delete_decorate_info($did)
{
$map = [];
$map[] = ['did', '=', $did];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
$data = [];
$data['is_delete'] = 2;
$data['delete_time'] = time();
$map = [];
$map[] = ['did', '=', $did];
$status = db::name('decorate')->where($map)->update($data);
if ($status) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//清理过期装扮
public function clear_user_decorate()
{
$map = [];
$map[] = ['end_time', '<', time()];
$map[] = ['is_perpetual', '=', 2];
$list = Db::name('user_decorate')->where($map)->select();
Db::startTrans();
try {
foreach($list as $v) {
if($v['type'] == 7 && $v['rid'] > 0 && $v['is_using'] == 1) {
Db::name('room')->where('rid', $v['rid'])->update(['pretty_room_number' => 0]);
}
if($v['type'] == 6 && $v['is_using'] == 1) {
Db::name('user')->where('uid', $v['uid'])->update(['special_uid' => 0]);
}
if($v['type'] == 7 || $v['type'] == 6) {
db::name('decorate')->where(['did' => $v['did']])->update(['is_user_buy' => 2]);
}
}
db::name('user_decorate')->where($map)->delete();
// 提交事务
Db::commit();
return ['code' => 200, 'msg' => "成功", 'data' => null];
} catch (\Exception $e) {
Db::rollback();
dump($e);
// 回滚事务
return ['code' => 201, 'msg' => "失败5", 'data' => null];
}
return '清理成功';
}
public function give_user_decorate($uid, $did, $day)
{
if ($day < 1) {
return ['code' => 201, 'msg' => '赠送至少一天', 'data' => null];
}
$map = [];
$map[] = ['did', '=', $did];
$map[] = ['is_delete', '=', 1];
$decorate_info = db::name('decorate')->where($map)->find();
if (empty($decorate_info)) {
return ['code' => 201, 'msg' => '装扮信息不存在', 'data' => null];
}
if($decorate_info['is_user_buy'] == 1){
return ['code' => 201, 'msg' => '该装扮已无法赠送', 'data' => null];
}
$user_info = db::name('user')->where('uid', $uid)->find();
if (empty($user_info)) {
return ['code' => 201, 'msg' => '用户信息不存在', 'data' => null];
}
$map = [];
$map[] = ['uid', '=', $uid];
$map[] = ['did', '=', $did];
$user_decorate_data = db::name('user_decorate')->where($map)->find();
if (empty($user_decorate_data)) {
$data = [];
$data['uid'] = $uid;
$data['did'] = $did;
$data['type'] = $decorate_info['type'];
$data['is_using'] = 2;
$now_time = time();
$data['special_num'] = $decorate_info['special_num'];
$data['end_time'] = $now_time + $day * 24 * 3600;
$data['add_time'] = $now_time;
$data['update_time'] = $now_time;
db::name('user_decorate')->insert($data);
} else {
$change_time = $day * 24 * 3600;
db::name('user_decorate')->where('udid', $user_decorate_data['udid'])->setInc('end_time', $change_time);
}
if($decorate_info['type'] == 6 || $decorate_info['type'] == 7){
Db::name('decorate')->where('did', $decorate_info['did'])->update(['is_user_buy' => 1, 'update_time' => time()]);
}
return ['code' => 200, 'msg' => '赠送成功', 'data' => null];
}
public function get_user_decorate_list($uid, $did, $type, $page, $page_limit)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
if (!empty($did)) {
$map[] = ['a.did', '=', $did];
}
if (!empty($type)) {
$map[] = ['a.type', '=', $type];
}
$map[] = ['b.is_delete', '=', 1];
$model = Db::name('user_decorate')->alias('a')->join('yy_decorate b', 'a.did = b.did');
$model = $model->where($map);
$list = $model->order('udid desc')->page($page, $page_limit)->select();
foreach ($list as $k => &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
$v['play_image'] = localpath_to_netpath($v['play_image']);
$user_info = db::name('user')->find($v['uid']);
$v['nick_name'] = base64_decode($user_info['base64_nick_name']);
}
$data = [];
$data['count'] = $model->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function delete_user_decorate($udid)
{
return ['code' => 201, 'msg' => '无法操作', 'data' => null];
$map = [];
$map[] = ['udid', '=', $udid];
db::name('user_decorate')->where($map)->delete();
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
public function get_head_decorate_list(){
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['type', '=', 1];
$list = db::name('decorate')->where($map)->order('did', 'asc')->select();
$data = [];
$data['count'] = db::name('decorate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_mount_decorate_list(){
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['type', '=', 2];
$list = db::name('decorate')->where($map)->order('did', 'asc')->select();
$data = [];
$data['count'] = db::name('decorate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_cp_tx_list(){
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['type', '=', 9];
$list = db::name('decorate')->where($map)->order('did', 'asc')->select();
$data = [];
$data['count'] = db::name('decorate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_wind_decorate_list(){
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['type', '=', 3];
$list = db::name('decorate')->where($map)->order('did', 'asc')->select();
$data = [];
$data['count'] = db::name('decorate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取装扮价位列表
public function get_decorate_price_list($did, $page = 1, $limit = 20)
{
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['did', '=', $did];
$list = db::name('decorate_price')->where($map)->order('id desc')->page($page, $limit)->select();
$data = [];
$data['count'] = db::name('decorate_price')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//添加装扮价位
public function add_decorate_price($did, $price, $day)
{
$map = [];
$map[] = ['did', '=', $did];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
//该装扮价位天数是否存在
$map = [];
$map[] = ['did', '=', $did];
$map[] = ['day', '=', $day];
$map[] = ['is_delete', '=', 1];
$decorate_price_info = db::name('decorate_price')->where($map)->find();
if($decorate_price_info){
return ['code' => 201, 'msg' => '该装扮天数已存在', 'data' => null];
}
$data = [];
$data['did'] = $did;
$data['price'] = $price;
$data['day'] = $day;
$data['is_delete'] = 1;
$data['add_time'] = time();
$status = db::name('decorate_price')->insert($data);
if ($status) {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//装扮价位详情
public function decorate_price_info($id)
{
$map = [];
$map[] = ['id', '=', $id];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate_price')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
return ['code' => 200, 'msg' => '编辑成功', 'data' => $info];
}
//编辑装扮价位
public function edit_decorate_price($id, $price, $day)
{
$map = [];
$map[] = ['id', '=', $id];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate_price')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
//该装扮价位天数是否存在
$map = [];
$map[] = ['did', '=', $info['did']];
$map[] = ['id', 'neq', $id];
$map[] = ['day', '=', $day];
$map[] = ['is_delete', '=', 1];
$decorate_price_info = db::name('decorate_price')->where($map)->find();
if($decorate_price_info){
return ['code' => 201, 'msg' => '该装扮天数已存在', 'data' => null];
}
$data = [];
$data['price'] = $price;
$data['day'] = $day;
$data['update_time'] = time();
$map = [];
$map[] = ['id', '=', $id];
$status = db::name('decorate_price')->where($map)->update($data);
if ($status) {
return ['code' => 200, 'msg' => '编辑成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '编辑失败', 'data' => null];
}
}
//删除装扮
public function del_decorate_price($id)
{
$map = [];
$map[] = ['id', '=', $id];
$map[] = ['is_delete', '=', 1];
$info = db::name('decorate_price')->where($map)->find();
if (empty($info)) {
return ['code' => 201, 'msg' => '信息不存在', 'data' => null];
}
$data = [];
$data['is_delete'] = 2;
$data['update_time'] = time();
$map = [];
$map[] = ['id', '=', $id];
$status = db::name('decorate_price')->where($map)->update($data);
if ($status) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
}

View File

@@ -0,0 +1,201 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Envelope extends Model
{
//发红包列表
public function give_red_envelope_list($id, $tid, $type, $uid, $order, $sort, $page, $limit){
$map = [];
if(!empty($id)){
$map[] = ['id', '=', $id];
}
if(!empty($tid)){
$map[] = ['tid', '=', $tid];
}
if(!empty($type)){
$map[] = ['type', '=', $type];
}
if(!empty($uid)){
$map[] = ['uid', '=', $uid];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('red_envelope')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v){
$v['envelope_price'] = $v['money'] - $v['price'];
}
$data = [];
$data['count'] = db::name('red_envelope')->where($map)->count();
$data['list'] = $list;
$totalRowData = db::name('red_envelope')->where($map)->field('SUM(money) as money,SUM(price) as price,SUM(money - price) as envelope_price')->find();
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//发红包
public function give_red_envelope($aid, $tid, $num, $secondary_password){
if(empty($tid)){
return ['code' => 201, 'msg' => '尚未选择红包类型', 'data' => null];
}
if($num < 1){
return ['code' => 201, 'msg' => '红包数量不能小于1', 'data' => null];
}
if(empty($secondary_password)){
return ['code' => 201, 'msg' => '二级密码不能为空', 'data' => null];
}else{
if($secondary_password != '147369'){
return ['code' => 201, 'msg' => '二级密码错误', 'data' => null];
}
}
$config = get_system_config();
//红包功能是否已关
if($tid == 1){
if($config['open_silver_envelope'] != 1){
return ['code' => 201, 'msg' => '该功能已关闭', 'data' => null];
}
}else if($tid == 2){
if($config['open_gold_envelope'] != 1){
return ['code' => 201, 'msg' => '该功能已关闭', 'data' => null];
}
}else if($tid == 3){
if($config['open_drill_envelope'] != 1){
return ['code' => 201, 'msg' => '该功能已关闭', 'data' => null];
}
}
//红包是否正在进行
$map = [];
$map[] = ['tid', '=', $tid];
$map[] = ['is_finish', '=', 2];
$map[] = ['is_delete', '=', 1];
$map[] = ['is_stop', '=', 2];
$envelope_info = db::name('red_envelope')->where($map)->find();
if($envelope_info){
return ['code' => 201, 'msg' => '该红包尚未结束', 'data' => null];
}
//该种类红包是否存在
$map = [];
$map[] = ['id', '=', $tid];
$envelope_type_info = db::name('envelope_type')->where($map)->find();
if(!$envelope_type_info){
return ['code' => 201, 'msg' => '该红包类型不存在', 'data' => null];
}
Db::startTrans();
try {
$insert_data = [];
$insert_data['tid'] = $tid;
$insert_data['uid'] = $aid;
$insert_data['type'] = 1;
$insert_data['money'] = $envelope_type_info['price'];
$insert_data['price'] = $insert_data['money'] * (1 - $config['envelope_rate']);
$insert_data['num'] = $num;
$insert_data['open_num'] = 0;
$insert_data['add_time'] = time();
$envelope_id = db::name('red_envelope')->insertGetId($insert_data);
if(!$envelope_id){
Db::rollback();
return ['code' => 201, 'msg' => "请重试", 'data' => null];
}
//生成红包金额队列
$redis = connectionRedis();
if($tid == 1){
$key_name = "silver:envelope:key:name:". $envelope_id;
}else if($tid == 2){
$key_name = "gold:envelope:key:name:" . $envelope_id;
}else if($tid == 3){
$key_name = "drill:envelope:key:name:" . $envelope_id;
}
$redis->del($key_name);
$envelope_price_array = model('api/Envelope')->red_envelope_create_money(1, 500, $num, $insert_data['price']);
$envelope_insert_data = $envelope_price_array;
array_unshift($envelope_insert_data, $key_name);
call_user_func_array([$redis, 'rPush'], $envelope_insert_data);
Db::commit();
$push_all_envelope_data = [];
$push_all_envelope_data['type'] = $tid;
$push_all_envelope_data['type_name'] = $envelope_type_info['type_name'];
$push_all_envelope_data['num'] = $num;
$push_all_envelope_data['second'] = 10;
//推送socket
$push_data = [];
$push_data['code'] = 410;
$push_data['msg'] = "发红包开始数据播报";
$push_data['data'] = $push_all_envelope_data;
model('api/WebSocketPush')->send_to_all($push_data);
return ['code' => 200, 'msg' => '成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
//抢红包记录
public function get_user_red_envelope_log_list($rid, $room_number, $room_name, $uid, $eid, $tid, $time1, $time2, $order, $sort, $page, $limit){
$map = [];
if(!empty($rid)){
$map[] = ['a.rid', '=', $rid];
}
if(!empty($room_number)){
$map[] = ['c.room_number', '=', $room_number];
}
if(!empty($room_name)){
$map[] = ['c.room_name', 'like', '%'. $room_name .'%'];
}
if(!empty($uid)){
$map[] = ['a.uid', '=', $uid];
}
if(!empty($eid)){
$map[] = ['a.eid', '=', $eid];
}
if(!empty($tid)){
$map[] = ['a.tid', '=', $tid];
}
if (!empty($time1)) {
$time1 = strtotime($time1);
$map[] = ['a.add_time', '>=', $time1];
}
if (!empty($time2)) {
$time2 = strtotime($time2);
$map[] = ['a.add_time', '<=', $time2];
}
$list = db::name('user_red_envelope_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_room c', 'a.rid = c.rid')->field('a.id,a.uid,a.rid,a.tid,a.eid,a.money,a.price,a.envelope_price,a.snatch_price,a.room_price,a.add_time,a.is_lucky,b.base64_nick_name,c.base64_room_name,c.room_name,c.room_number')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v){
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['room_name'] = mb_convert_encoding(base64_decode($v['base64_room_name']), 'UTF-8', 'UTF-8');
}
$data = [];
$data['count'] = db::name('user_red_envelope_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_room c', 'a.rid = c.rid')->where($map)->count();
$data['list'] = $list;
$totalRowData = db::name('user_red_envelope_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_room c', 'a.rid = c.rid')->field('count(a.id) as count,SUM(a.snatch_price) as snatch_price,SUM(a.room_price) as room_price')->where($map)->find();
unset($totalRowData['count']);
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -0,0 +1,324 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Gift extends Model
{
//礼物列表
public function gift_list($gid, $gift_name, $gift_price, $is_public_screen, $is_public_server, $is_show, $is_can_buy, $order, $sort, $page = 1, $limit = 20, $type)
{
$map = [];
if (!empty($gid)) {
$map[] = ['gid', '=', $gid];
}
if (!empty($gift_name)) {
$map[] = ['gift_name', 'like', '%' . $gift_name . '%'];
}
if (!empty($gift_price)) {
$map[] = ['gift_price', '=', $gift_price];
}
if (!empty($is_public_screen)) {
$map[] = ['is_public_screen', '=', $is_public_screen];
}
if (!empty($is_public_server)) {
$map[] = ['is_public_server', '=', $is_public_server];
}
if (!empty($is_show)) {
$map[] = ['is_show', '=', $is_show];
}
if (!empty($is_can_buy)) {
$map[] = ['is_can_buy', '=', $is_can_buy];
}
if(!empty($type)){
$map[] = ['type', '=', $type];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('gift')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
}
$data = [];
$data['count'] = db::name('gift')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑礼物
public function edit_gift($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$room_info = db::name('gift')->find($data['gid']);
if (empty($room_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
// dump($data);exit;
$update_data = [];
$update_data['type'] = $data['type'];
$update_data['gift_type'] = $data['gift_type'];
$update_data['gift_name'] = $data['gift_name'];
$update_data['gift_price'] = $data['gift_price'];
$update_data['base_image'] = $data['base_image'];
$update_data['file_type'] = $data['file_type'];
if($data['file_type'] == 1){
$update_data['play_image'] = $data['play_image'];
}else{
$update_data['play_image'] = $data['plays_image'];
}
$update_data['nid'] = $data['nid'];
$update_data['mid'] = $data['mid'];
$update_data['position'] = $data['position'];
$update_data['pendant_image'] = $data['pendant_image'];
$update_data['is_public_screen'] = $data['is_public_screen'];
$update_data['is_public_server'] = $data['is_public_server'];
$update_data['is_show'] = $data['is_show'];
$update_data['is_can_buy'] = $data['is_can_buy'];
$update_data['sort'] = $data['sort'];
$update_data['update_time'] = time();
$update_data['tag_name'] = trim($data['tag_name']);
$reslut = db::name('gift')->where(['gid' => $data['gid']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加礼物
public function add_gift($data)
{
$add_data = [];
$add_data['type'] = $data['type'];
$add_data['gift_type'] = $data['gift_type'];
$add_data['gift_name'] = $data['gift_name'];
$add_data['gift_price'] = $data['gift_price'];
$add_data['base_image'] = $data['base_image'];
$add_data['file_type'] = $data['file_type'];
// $add_data['play_image'] = $data['play_image'];
if($data['file_type'] == 1){
$add_data['play_image'] = $data['play_image'];
}else{
$add_data['play_image'] = $data['plays_image'];
}
$add_data['nid'] = $data['nid'];
$add_data['mid'] = $data['mid'];
$add_data['position'] = $data['position'];
$add_data['pendant_image'] = $data['pendant_image'];
$add_data['is_public_screen'] = $data['is_public_screen'];
$add_data['is_public_server'] = $data['is_public_server'];
$add_data['is_show'] = $data['is_show'];
$add_data['is_can_buy'] = $data['is_can_buy'];
$add_data['sort'] = $data['sort'];
$add_data['update_time'] = time();
$add_data['add_time'] = time();
$add_data['tag_name'] = trim($data['tag_name']);
$reslut = db::name('gift')->insert($add_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取礼物信息
public function gift_info($gid)
{
if (empty($gid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gift_info = db::name('gift')->where(['gid' => $gid])->find();
$gift_info['http_base_image'] = localpath_to_netpath($gift_info['base_image']);
$gift_info['http_play_image'] = localpath_to_netpath($gift_info['play_image']);
$gift_info['pendant_image_path'] = localpath_to_netpath($gift_info['pendant_image']);
$gift_info['plays_image'] = $gift_info['play_image'];
return ['code' => 200, 'msg' => '获取成功', 'data' => $gift_info];
}
//删除礼物
public function del_gift($gid)
{
if (empty($gid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
if($gid == 37 || $gid == 38 || $gid == 36){
return ['code' => 201, 'msg' => '该礼物无法删除', 'data' => null];
}
$reslut = db::name('gift')->where(['gid' => $gid])->update(['is_delete' => 2, 'delete_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//批量删除礼物
public function batch_delete_gift($data){
if(empty($data)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gid_list = [];
foreach ($data as $k => $v){
if(in_array($v['gid'], [36,37,38])) {
['code' => 201, 'msg' => '包含不能删除礼物', 'data' => null];
}
$gid_list[] = $v['gid'];
}
$map = [];
$map[] = ['gid', 'in', $gid_list];
$date = [];
$date['is_delete'] = 2;
$date['delete_time'] = time();
$reslut = db::name('gift')->where($map)->update($date);
if($reslut){
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}else{
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//列表
public function get_gift_position_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('gift_position')->order($order, $sort)->page($page, $limit)->select();
$data = [];
$data['count'] = db::name('gift_position')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_privacy_gift_list($gid, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($gid)) {
$map[] = ['a.gid', '=', $gid];
}
$map[] = ['a.is_delete', '=', 1];
// $map[] = ['b.is_gift_debris', '=', 2];
$list = db::name('room_privacy_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('b.*, a.id, a.duration')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
}
$data = [];
$data['count'] = db::name('room_privacy_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑礼物
public function edit_privacy_gift($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$room_info = db::name('room_privacy_gift')->find($data['id']);
if (empty($room_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$map = [];
$map[] = ['gid', '=', $data['gid']];
$map[] = ['id', 'neq', $data['id']];
$map[] = ['is_delete', '=', 1];
$room_privacy_gift = db::name('room_privacy_gift')->where($map)->find();
if($room_privacy_gift){
return ['code' => 201, 'msg' => '该礼物已添加过', 'data' => null];
}
// dump($data);exit;
$update_data = [];
$update_data['gid'] = $data['gid'];
$update_data['duration'] = $data['duration'];
$update_data['update_time'] = time();
$reslut = db::name('room_privacy_gift')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加
public function add_privacy_gift($data)
{
$map = [];
$map[] = ['gid', '=', $data['gid']];
$map[] = ['is_delete', '=', 1];
$room_privacy_gift = db::name('room_privacy_gift')->where($map)->find();
if($room_privacy_gift){
return ['code' => 201, 'msg' => '该礼物已添加过', 'data' => null];
}
$add_data = [];
$add_data['gid'] = $data['gid'];
$add_data['duration'] = $data['duration'];
$add_data['update_time'] = time();
$add_data['add_time'] = time();
$reslut = db::name('room_privacy_gift')->insert($add_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取信息
public function get_privacy_gift_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gift_info = db::name('room_privacy_gift')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $gift_info];
}
//删除礼物
public function del_privacy_gift($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('room_privacy_gift')->where(['id' => $id])->update(['is_delete' => 2, 'update_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//可选礼物列表
public function get_optional_gift_list($gid, $order, $sort, $page, $limit){
$config = get_uncache_system_config();
$map = [];
$map[] = ['type', '=', 1];
$map[] = ['is_show', '=', 1];
$map[] = ['is_can_buy', '=', 1];
// $map[] = ['is_gift_debris', '=', 2];
if(!empty($config['cp_gift_id'])){
$map[] = ['gid', 'neq', $config['cp_gift_id']];
}
$list = db::name('gift')->where($map)->select();
$data = [];
$data['count'] = db::name('gift')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -0,0 +1,823 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Guild extends Model
{
//公会列表
public function guild_list($id, $guild_name, $order, $sort, $page = 1, $limit = 20,$jie_shan=2)
{
$map = [];
if (!empty($id)) {
$map[] = ['a.id|a.guild_special_id', '=', $id];
}
$start_time = input('start', '');
$end_time = input('end', '');
if(empty($start_time)) {
$start_time = strtotime(date('Ymd'));
} else {
$start_time = strtotime($start_time);
}
if(empty($end_time)) {
$end_time = time();
} else {
$end_time = strtotime($end_time);
}
$build_sql = db::name('room_guild_charm_count_day')
->field('guild_id,SUM(amount) as total_gift_total_price')
->where('add_time', 'between', [$start_time, $end_time])
->group('guild_id')->buildSql();
if($jie_shan==2){
$map[] = ['is_delete', '=', 1];
}else{
$map[] = ['is_delete', '=', 2];
}
$list = db::name('guild')->alias('a')
->join($build_sql.'b', 'a.id = b.guild_id', 'LEFT')
->field('a.id, a.guild_name, a.base64_guild_name, a.cover, b.total_gift_total_price, a.add_time,a.update_time,a.is_show,a.guild_special_id')
->where($map)->order('b.total_gift_total_price', 'desc')->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['guild_name'] = mb_convert_encoding(base64_decode($v['base64_guild_name']), 'UTF-8', 'UTF-8');
$v['cover'] = localpath_to_netpath($v['cover']);
$v['total_gift_total_price'] = empty($v['total_gift_total_price']) ? 0 : $v['total_gift_total_price'];
}
$data = [];
$data['count'] = db::name('guild')->alias('a')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑公会
public function edit_guild($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$user_info = db::name('user')->find($data['uid']);
if(!$user_info){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$guild_info = db::name('guild')->find($data['id']);
if (empty($guild_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
Db::startTrans();
try {
//是否修改会长
if($data['uid'] != $guild_info['uid']){
$map = [];
$map[] = ['uid', '=', $data['uid']];
$map[] = ['status', '=', 1];
$map[] = ['is_delete', '=', 1];
$guild_infos = db::name('user_guild')->where($map)->find();
if($guild_infos){
return ['code' => 201, 'msg' => '该用户已加入公会', 'data' => null];
}
if(empty($user_info['real_name']) || empty($user_info['card_id'])) {
return ['code' => 201, 'msg' => '请先实名认证', 'data' => null];
}
//将之前会长退出公会
$update_data = [];
$update_data['is_delete'] = 2;
$update_data['update_time'] = time();
$reslut = db::name('user_guild')->where('uid',$guild_info['uid'])->update($update_data);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
$update_data = [];
$update_data['is_deacon'] = 2;
$update_data['update_time'] = time();
$reslut = db::name('user')->where('uid', $guild_info['uid'])->update($update_data);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
//新会长进入公会
//该用户是否有房间
$rid = 0;
$room_info = db::name('room')->where('room_owner_uid',$data['uid'])->find();
if($room_info){
$rid = $room_info['rid'];
}
//加入公会
$insert_data = [];
$insert_data['uid'] = $data['uid'];
$insert_data['guild_id'] = $data['id'];
$insert_data['rid'] = $rid;
$insert_data['card_id'] = $user_info['card_id'];
$insert_data['status'] = 1;
$insert_data['add_time'] = time();
$insert_data['is_deacon'] = 1;
$insert_data['is_show_room'] = 1;
$reslut = db::name('user_guild')->insertGetId($insert_data);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
$update_data = [];
$update_data['is_deacon'] = 1;
$update_data['update_time'] = time();
$reslut = db::name('user')->where('uid', $data['uid'])->update($update_data);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
$data['guild_special_id'] = trim($data['guild_special_id']);
if(!empty($data['guild_special_id'])){
if(!preg_match("/^[1-9][0-9]*$/" ,$data['guild_special_id']) || ($data['guild_special_id'] <= 1000)){
return ['code' => 201, 'msg' => '请输入至少4位正整数!', 'data' => null];
}
if(!empty($data['guild_special_id'])){
$is_exists = db::name('guild')->where([['id','<>',$data['id']]])->where(['guild_special_id|uid'=>trim($data['guild_special_id'])])->find();
if($is_exists){
Db::rollback();
return ['code' => 201, 'msg' => '该靓号已经存在其它公会!', 'data' => null];
}
}
}else{
$data['guild_special_id'] = "";
}
$update_data = [];
$update_data['uid'] = $data['uid'];
$update_data['guild_name'] = $data['guild_name'];
$update_data['base64_guild_name'] = base64_encode($data['guild_name']);
$update_data['cover'] = $data['cover'];
$update_data['money'] = $data['money'];
$update_data['update_time'] = time();
$update_data['guild_special_id'] = $data['guild_special_id'];
$update_data['intro'] = trim($data['intro']);
$reslut = db::name('guild')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//添加公会
public function add_guild($data)
{
$user_info = db::name('user')->find($data['uid']);
if(!$user_info){
return ['code' => 201, 'msg' => '该用户不存在', 'data' => null];
}
if(empty($user_info['real_name']) || empty($user_info['card_id'])) {
return ['code' => 201, 'msg' => '请先实名认证', 'data' => null];
}
$map = [];
$map[] = ['uid', '=', $data['uid']];
$map[] = ['status', '=', 1];
$map[] = ['is_delete', '=', 1];
$guild_info = db::name('user_guild')->where($map)->find();
if($guild_info){
return ['code' => 201, 'msg' => '该用户已有公会', 'data' => null];
}
Db::startTrans();
try {
$data['guild_special_id'] = trim($data['guild_special_id']);
if(!empty($data['guild_special_id'])){
if(!preg_match("/^[1-9][0-9]*$/" ,$data['guild_special_id']) || ($data['guild_special_id'] <= 1000)){
return ['code' => 201, 'msg' => '请输入至少4位正整数!', 'data' => null];
}
if(!empty($data['guild_special_id'])){
$is_exists = db::name('guild')->where(['guild_special_id|uid'=>trim($data['guild_special_id'])])->find();
if($is_exists){
Db::rollback();
return ['code' => 201, 'msg' => '该靓号已经存在其它公会!', 'data' => null];
}
}
}else{
$data['guild_special_id'] = "";
}
//添加公会
$add_data = [];
$add_data['uid'] = $data['uid'];
$add_data['guild_name'] = $data['guild_name'];
$add_data['base64_guild_name'] = base64_encode($data['guild_name']);
$add_data['cover'] = $data['cover'];
$add_data['money'] = 0;
$add_data['num'] = 1;
$add_data['add_time'] = time();
$add_data['guild_special_id'] = $data['guild_special_id'];
$add_data['intro'] = trim($data['intro']);
$guild_id = db::name('guild')->insertGetId($add_data);
if (!$guild_id) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
//该用户是否有房间
$rid = 0;
$room_info = db::name('room')->where('room_owner_uid',$data['uid'])->find();
if($room_info){
$rid = $room_info['rid'];
}
//加入公会
$insert_data = [];
$insert_data['uid'] = $data['uid'];
$insert_data['guild_id'] = $guild_id;
$insert_data['rid'] = $rid;
$insert_data['card_id'] = $user_info['card_id'];
$insert_data['status'] = 1;
$insert_data['add_time'] = time();
$insert_data['is_deacon'] = 1;
$insert_data['is_show_room'] = 1;
$reslut = db::name('user_guild')->insertGetId($insert_data);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
$update_data = [];
$update_data['is_deacon'] = 1;
$update_data['update_time'] = time();
$reslut = db::name('user')->where('uid', $data['uid'])->update($update_data);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//获取公会信息
public function guild_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gift_info = db::name('guild')->where(['id' => $id])->find();
$gift_info['http_base_image'] = localpath_to_netpath($gift_info['cover']);
return ['code' => 200, 'msg' => '获取成功', 'data' => $gift_info];
}
//删除公会
public function del_guild($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gid_info = db::name('guild')->where('id', $id)->find();
if(!$gid_info){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('guild')->where(['id' => $id])->update(['is_delete' => 2, 'update_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//批量删除公会
public function batch_delete_guild($data){
if(empty($data)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gid_list = [];
foreach ($data as $k => $v){
$gid_list[] = $v['gid'];
}
$map = [];
$map[] = ['id', 'in', $gid_list];
$date = [];
$date['is_delete'] = 2;
$date['delete_time'] = time();
$reslut = db::name('guild')->where($map)->update($date);
if($reslut){
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}else{
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//公会用户详情
public function get_user_guild_list($id, $uid, $order, $sort, $page = 1, $limit = 20){
$map = [];
if(!empty($uid)){
$map[] = ['a.uid', '=', $uid];
}
// dump($id);exit;
$map[] = ['a.guild_id', '=', $id];
$map[] = ['a.status', '=', 1];
$map[] = ['a.is_delete', '=', 1];
$list = db::name('user_guild')->alias('a')->join('yy_user b', 'a.uid = b.uid')->field('a.*,b.nick_name,b.base64_nick_name')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
}
$data = [];
$data['count'] = db::name('user_guild')->alias('a')->join('yy_user b', 'a.uid = b.uid')->field('a.*')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//设置显示状态
public function set_is_show($id, $is_show)
{
$info = Db::name('guild')->find($id);
if(empty($info)) {
return ['code' => 201, 'msg' => '数据不存在', 'data' => ''];
}
$result = Db::name('guild')->where('id', $id)->update(['is_show' => $is_show, 'update_time' => time()]);
return ['code' => 200, 'msg' => '设置成功', 'data' => ''];
}
//用户公会信息
public function user_guild_info($id){
$user_guild_info = db::name('user_guild')->where('id', $id)->where('status', 1)->where('is_delete', 1)->find();
if(!$user_guild_info){
return ['code' => 201, 'msg' => '该用户信息不存在', 'data' => null];
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $user_guild_info];
}
//编辑用户公会信息
public function edit_user_guild($data){
if(empty($data['id'])){
return ['code' => 201, 'msg' => '参数错误', 'data' => ''];
}
$user_guild_info = db::name('user_guild')->where('id', $data['id'])->where('status', 1)->where('is_delete', 1)->find();
if(!$user_guild_info){
return ['code' => 201, 'msg' => '该用户信息不存在', 'data' => null];
}
if($user_guild_info['is_deacon'] == 1){
// return ['code' => 201, 'msg' => '无法修改会长信息', 'data' => null];
}
$update = [];
$update['is_show_room'] = $data['is_show_room'];
$update['update_time'] = time();
$result = db::name('user_guild')->where('id', $data['id'])->update($update);
if($result){
return ['code' => 200, 'msg' => '编辑成功', 'data' => null];
}else{
return ['code' => 201, 'msg' => '编辑失败', 'data' => null];
}
}
//公会排行列表
public function get_guild_rank_list($id, $start, $end, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($id)) {
$map[] = ['a.id', '=', $id];
}
$where = [];
if(!empty($start)) {
$where[] = ['add_time', '>=', strtotime($start)];
}
if(!empty($end)) {
$where[] = ['add_time', '<=', strtotime($end)];
}
$map[] = ['a.is_delete', '=', 1];
$build_sql = db::name('room_guild_charm_count_day')->field('guild_id,SUM(amount) as total_gift_total_price,add_time')->where($where)->group('guild_id')->buildSql();
$list = db::name('guild')->alias('a')->join($build_sql.'b', 'a.id = b.guild_id', 'LEFT')->field('a.*,b.total_gift_total_price')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['guild_name'] = mb_convert_encoding(base64_decode($v['base64_guild_name']), 'UTF-8', 'UTF-8');
$v['cover'] = localpath_to_netpath($v['cover']);
if(empty($v['total_gift_total_price'])){
$v['total_gift_total_price'] = 0;
}
}
$data = [];
$data['count'] = db::name('guild')->alias('a')->join($build_sql.'b', 'a.id = b.guild_id', 'LEFT')->where($map)->count();
$data['list'] = $list;
// $totalRowData = Db::name('guild')->alias('a')->join($build_sql.'b', 'a.id = b.guild_id', 'LEFT')->field('total_gift_total_price')->where($map)->find();
// $data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//公会用户列表
public function get_guild_user_rank_list($guild_id, $uid, $start, $end, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
$where = [];
if(!empty($start)) {
$where[] = ['add_time', '>=', strtotime($start)];
}
if(!empty($end)) {
$where[] = ['add_time', '<=', strtotime($end)];
}
$map[] = ['a.guild_id', '=', $guild_id];
$map[] = ['a.status', '=', 1];
$map[] = ['a.is_delete', '=', 1];
$build_sql = db::name('user_guild_charm_count_day')->field('uid,SUM(amount) as total_gift_total_price,add_time')->where($where)->group('uid')->buildSql();
$list = db::name('user_guild')->alias('a')->join($build_sql.'b', 'a.uid = b.uid', 'LEFT')->join('yy_user c', 'a.uid = c.uid')->field('a.*,b.total_gift_total_price,c.base64_nick_name,c.head_pic')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($v['head_pic']);
if(empty($v['total_gift_total_price'])){
$v['total_gift_total_price'] = 0;
}
}
$data = [];
$data['count'] = db::name('user_guild')->alias('a')->join($build_sql.'b', 'a.uid = b.uid', 'LEFT')->join('yy_user c', 'a.uid = c.uid')->where($map)->count();
$data['list'] = $list;
// $totalRowData = Db::name('guild')->alias('a')->join($build_sql.'b', 'a.id = b.guild_id', 'LEFT')->field('total_gift_total_price')->where($map)->find();
// $data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//公会房间列表
public function get_guild_room_rank_list($guild_id, $room_number, $start, $end, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($room_number)) {
$map[] = ['c.room_number', '=', $room_number];
}
$where = [];
if(!empty($start)) {
$where[] = ['add_time', '>=', strtotime($start)];
}
if(!empty($end)) {
$where[] = ['add_time', '<=', strtotime($end)];
}
$map[] = ['a.guild_id', '=', $guild_id];
$map[] = ['a.status', '=', 1];
$map[] = ['a.is_delete', '=', 1];
$map[] = ['a.rid', '>', 0];
$build_sql = db::name('room_guild_charm_count_day')->field('rid,SUM(amount) as total_gift_total_price,add_time')->where($where)->group('rid')->buildSql();
$list = db::name('user_guild')->alias('a')->join($build_sql.'b', 'a.rid = b.rid', 'LEFT')->join('yy_room c', 'a.rid = c.rid')->field('a.*,b.total_gift_total_price,c.base64_room_name,c.room_cover,c.room_number')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['room_name'] = mb_convert_encoding(base64_decode($v['base64_room_name']), 'UTF-8', 'UTF-8');
$v['room_cover'] = localpath_to_netpath($v['room_cover']);
if(empty($v['total_gift_total_price'])){
$v['total_gift_total_price'] = 0;
}
}
$data = [];
$data['count'] = db::name('user_guild')->alias('a')->join($build_sql.'b', 'a.rid = b.rid', 'LEFT')->join('yy_room c', 'a.rid = c.rid')->where($map)->count();
$data['list'] = $list;
// $totalRowData = Db::name('guild')->alias('a')->join($build_sql.'b', 'a.id = b.guild_id', 'LEFT')->field('total_gift_total_price')->where($map)->find();
// $data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取列表
public function give_guild_subsidy_list($guild_id, $uid, $is_fa, $order, $sort, $page, $limit, $belong_week){
$map = [];
if(!empty($guild_id)){
$map[] = ['guild_id', '=', $guild_id];
}
if(!empty($uid)){
$map[] = ['guild_uid_id', '=', $uid];
}
if(!empty($is_fa)){
$map[] = ['is_fa', '=', $is_fa];
}
// if(!empty($is_delete)){
// $map[] = ['is_delete', '=', $is_delete];
// }
// if(!empty($start)){
// $now_time = strtotime($start);
// $last_week = strtotime('-1 week last sunday', $now_time);
// $map[] = ['last_week_time', '=', $last_week];
// }else{
// $now_time = time();
// $last_week = strtotime('-1 week last sunday', $now_time);
// $map[] = ['last_week_time', '=', $last_week];
// }
if(!empty($belong_week)){
$map[] = ['belong_week', '=', $belong_week];
}
$map[] = ['type', '=', 1];
$list = db::name('guild_week_earnings_log')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v){
$guild_info = db::name('guild')->find($v['guild_id']);
$v['guild_name'] = mb_convert_encoding(base64_decode($guild_info['base64_guild_name']), 'UTF-8', 'UTF-8');
$user_info = db::name('user')->find($v['guild_uid_id']);
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
}
$data = [];
$data['count'] = db::name('guild_week_earnings_log')->where($map)->count();
$totalRowData = db::name('guild_week_earnings_log')->field('SUM(change_value) as change_value,SUM(earnings) as earnings')->where($map)->find();
$data['totalRow'] = $totalRowData;
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//批量结算
// public function batch_give_guild_subsidy($data){
// if(empty($data)){
// return ['code' => 201, 'msg' => '参数异常', 'data' => null];
// }
// $gid_list = [];
// foreach ($data as $k => $v){
// if(in_array($v['is_delete'], [2])) {
// ['code' => 201, 'msg' => '批量结算中包含已发放的', 'data' => null];
// }
// $gid_list[] = $v['id'];
// }
// try {
// Db::startTrans();
// $map = [];
// $map[] = ['id', 'in', $gid_list];
// $map[] = ['is_delete', '=', 1];
// $list = db::name('user_guild_week_earnings')->where($map)->select();
// if(!empty($list)){
// foreach ($list as $k => $v){
// if($v['user_earnings'] > 0){
// $reslut = model('admin/User')->change_user_money_by_uid($v['uid'], $v['user_earnings'], 1, 39, '公会补贴收益', $v['uid'], 0, 0);
// if ($reslut['code'] == 201) {
// Db::rollback();
// return ['code' => 201, 'msg' => $reslut['msg'], 'data' => null];
// }
// }
// $reslut = db::name('user_guild_week_earnings')->where('id', $v['id'])->update(['is_delete' => 2, 'update_time' => time()]);
// if (!$reslut) {
// Db::rollback();
// return ['code' => 201, 'msg' => $reslut['msg'], 'data' => null];
// }
// }
// }
// // 提交事务
// Db::commit();
// return ['code' => 200, 'msg' => "发放成功", 'data' => null];
// } catch (\Exception $e) {
// // 回滚事务
// // dump($e);
// Db::rollback();
// return ['code' => 201, 'msg' => "发放失败", 'data' => null];
// }
// }
public function batch_give_guild_subsidy(){
$week_start = date('Y-m-d', strtotime("last week Monday"));
$week_end = date('Y-m-d', strtotime("last week Sunday"));
$balance_week = $week_start."-".$week_end;
// $week_start = date('Y-m-d', strtotime("this week Monday"));
// $week_end = date('Y-m-d', strtotime("this week Sunday"));
// $balance_week = $week_start."-".$week_end;
$is_had_deal = db::name('guild_week_earnings_log')->where(['is_delete'=>1,'belong_week'=>$balance_week,'is_fa'=>2])->find();
if(empty($is_had_deal)){
return ['code' => 201, 'msg' => "没有要结算的工资", 'data' => null];
}
try {
db::name('guild_week_earnings_log')->where(['is_delete'=>1,'belong_week'=>$balance_week,'is_fa'=>2])->update(['is_delete'=>2,'update_time'=>time()]);
//推入队列
$redis = connectionRedis();
$redis->rPush('balance_guild_wages_date',$balance_week);
//推入事务逻辑
// $data = model('api/RoomWages')->batch_give_guild_subsidy($balance_week);
// if($data['code'] != 200){
// return ['code' => 200, 'msg' =>$data['msg'], 'data' => null];
// }
return ['code' => 200, 'msg' => "发放成功", 'data' => null];
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "发放失败", 'data' => null];
}
}
//补贴详情
public function get_give_guild_subsidy_info($id){
if(empty($id)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$user_guild_week_earnings = db::name('user_guild_week_earnings')->where('id', $id)->find();
if(!$user_guild_week_earnings){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $user_guild_week_earnings];
}
//修改补贴
public function edit_give_room_subsidy($id, $user_earnings){
if(empty($id)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$user_guild_week_earnings = db::name('user_guild_week_earnings')->where('id', $id)->find();
if(!$user_guild_week_earnings){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
if($user_earnings < 0){
return ['code' => 201, 'msg' => '收益不能小于0', 'data' => null];
}
if($user_guild_week_earnings['is_delete'] == 2){
return ['code' => 201, 'msg' => '该收益已结算,无法编辑', 'data' => null];
}
$update = [];
$update['user_earnings'] = $user_earnings;
$update['update_time'] = time();
$reslut = db::name('user_guild_week_earnings')->where('id', $id)->update($update);
if($reslut){
return ['code' => 200, 'msg' => '编辑成功', 'data' => null];
}else{
return ['code' => 201, 'msg' => '编辑失败', 'data' => null];
}
}
//解散公会
public function diss_guild($guild_id){
$guild_info = db::name('guild')->where(['id'=>$guild_id,'is_delete'=>1])->find();
if(empty($guild_info)){
return ['code' => 201, 'msg' => '公会不存在!', 'data' => null];
}
try {
Db::startTrans();
//成员解散
db::name('user_guild')->where(['guild_id'=>$guild_id,'status'=>1,'is_delete'=>1])->update(['is_delete'=>2,'quit_type'=>3,'quit_time'=>time()]);
//退会
$update_data = [];
$update_data['is_deacon'] = 2;
$update_data['update_time'] = time();
$reslut = db::name('user')->where('uid', $guild_info['uid'])->update($update_data);
//解散公会
db::name('guild')->where('id',$guild_id)->update(['is_delete'=>2,'is_show'=>2,'num'=>0,'guild_special_id'=>""]);
Db::commit();
return ['code' => 200, 'msg' => '解散成功!', 'data' => null];
}catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => '解散失败', 'data' => null];
}
}
//公会合并
public function guild_combine($cancel_guild_id,$join_guild_id){
$guild_info1 = db::name('guild')->where(['id'=>$cancel_guild_id,'is_delete'=>1])->find();
if(empty($guild_info1)){
return ['code' => 201, 'msg' => '被解散公会不存在!', 'data' => null];
}
$guild_info2 = db::name('guild')->where(['id'=>$join_guild_id,'is_delete'=>1])->find();
if(empty($guild_info2)){
return ['code' => 201, 'msg' => '并入公会不存在!', 'data' => null];
}
try {
Db::startTrans();
//a公会成员人数统计
$num = db::name('user_guild')->where(['guild_id'=>$cancel_guild_id,'status'=>1,'is_delete'=>1])->count("*");
//将a公会成员加入b公会
$s_date = date('Y-m-d H:i:s');
db::name('user_guild')->where(['guild_id'=>$cancel_guild_id,'status'=>1,'is_delete'=>1])->update(['guild_id'=>$join_guild_id,'is_deacon'=>2,'remarks'=>"{$s_date}公会id:{$cancel_guild_id}合并到公会id:{$join_guild_id}"]);
db::name('guild')->where(['id'=>$join_guild_id,'is_delete'=>1])->inc('num',$num)->update(['update_time'=>time()]);
//取消a公会 工会长身份
$update_data = [];
$update_data['is_deacon'] = 2;
$update_data['update_time'] = time();
$reslut = db::name('user')->where('uid', $guild_info1['uid'])->update($update_data);
db::name('guild')->where(['id'=>$cancel_guild_id])->update(['guild_special_id'=>"",'num'=>0,'is_delete'=>2,'is_show'=>2]);
Db::commit();
return ['code' => 200, 'msg' => '合并成功!', 'data' => null];
}catch (\Exception $e) {
Db::rollback();
return ['code' => 201, 'msg' => '合并失败', 'data' => null];
}
}
}

View File

@@ -0,0 +1,147 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class GuildMoneyLog extends Model
{
//公会流水列表
public function get_list($guild_id, $start, $end, $page = 1, $limit = 20)
{
$map = [];
if($guild_id) {
$map[] = ['a.room_guild_id', '=', $guild_id];
}
if($start) {
$map[] = ['a.add_time', '>=', strtotime($start)];
}
if($end) {
$map[] = ['a.add_time', '<=', strtotime($end)];
}
$map[] = ['a.room_guild_id', '>', 0];
// dump($map);die;
$list = db::name('user_send_gift')->alias('a')
->field('a.*,b.room_name,b.room_number,b.room_owner_uid,c.guild_name,c.base64_guild_name,c.uid')
->leftJoin('yy_room b', 'a.rid = b.rid')
->leftJoin('yy_guild c', 'a.room_guild_id = c.id')
->where($map)->order('a.add_time', 'desc')->page($page, $limit)->select();
$uid_arr = $receive_uid_arr = [];
foreach ($list as $val) {
$uid_arr[] = $val['uid'];
$receive_uid_arr[] = $val['receive_uid'];
}
$uid_arr = array_merge($uid_arr, $receive_uid_arr);
$user_list = Db::name('user')->whereIn('uid', $uid_arr)->column('nick_name', 'uid');
foreach ($list as $k => &$v) {
$v['guild_name'] = mb_convert_encoding(base64_decode($v['base64_guild_name']), 'UTF-8', 'UTF-8');
$v['send_nick_name'] = $user_list[$v['uid']] ?? '';
$v['receive_nick_name'] = $user_list[$v['receive_uid']] ?? '';
}
$data = [];
$data['count'] = db::name('user_send_gift')->alias('a')->where($map)->count();
$data['list'] = $list;
$gift_total_price = Db::name('user_send_gift')->alias('a')->where($map)->sum('gift_total_price');
$totalRowData = ['gift_total_price' => $gift_total_price];
$data['totalRow'] = $totalRowData;
// $data['totalRow'] = ['gift_total_price' => strval($gift_total_price)];
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_guild_room_money_log_list($guild_id, $rid, $start, $end, $page, $limit)
{
$rid_arr = [];
if($rid) {
$rid_arr = [$rid];
}
// else {
// $rid_arr = $this->get_guild_room_list($guild_id);
// }
// dump($rid_arr);die;
$map = [];
if(!empty($rid_arr)) {
$map[] = ['a.rid', 'in', $rid_arr];
}
if($start) {
$map[] = ['a.add_time', '>=', strtotime($start)];
}
if($end) {
$map[] = ['a.add_time', '<=', strtotime($end)];
}
if($guild_id > 0) {
$map[] = ['a.room_guild_id', '=', $guild_id];
}
$map[] = ['a.room_guild_id', '>', 0];
$list = db::name('user_send_gift')->alias('a')
->field('a.*,b.room_name,b.base64_room_name,b.room_number,b.room_owner_uid,c.guild_name,c.base64_guild_name,c.uid')
->leftJoin('yy_room b', 'a.rid = b.rid')
->leftJoin('yy_guild c', 'a.room_guild_id = c.id')
->where($map)->order('a.add_time', 'desc')->page($page, $limit)->select();
$uid_arr = $receive_uid_arr = [];
foreach ($list as $val) {
$uid_arr[] = $val['uid'];
$receive_uid_arr[] = $val['receive_uid'];
}
$uid_arr = array_merge($uid_arr, $receive_uid_arr);
$user_list = Db::name('user')->whereIn('uid', $uid_arr)->column('nick_name', 'uid');
foreach ($list as $k => &$v) {
$v['guild_name'] = mb_convert_encoding(base64_decode($v['base64_guild_name']), 'UTF-8', 'UTF-8');
$v['send_nick_name'] = $user_list[$v['uid']] ?? '';
$v['receive_nick_name'] = $user_list[$v['receive_uid']] ?? '';
$v['room_name'] = mb_convert_encoding(base64_decode($v['base64_room_name']), 'UTF-8', 'UTF-8');
}
$data = [];
$data['count'] = db::name('user_send_gift')->alias('a')->where($map)->count();
$data['list'] = $list;
$totalRowData = Db::name('user_send_gift')->alias('a')
->field('SUM(gift_total_price) as gift_total_price, SUM(room_owner_profit) as room_owner_profit')
->where($map)->find();
$data['totalRow'] = $totalRowData;
// $data['totalRow'] = ['gift_total_price' => strval($gift_total_price)];
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取工会签约房间列表
public function get_guild_room_list($guild_id = 0, $is_move = 0)
{
$map = [];
if($guild_id) {
$map[] = ['guild_id', '=', $guild_id];
}
if($is_move) {
$map[] = ['is_delete', '=', $is_move];
}
$map[] = ['status', '=', 1];
$uid = Db::name('user_guild')->where($map)->column('uid');
$uid_arr = Db::name('user')->where(['uid' => $uid, 'is_sign' => 1])->column('uid');
$rid_arr = Db::name('room')->where(['room_owner_uid' => $uid_arr, 'room_status' => 1])->column('rid');
return $rid_arr;
}
//获取工会签约房间列表
public function get_guild_room_list_by_guild_id($guild_id)
{
$map = [
['a.guild_id', '=', $guild_id],
['a.status', '=', 1],
['b.is_sign', '=', 1],
];
$list = Db::name('user_guild')->alias('a')
->leftJoin('yy_user b', 'a.uid = b.uid')
->leftJoin('yy_room c', 'a.uid = c.room_owner_uid')
->field('a.is_delete,c.rid,c.base64_room_name')
->where($map)
->select();
foreach ($list as &$val) {
$val['room_name'] = mb_convert_encoding(base64_decode($val['base64_room_name']), 'UTF-8', 'UTF-8');
$val['is_delete_title'] = $val['is_delete'] == 1 ? '未离开' : '离开';
}
return $list;
}
}

View File

@@ -0,0 +1,271 @@
<?php
namespace app\admin\model;
use think\Model;
class Jpush extends Model
{
public $client;
public $message_data;
public function __construct()
{
$config = get_system_config();
$this->client = new \JPush\Client($config['jpush_app_key'], $config['jpush_master_secret']);
$this->message_data[1000] = '系统消息';
$this->message_data[1001] = '情缘消息';
$this->message_data[1002] = '陪玩订单消息';
}
//全体推送
public function push_all_notification_message($platform, $title, $message, $data = [])
{
if (empty($this->message_data[$data['code']])) {
return ['code' => 201, 'msg' => '消息类型不存在', 'data' => null];
}
// 完整的推送示例
// 这只是使用样例,不应该直接用于实际生产环境中 !!
try {
$response = $this->client->push();
if ($platform == 1) {
$response = $response->setPlatform(array('ios'));
} elseif ($platform == 2) {
$response = $response->setPlatform(array('android'));
} elseif ($platform == 3) {
$response = $response->setPlatform(array('ios', 'android'));
}
// 一般情况下,关于 audience 的设置只需要调用 addAlias、addTag、addTagAnd 或 addRegistrationId
// 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集
// 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求
// ->addAlias('alias')
// ->addTag(array('tag1', 'tag2'))
// ->addRegistrationId($registration_id)
$response = $response->addAllAudience()
->iosNotification($message, array(
'title' => $title,
//'sound' => 'sound.caf',
// 'badge' => '+1',
// 'content-available' => true,
// 'mutable-content' => true,
//'category' => '',
'extras' => $data,
))
->androidNotification($message, array(
'title' => $title,
// 'builder_id' => 2,
'extras' => $data
))
->options(array(
// sendno: 表示推送序号,纯粹用来作为 API 调用标识,
// API 返回时被原样返回,以方便 API 调用方匹配请求与返回
// 这里设置为 100 仅作为示例
// 'sendno' => 100,
// time_to_live: 表示离线消息保留时长(秒)
// 推送当前用户不在线时,为该用户保留多长时间的离线消息,以便其上线时再次推送。
// 默认 86400 1 天),最长 10 天。设置为 0 表示不保留离线消息,只有推送当前在线的用户可以收到
// 这里设置为 1 仅作为示例
// 'time_to_live' => 1,
// apns_production: 表示APNs是否生产环境
// True 表示推送生产环境False 表示要推送开发环境;如果不指定则默认为推送开发环境
'apns_production' => false,
// big_push_duration: 表示定速推送时长(分钟),又名缓慢推送,把原本尽可能快的推送速度,降低下来,
// 给定的 n 分钟内均匀地向这次推送的目标用户推送。最大值为1400.未设置则不是定速推送
// 这里设置为 1 仅作为示例
// 'big_push_duration' => 1
))
->setSmsMessage(array(
'delay_time' => 60,
'signid' => 154,
'temp_id' => 1,
'temp_para' => array(
'code' => 357
),
'active_filter' => false
))
->send();
//print_r($response);
return ['code' => 200, 'msg' => '推送成功', 'data' => null];
} catch (\JPush\Exceptions\APIConnectionException $e) {
// try something here
//print $e;
return ['code' => 201, 'msg' => '推送失败', 'data' => null];
} catch (\JPush\Exceptions\APIRequestException $e) {
// try something here
// print $e;
return ['code' => 201, 'msg' => '推送失败', 'data' => null];
}
}
//个人推送
public function push_notification_message($uid, $title, $message, $data = [])
{
if (empty($this->message_data[$data['code']])) {
return ['code' => 201, 'msg' => '消息类型不存在', 'data' => null];
}
$uid = strval($uid);
// 完整的推送示例
// 这只是使用样例,不应该直接用于实际生产环境中 !!
try {
$response = $this->client->push()
->setPlatform(array('ios', 'android'));
// 一般情况下,关于 audience 的设置只需要调用 addAlias、addTag、addTagAnd 或 addRegistrationId
// 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集
// 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求
// ->addAlias('alias')
// ->addTag(array('tag1', 'tag2'))
// ->addRegistrationId($registration_id)
//->addAllAudience()
$response = $response->addAlias($uid)
->setNotificationAlert($message)
->iosNotification($message, array(
'sound' => 'sound.caf',
// 'badge' => '+1',
// 'content-available' => true,
// 'mutable-content' => true,
'category' => 'jiguang',
'extras' => $data,
))
->androidNotification($message, array(
'title' => $title,
// 'builder_id' => 2,
'extras' => $data,
))
->message($message, array(
'title' => $title,
// 'content_type' => 'text',
'extras' => $data,
))->options(array(
// sendno: 表示推送序号,纯粹用来作为 API 调用标识,
// API 返回时被原样返回,以方便 API 调用方匹配请求与返回
// 这里设置为 100 仅作为示例
// 'sendno' => 100,
// time_to_live: 表示离线消息保留时长(秒)
// 推送当前用户不在线时,为该用户保留多长时间的离线消息,以便其上线时再次推送。
// 默认 86400 1 天),最长 10 天。设置为 0 表示不保留离线消息,只有推送当前在线的用户可以收到
// 这里设置为 1 仅作为示例
// 'time_to_live' => 1,
// apns_production: 表示APNs是否生产环境
// True 表示推送生产环境False 表示要推送开发环境;如果不指定则默认为推送开发环境
'apns_production' => false,
// big_push_duration: 表示定速推送时长(分钟),又名缓慢推送,把原本尽可能快的推送速度,降低下来,
// 给定的 n 分钟内均匀地向这次推送的目标用户推送。最大值为1400.未设置则不是定速推送
// 这里设置为 1 仅作为示例
// 'big_push_duration' => 1
))
->setSmsMessage(array(
'delay_time' => 60,
'signid' => 154,
'temp_id' => 1,
'temp_para' => array(
'code' => 357
),
'active_filter' => false
))
->send();
print_r($response);
} catch (\JPush\Exceptions\APIConnectionException $e) {
// try something here
//print $e;
return ['code' => 201, 'msg' => '推送失败', 'data' => null];
} catch (\JPush\Exceptions\APIRequestException $e) {
// try something here
// print $e;
return ['code' => 201, 'msg' => '推送失败', 'data' => null];
}
}
//推送APP内消息
public function push_message($uid, $title, $message, $data = [])
{
if (empty($this->message_data[$data['code']])) {
return ['code' => 201, 'msg' => '消息类型不存在', 'data' => null];
}
// 完整的推送示例
// 这只是使用样例,不应该直接用于实际生产环境中 !!
try {
$response = $this->client->push()
->setPlatform(array('ios', 'android'));
// 一般情况下,关于 audience 的设置只需要调用 addAlias、addTag、addTagAnd 或 addRegistrationId
// 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集
// 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求
// ->addAlias('alias')
// ->addTag(array('tag1', 'tag2'))
// ->addRegistrationId($registration_id)
//->addAllAudience()
$response = $response->addAlias($uid)
->message($message, array(
'title' => $title,
// 'content_type' => 'text',
'extras' => $data,
))
->options(array(
// sendno: 表示推送序号,纯粹用来作为 API 调用标识,
// API 返回时被原样返回,以方便 API 调用方匹配请求与返回
// 这里设置为 100 仅作为示例
// 'sendno' => 100,
// time_to_live: 表示离线消息保留时长(秒)
// 推送当前用户不在线时,为该用户保留多长时间的离线消息,以便其上线时再次推送。
// 默认 86400 1 天),最长 10 天。设置为 0 表示不保留离线消息,只有推送当前在线的用户可以收到
// 这里设置为 1 仅作为示例
// 'time_to_live' => 1,
// apns_production: 表示APNs是否生产环境
// True 表示推送生产环境False 表示要推送开发环境;如果不指定则默认为推送开发环境
'apns_production' => false,
// big_push_duration: 表示定速推送时长(分钟),又名缓慢推送,把原本尽可能快的推送速度,降低下来,
// 给定的 n 分钟内均匀地向这次推送的目标用户推送。最大值为1400.未设置则不是定速推送
// 这里设置为 1 仅作为示例
// 'big_push_duration' => 1
))
->setSmsMessage(array(
'delay_time' => 60,
'signid' => 154,
'temp_id' => 1,
'temp_para' => array(
'code' => 357
),
'active_filter' => false
))
->send();
print_r($response);
} catch (\JPush\Exceptions\APIConnectionException $e) {
// try something here
//print $e;
return ['code' => 201, 'msg' => '推送失败', 'data' => null];
} catch (\JPush\Exceptions\APIRequestException $e) {
// try something here
// print $e;
return ['code' => 201, 'msg' => '推送失败', 'data' => null];
}
}
}

View File

@@ -0,0 +1,142 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class Message extends Model
{
protected $pk = 'smid';
protected $auto = ['update_time'];
protected $insert = [
'add_time',
];
protected $update = ['update_time'];
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
public function get_message_list($smid, $title, $order, $sort, $page, $limit)
{
$map = [];
if (!empty($smid)) {
$map[] = ['smid', '=', $smid];
}
if (!empty($title)) {
$map[] = ['title', 'like', '%' . $title . '%'];
}
$user_list = db::name('message')->where($map)->order($order, $sort)->page($page, $limit)->select();
$data = [];
$data['count'] = db::name('message')->where($map)->count();
$data['list'] = $user_list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_message_info($smid)
{
$map = [];
$map[] = ['smid', '=', $smid];
$info = db::name('message')->where($map)->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
// public function add_message($datas)
// {
// set_time_limit(0);
// ini_set('memory_limit', '1024M');
// $validate = validate('message');
// $reslut = $validate->scene('adminAdd')->check($datas);
// if ($reslut !== true) {
// return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
// }
// $message = model('message');
// $reslut = $message->save($datas);
// $smid = $message->smid;
// if ($reslut) {
// //批量增加用户消息
// $uid_list = db::name('user')->column('uid');
// $now_time = time();
// $insert_data = [];
// foreach ($uid_list as $k => $v) {
// $data = [];
// $data['type'] = 1;
// $data['id'] = $smid;
// $data['uid'] = $v;
// $data['title'] = $datas['title'];
// $data['content'] = $datas['content'];
// $data['is_read'] = 1;
// $data['read_time'] = 0;
// $data['add_time'] = $now_time;
// $data['update_time'] = $now_time;
// $insert_data[] = $data;
// // if (count($insert_data) % 2000 == 0) {
// // db::name('user_message')->insertAll($insert_data);
// // }
// }
// if (!empty($insert_data)) {
// db::name('user_message')->insertAll($insert_data);
// }
// return ['code' => 200, 'msg' => '添加成功', 'data' => ''];
// } else {
// return ['code' => 201, 'msg' => '添加失败', 'data' => ''];
// }
// }
public function add_message($data)
{
set_time_limit(0);
ini_set('memory_limit', '1024M');
$validate = validate('message');
$reslut = $validate->scene('adminAdd')->check($data);
if ($reslut !== true) {
return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
}
$message = model('message');
$reslut = $message->save($data);
$smid = $message->smid;
$data1 = $data;
if ($reslut) {
//队列插入数据
$redis = connectionRedis();
$redis->rPush('admin_add_message111',$smid.'-61116-'.$data1['title'].'-61116-'.$data1['content']);
return ['code' => 200, 'msg' => '添加成功', 'data' => ''];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => ''];
}
}
public function edit_message($data)
{
$validate = validate('message');
$reslut = $validate->scene('adminEdit')->check($data);
if ($reslut !== true) {
return ['code' => 201, 'msg' => $validate->getError(), 'data' => null];
}
$reslut = model('message')->isUpdate(true)->save($data);
if (!$reslut) {
return ['code' => 201, 'msg' => '编辑失败', 'data' => ''];
} else {
$update_data = [];
$update_data['title'] = $data['title'];
$update_data['content'] = $data['content'];
$update_data['is_show'] = $data['is_show'];
db::name('user_message')->where(['smid' => $data['smid']])->update($update_data);
return ['code' => 200, 'msg' => '编辑成功', 'data' => ''];
}
}
}

View File

@@ -0,0 +1,244 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Monster extends Model
{
//列表
public function get_monster_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('Monster')->order($order, $sort)->page($page, $limit)->select();
$total_num = db::name('Monster')->sum('num');
foreach ($list as $k => &$v) {
$gift_info = db::name('gift')->where('gid', $v['gid'])->find();
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
$v['rate'] = round(($v['num']/$total_num), 6) * 100;
$v['rate'] .= '%';
}
$data = [];
$data['count'] = db::name('Monster')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取礼物列表
public function get_gift_list(){
$map = [];
// $map[] = ['gid', 'not in', [36,37,38]];
$map[] = ['type', '=', 1];
$map[] = ['is_show','=',1];
$map[] = ['is_delete', '=', 1];
$list = db::name('gift')->where($map)->order('gift_price asc')->select();
foreach ($list as $k => &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
}
$data = [];
$data['count'] = db::name('gift')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_monster($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('Monster')->find($data['id']);
if (empty($monster_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$map = [];
$map[] = ['gid', '=', $data['gid']];
$map[] = ['type', '=', 1];
$map[] = ['is_show','=',1];
$map[] = ['is_delete', '=', 1];
$gift_info = db::name('gift')->where($map)->find();
if(!$gift_info){
return ['code' => 201, 'msg' => '配置礼物不存在', 'data' => null];
}
if($monster_info['multiple'] * 10 != $gift_info['gift_price']){
return ['code' => 201, 'msg' => '配置礼物的价格必须为倍数的10倍', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
$update_data['type_name'] = $data['type_name'];
// $update_data['multiple'] = $data['multiple'];
$update_data['gid'] = $data['gid'];
$update_data['num'] = $data['num'];
$update_data['update_time'] = time();
$reslut = db::name('Monster')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取信息
public function get_monster_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('Monster')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
}
//列表
public function get_monster_multiple_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('monster_multiple')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
}
$data = [];
$data['count'] = db::name('monster_multiple')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_monster_multiple($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('monster_multiple')->find($data['id']);
if (empty($monster_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
$update_data['multiple'] = $data['multiple'];
$update_data['update_time'] = time();
$reslut = db::name('monster_multiple')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取信息
public function get_monster_multiple_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('monster_multiple')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
}
//列表
public function get_monster_log($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('monster_log')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['type_name'] = '暂未开奖';
$v['gid'] = 0;
$v['gift_name'] = '';
$v['base_image'] = '';
$v['gift_price'] = 0;
if($v['is_delete'] == 2){
$gift_info = db::name('Monster')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('b.gid,b.gift_name,b.base_image,b.gift_price,a.type_name')->where('a.type', $v['win_type'])->find();
$v['gid'] = $gift_info['gid'];
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
$v['type_name'] = $gift_info['type_name'];
}
}
$data = [];
$data['count'] = db::name('monster_log')->count();
$data['list'] = $list;
$totalRowData = db::name('monster_log')->field('count(1) as count,SUM(out_amount) as out_amount,SUM(in_amount) as in_amount')->find();
unset($totalRowData['count']);
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_user_monster_log($mid, $order, $sort, $page = 1, $limit = 20)
{
$list = db::name('user_monster_log')->where('mid', $mid)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->where('uid', $v['uid'])->field('uid,nick_name,base64_nick_name,head_pic')->find();
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_info['head_pic']);
$v['type_name'] = db::name('Monster')->where('type', $v['type'])->value('type_name');
}
$data = [];
$data['count'] = db::name('user_monster_log')->where('mid', $mid)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_user_monster_win_log($mid, $order, $sort, $page = 1, $limit = 20)
{
$list = db::name('user_monster_win_log')->where('mid', $mid)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->where('uid', $v['uid'])->field('uid,nick_name,base64_nick_name,head_pic')->find();
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_info['head_pic']);
$v['type_name'] = db::name('Monster')->where('type', $v['win_type'])->value('type_name');
$gift_info = db::name('gift')->where('gid', $v['win_gid'])->field('gid,gift_name,base_image,gift_price')->find();
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
}
$data = [];
$data['count'] = db::name('user_monster_win_log')->where('mid', $mid)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -0,0 +1,575 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Multiple extends Model
{
//类型列表
public function get_gift_multiple_type_list($id, $name, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($id)) {
$map[] = ['id', '=', $id];
}
if (!empty($name)) {
$map[] = ['name', 'like', '%' . $name . '%'];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('gift_multiple_type')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
}
$data = [];
$data['count'] = db::name('gift_multiple_type')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑类型
public function edit_gift_multiple_type($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('gift_multiple_type')->find($data['id']);
if (empty($info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
$update_data['name'] = $data['name'];
$update_data['update_time'] = time();
$reslut = db::name('gift_multiple_type')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加类型
public function add_gift_multiple_type($data)
{
$add_data = [];
$add_data['name'] = $data['name'];
$add_data['update_time'] = time();
$add_data['add_time'] = time();
$reslut = db::name('gift_multiple_type')->insert($add_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取类型信息
public function get_gift_multiple_type_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('gift_multiple_type')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
//删除类型
public function del_gift_multiple_type($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('gift_multiple_type')->where(['id' => $id])->update(['is_delete' => 2, 'update_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//列表
public function get_gift_multiple_rate_list($pid, $order, $sort, $page = 1, $limit = 20)
{
set_time_limit(0);
ini_set('memory_limit', '1024M');
$redis = connectionRedis();
$map = [];
if (!empty($pid)) {
$map[] = ['pid', '=', $pid];
}
$map[] = ['is_delete', '=', 1];
$count = db::name('gift_multiple_rate')->where($map)->sum('rate_num');
$list = db::name('gift_multiple_rate')->where($map)->order($order, $sort)->page($page, $limit)->select();
$total_unopen_num = 0;
$total_open_num = 0;
foreach ($list as $k => &$v) {
$v['rate'] = round(($v['rate_num']/$count),6)*100;
$v['rate'] = $v['rate'].'%';
$un_redis_list = [];
if(in_array($v['pid'],$un_redis_list)){
$v['unopen_num'] = $v['rate_num'];
$v['open_num'] = $v['rate_num'];
}else{
$keyname = "multiple:list:type:".$v['pid'];
$redis_data_list = $redis->Lrange($keyname, 0, -1);
$redis_gift_data = [];
foreach ($redis_data_list as $a => $b) {
$gift_data = explode('-', $b);
if (empty($redis_gift_data[$gift_data[1]])) {
$redis_gift_data[$gift_data[1]] = 1;
} else {
$redis_gift_data[$gift_data[1]]++;
}
}
if (empty($redis_gift_data[$v['multiple']])) {
$v['unopen_num'] = 0;
} else {
$v['unopen_num'] = $redis_gift_data[$v['multiple']];
}
// $total_unopen_num += $v['unopen_num'];
$sum_num = $count;
if(count($redis_data_list) > $sum_num){
$count_redis_data_list = count($redis_data_list);
$place = ceil($count_redis_data_list/$sum_num);
$v['open_num'] = $v['rate_num']*$place - $v['unopen_num'];
}else{
$v['open_num'] = $v['rate_num'] - $v['unopen_num'];
}
// $total_open_num += $v['open_num'];
}
}
$data = [];
$data['count'] = db::name('gift_multiple_rate')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_gift_multiple_rate($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('gift_multiple_rate')->find($data['id']);
if (empty($info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$map = [];
$map[] = ['multiple', '=', $data['multiple']];
$map[] = ['pid', 'neq', $info['pid']];
$map[] = ['is_delete', '=', 1];
$gift_multiple_rate = db::name('gift_multiple_rate')->where($map)->find();
if($gift_multiple_rate){
return ['code' => 201, 'msg' => '该倍率已添加过', 'data' => null];
}
// dump($data);exit;
$update_data = [];
$update_data['multiple'] = $data['multiple'];
$update_data['rate_num'] = $data['rate_num'];
$update_data['update_time'] = time();
$reslut = db::name('gift_multiple_rate')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加
public function add_gift_multiple_rate($data)
{
$map = [];
$map[] = ['pid', '=', $data['pid']];
$map[] = ['multiple', '=', $data['multiple']];
$map[] = ['is_delete', '=', 1];
$gift_multiple_rate = db::name('gift_multiple_rate')->where($map)->find();
if($gift_multiple_rate){
return ['code' => 201, 'msg' => '该倍率已添加过', 'data' => null];
}
$add_data = [];
$add_data['pid'] = $data['pid'];
$add_data['multiple'] = $data['multiple'];
$add_data['rate_num'] = $data['rate_num'];
$add_data['update_time'] = time();
$add_data['add_time'] = time();
$reslut = db::name('gift_multiple_rate')->insert($add_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取信息
public function get_gift_multiple_rate_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('gift_multiple_rate')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
//删除
public function del_gift_multiple_rate($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('gift_multiple_rate')->where(['id' => $id])->update(['is_delete' => 2, 'update_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//
public function get_user_send_gift_rate_list($uid, $room_id, $room_uid, $receive_uid, $gid, $gift_name, $start, $end, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
if (!empty($room_id)) {
$map[] = ['c.room_number', '=', $room_id];
}
if (!empty($room_uid)) {
$map[] = ['a.room_uid', '=', $room_uid];
}
if (!empty($receive_uid)) {
$map[] = ['a.receive_uid', '=', $receive_uid];
}
if (!empty($gid)) {
$map[] = ['a.gid', '=', $gid];
}
if (!empty($gift_name)) {
$map[] = ['a.gift_name', 'like', '%' . $gift_name . '%'];
}
if (!empty($start)) {
$map[] = ['a.add_time', '>=', strtotime($start)];
}
if (!empty($end)) {
$map[] = ['a.add_time', '<=', strtotime($end)];
}
if (empty($order)) {
$order = 'a.sid';
}
if (empty($sort)) {
$sort = 'desc';
}
$list = db::name('user_send_gift_rate')
->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_room c', 'a.rid = c.rid')
->field('a.*,b.nick_name,c.room_name')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => $v) {
$list[$k]['user_nick_name'] = $v['uid'] . '-' . $v['nick_name'];
}
$data = [];
$data['list'] = $list;
$totalRowData = db::name('user_send_gift_rate')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_room c', 'a.rid = c.rid')->field('count(a.sid) as count,SUM(a.gift_num) as gift_num,SUM(a.gift_total_price) as gift_total_price,SUM(a.win_price) as win_price,SUM(a.room_owner_profit) as room_owner_profit, SUM(a.room_host_profit) as room_host_profit, SUM(a.receiver_profit) as receiver_profit')->where($map)->find();
$data['count'] = $totalRowData['count'];
unset($totalRowData['count']);
//dump($totalRowData);
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取列表
public function room_subsidy($order, $sort, $page, $limit)
{
$map = [];
$map[] = ['is_delete', '=', 1];
$list = db::name('room_subsidy_lucky')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v){
if($v['type'] == 2){
$v['money'] = $v['money'].'%';
}
}
$data = [];
$data['count'] = db::name('room_subsidy_lucky')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//删除
public function room_subsidy_del($id)
{
$del = db::name('room_subsidy_lucky')->where(['id' => $id])->update(['is_delete' => 2]);
if ($del) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//获取
public function room_subsidy_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$room_subsidy_info = db::name('room_subsidy_lucky')->find($id);
return ['code' => 200, 'msg' => '获取成功', 'data' => $room_subsidy_info];
}
//修改
public function edit_room_subsidy($id, $level_name, $total_gift_price, $money, $type)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$arr = [];
$arr['type'] = $type;
$arr['level_name'] = $level_name;
$arr['total_gift_price'] = $total_gift_price;
$arr['money'] = $money;
$arr['update_time'] = time();
$upd = db::name('room_subsidy_lucky')->where(['id' => $id])->update($arr);
if ($upd) {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//添加
public function add_room_subsidy($level_name, $total_gift_price, $money, $type)
{
$arr = [];
$arr['type'] = $type;
$arr['level_name'] = $level_name;
$arr['total_gift_price'] = $total_gift_price;
$arr['money'] = $money;
$arr['add_time'] = time();
$add = db::name('room_subsidy_lucky')->insert($arr);
if ($add) {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//获取列表
public function give_room_subsidy_list($room_number, $uid, $is_delete, $order, $sort, $page, $limit, $start){
$map = [];
if(!empty($room_number)){
$rid = db::name('room')->where('room_number', $room_number)->value('rid');
$map[] = ['rid', '=', $rid];
}
if(!empty($uid)){
$map[] = ['uid', '=', $uid];
}
if(!empty($is_delete)){
$map[] = ['is_delete', '=', $is_delete];
}
if(!empty($start)){
$now_time = strtotime($start);
$last_week = strtotime('-1 week last sunday', $now_time);
$map[] = ['last_week_time', '=', $last_week];
}else{
$now_time = time();
$last_week = strtotime('-1 week last sunday', $now_time);
$map[] = ['last_week_time', '=', $last_week];
}
$map[] = ['type', '=', 2];
$list = db::name('user_room_week_earnings')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v){
$room_info = db::name('room')->find($v['rid']);
$v['room_number'] = $room_info['room_number'];
$v['room_name'] = mb_convert_encoding(base64_decode($room_info['base64_room_name']), 'UTF-8', 'UTF-8');
$user_info = db::name('user')->find($v['uid']);
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
}
$data = [];
$data['count'] = db::name('user_room_week_earnings')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//批量结算
public function batch_give_room_subsidy($data){
if(empty($data)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gid_list = [];
foreach ($data as $k => $v){
if(in_array($v['is_delete'], [2])) {
return ['code' => 201, 'msg' => '批量结算中包含已发放的', 'data' => null];
}
$gid_list[] = $v['id'];
}
Db::startTrans();
try {
$map = [];
$map[] = ['id', 'in', $gid_list];
$map[] = ['is_delete', '=', 1];
$list = db::name('user_room_week_earnings')->where($map)->select();
if(!empty($list)){
foreach ($list as $k => $v){
$reslut = model('admin/User')->change_user_money_by_uid($v['uid'], $v['user_earnings'], 1, 35, '房间幸运补贴收益', $v['uid'], 0, $v['rid']);
if ($reslut['code'] == 201) {
Db::rollback();
return ['code' => 201, 'msg' => $reslut['msg'], 'data' => null];
}
$reslut = db::name('user_room_week_earnings')->where('id', $v['id'])->update(['is_delete' => 2, 'update_time' => time()]);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => $reslut['msg'], 'data' => null];
}
}
}
// 提交事务
Db::commit();
return ['code' => 200, 'msg' => "发放成功", 'data' => null];
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "发放失败", 'data' => null];
}
}
//补贴详情
public function get_give_room_subsidy_info($id){
if(empty($id)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$user_room_week_earnings = db::name('user_room_week_earnings')->where('id', $id)->find();
if(!$user_room_week_earnings){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $user_room_week_earnings];
}
//修改补贴
public function edit_give_room_subsidy($id, $user_earnings){
if(empty($id)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$user_room_week_earnings = db::name('user_room_week_earnings')->where('id', $id)->find();
if(!$user_room_week_earnings){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
if($user_earnings < 0){
return ['code' => 201, 'msg' => '收益不能小于0', 'data' => null];
}
if($user_room_week_earnings['is_delete'] == 2){
return ['code' => 201, 'msg' => '该收益已结算,无法编辑', 'data' => null];
}
$update = [];
$update['user_earnings'] = $user_earnings;
$update['update_time'] = time();
$reslut = db::name('user_room_week_earnings')->where('id', $id)->update($update);
if($reslut){
return ['code' => 200, 'msg' => '编辑成功', 'data' => null];
}else{
return ['code' => 201, 'msg' => '编辑失败', 'data' => null];
}
}
//监控宝箱redis list 剩余宝箱数量 生成
//tid 宝箱类型
//is_reset 0不重置 1重置
public function control_gift_multiple($id = 0, $is_reset = 0)
{
set_time_limit(0);
ini_set('memory_limit', '1024M');
$redis = connectionRedis();
// dump($id);
// dump($is_reset);
// exit;
$map = [];
if (!empty($id)) {
$map[] = ['id', '=', $id];
}
$map[] = ['is_delete', '=', 1];
$gift_multiple_type_list = db::name('gift_multiple_type')->where($map)->select();
$list_len = 0;
foreach ($gift_multiple_type_list as $k => $v) {
$map = [];
$map[] = ['pid', '=', $v['id']];
$map[] = ['is_delete', '=', 1];
$gift_multiple_rate_list = Db::name('gift_multiple_rate')->where($map)->select();
$keyname = "multiple:list:type:" . $v['id'];
if ($is_reset == 1) {
$redis->del($keyname); //如果重置则删除原队列
}
//剩余开奖次数少于5000 则补充下一期奖池
if ($redis->llen($keyname) < 500) {
$insert_data = [];
$total_gift_value = 0;
foreach ($gift_multiple_rate_list as $m => $n) {
//更新添加次数
for ($q = 0; $q < $n['rate_num']; $q++) {
$insert_data[] = $n['multiple'];
}
}
shuffle($insert_data);
if (!empty($gift_multiple_rate_list)) {
//插入期日志表
$data = [];
$data['pid'] = $v['id'];
$data['total_num'] = count($insert_data);
$data['open_num'] = 0;
$data['config_text'] = json_encode($gift_multiple_rate_list);
$data['add_time'] = time();
$data['update_time'] = time();
$bl_id = db::name('gift_multiple_log')->insertGetId($data);
foreach ($insert_data as $p => $q) {
$insert_data[$p] = $bl_id . '-' . $insert_data[$p];
}
// shuffle($insert_data);
array_unshift($insert_data, $keyname);
call_user_func_array([$redis, 'rPush'], $insert_data);
}
}
$list_len = $redis->llen($keyname);
//echo date('Y-m-d H:i:s') . " " . $keyname . "宝箱剩余数量:$list_len" . "\r\n";
}
return ['code' => 200, 'msg' => '生成成功', 'data' => "剩余数量: $list_len"];
}
}

View File

@@ -0,0 +1,153 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class NewBox extends Model
{
public function get_new_box_list(){
$map = [];
$map[] = ['a.is_delete', '=', 1];
$list = db::name('new_box')
->alias('a')
->join('yy_gift b', 'a.gid = b.gid')
->field('a.*,b.gift_name,b.gift_price,b.base_image')
->where($map)
->order('a.id', 'desc')->select();
foreach($list as &$val) {
$val['base_image'] = localpath_to_netpath($val['base_image']);
}
$data = [];
$data['count'] = db::name('new_box')->alias('a')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function edit_new_box($data)
{
if(empty($data['total_amount'])) {
return ['code' => 201, 'msg' => '请输入金额', 'data' => ''];
}
if(ceil($data['total_amount']) != $data['total_amount']) {
return ['code' => 201, 'msg' => '总金额必须是整数', 'data' => ''];
}
$total_amount = $data['total_amount'];
if(ceil($total_amount/10) != ($total_amount/10)) {
return ['code' => 201, 'msg' => '总金额必须是10的倍数', 'data' => ''];
}
$gid = $data['gid'];
if(empty($gid)) {
return ['code' => 201, 'msg' => '请选择礼物', 'data' => ''];
}
$count = Db::name('new_box')->where(['gid' => $gid, 'is_delete' => 1])->where('id','neq', $data['id'])->find();
if($count) {
return ['code' => 201, 'msg' => '该礼物已配置奖池,请重新选择礼物', 'data' => ''];
}
$gift_price = Db::name('gift')->where('gid', $gid)->value('gift_price');
if($data['total_amount'] < $gift_price) {
// return ['code' => 201, 'msg' => '总金额小于礼物价值', 'data' => ''];
}
$reslut = model('new_box')->isUpdate(true)->save($data);
if (!$reslut) {
return ['code' => 201, 'msg' => '编辑失败', 'data' => ''];
} else {
return ['code' => 200, 'msg' => '编辑成功', 'data' => ''];
}
}
//获取房间信息
public function get_new_box_info($tid)
{
$box_type_info = db::name('new_box')->where(['id' => $tid])->find();
if(empty($box_type_info)) {
return ['code' => 201, 'msg' => '数据不存在', 'data' => null];
}
$gift_info = Db::name('gift')->find($box_type_info['gid']);
if(empty($gift_info)) {
return ['code' => 201, 'msg' => '礼物数据不存在', 'data' => null];
}
$box_type_info['gift_name'] = $gift_info['gift_name'];
$box_type_info['gift_price'] = $gift_info['gift_price'];
return ['code' => 200, 'msg' => '获取成功', 'data' => $box_type_info];
}
//开奖期数
public function get_new_box_log($nb_id, $status, $page, $page_limit)
{
$map = [];
if($nb_id) {
$map[] = ['nb_id', '=', $nb_id];
}
if($status) {
$map[] = ['status', '=', $status];
}
$list = db::name('new_box_log')
->alias('a')
->join('yy_gift b', 'a.gid = b.gid')
->join('yy_user c', 'a.win_uid = c.uid', 'left')
->field('a.*,b.gift_name,b.gift_price,b.base_image,c.base64_nick_name')
->where($map)
->page($page, $page_limit)
->order('a.id', 'desc')->select();
foreach($list as &$val) {
if($val['base64_nick_name']) {
$val['nick_name'] = mb_convert_encoding(base64_decode($val['base64_nick_name']), 'UTF-8', 'UTF-8');
} else {
$val['nick_name'] = '未中奖';
}
}
$data = [];
$data['count'] = db::name('new_box_log')->alias('a')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//开奖记录
public function get_user_new_box_log($uid, $nbl_id, $start_time, $end_time, $page, $page_limit)
{
$map = [];
if($nbl_id) {
$map[] = ['a.nbl_id', '=', $nbl_id];
}
if($uid) {
$map[] = ['a.uid', '=', $uid];
}
if($start_time) {
$map[] = ['a.add_time', '>=', strtotime($start_time)];
}
if($end_time) {
$map[] = ['a.add_time', '<', strtotime($end_time)];
}
$list = db::name('user_new_box_log')
->alias('a')
->join('yy_new_box_log b', 'a.nbl_id = b.id')
->join('yy_user c', 'a.uid = c.uid', 'left')
->join('yy_gift d', 'b.gid = d.gid', 'left')
->field('a.*,d.gift_name,d.base_image,c.base64_nick_name,c.head_pic')
->where($map)
->page($page, $page_limit)
->order('a.id', 'desc')->select();
foreach($list as &$val) {
$val['nick_name'] = mb_convert_encoding(base64_decode($val['base64_nick_name']), 'UTF-8', 'UTF-8');
$val['head_pic'] = localpath_to_netpath($val['head_pic']);
$val['base_image'] = localpath_to_netpath($val['base_image']);
}
$data = [];
$data['count'] = db::name('user_new_box_log')->alias('a')->where($map)->count();
$total_pay_amount = db::name('user_new_box_log')->alias('a')->where($map)->sum('pay_amount');
$totalRowData['pay_amount'] = $total_pay_amount;
$data['totalData'] = $totalRowData;
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -0,0 +1,251 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Nobility extends Model
{
//列表
public function get_nobility_list($order, $sort, $page = 1, $limit = 20)
{
$map = [];
$map[] = ['is_delete', '=', 1];
$list = db::name('nobility')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['image'] = localpath_to_netpath($v['image']);
}
$data = [];
$data['count'] = db::name('nobility')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_nobility($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$nobility_info = db::name('nobility')->find($data['lid']);
if (empty($nobility_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
// $update_data['level'] = $data['level'];
$update_data['name'] = $data['name'];
$update_data['image'] = $data['image'];
// $update_data['change_value'] = $data['change_value'];
// $update_data['images'] = $data['images'];
$update_data['pay_price'] = $data['pay_price'];
$update_data['renew_price'] = $data['renew_price'];
$update_data['pay_coin'] = $data['pay_coin'];
$update_data['renew_coin'] = $data['renew_coin'];
// $update_data['play_image'] = $data['play_image'];
// $update_data['is_public_server'] = $data['is_public_server'];
// $update_data['is_kick'] = $data['is_kick'];
// $update_data['is_show_rank'] = $data['is_show_rank'];
// $update_data['is_freedom_micro'] = $data['is_freedom_micro'];
// $update_data['is_look_visitor'] = $data['is_look_visitor'];
$update_data['day_num'] = $data['day_num'];
$update_data['update_time'] = time();
$reslut = db::name('nobility')->where(['lid' => $data['lid']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//获取信息
public function nobility_info($lid)
{
if (empty($lid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gift_info = db::name('nobility')->where(['lid' => $lid])->find();
$gift_info['image'] = localpath_to_netpath($gift_info['image']);
// $gift_info['images'] = localpath_to_netpath($gift_info['images']);
// $gift_info['http_play_image'] = localpath_to_netpath($gift_info['play_image']);
return ['code' => 200, 'msg' => '获取成功', 'data' => $gift_info];
}
//权限列表
public function get_nobility_power_list($order, $sort, $page = 1, $limit = 20)
{
$map = [];
$list = db::name('nobility_power')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['image'] = localpath_to_netpath($v['image']);
}
$data = [];
$data['count'] = db::name('nobility_power')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取信息
public function nobility_power_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$gift_info = db::name('nobility_power')->where(['id' => $id])->find();
$gift_info['image'] = localpath_to_netpath($gift_info['image']);
$gift_info['images'] = localpath_to_netpath($gift_info['images']);
return ['code' => 200, 'msg' => '获取成功', 'data' => $gift_info];
}
//编辑
public function edit_nobility_power($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$nobility_info = db::name('nobility_power')->find($data['id']);
if (empty($nobility_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
$update_data['name'] = $data['name'];
$update_data['image'] = $data['image'];
$update_data['images'] = $data['images'];
$update_data['content'] = $data['content'];
$update_data['update_time'] = time();
$reslut = db::name('nobility_power')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//用户爵位列表
public function get_user_nobility_list($order, $sort, $page = 1, $limit = 20)
{
$map = [];
$map[] = ['a.is_delete', '=', 1];
$map[] = ['a.status', '=', 1];
$list = db::name('user_nobility')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_nobility c', 'c.lid = a.lid')->field('a.id, b.uid, b.nick_name, b.base64_nick_name, b.head_pic, c.name, a.add_time, a.update_time')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($v['head_pic']);
}
$data = [];
$data['count'] = db::name('user_nobility')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_nobility c', 'c.lid = a.lid')->field('a.id')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_nobility_decorate_list($lid, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
$map[] = ['a.is_delete', '=', 1];
$map[] = ['a.lid', '=', $lid];
$banner_list = db::name('nobility_decorate')->alias('a')->join('yy_decorate b', 'a.did = b.did')->field('a.*,b.title,b.type,b.base_image')->where($map)->order($order, $sort)->select();
foreach ($banner_list as $k => &$v){
$v['base_image'] = localpath_to_netpath($v['base_image']);
}
$data = [];
$data['count'] = db::name('nobility_decorate')->alias('a')->join('yy_decorate b', 'a.did = b.did')->field('a.*,b.title,b.type,b.base_image')->where($map)->count();
$data['list'] = $banner_list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取
public function nobility_decorate_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$report_type = db::name('nobility_decorate')->find($id);
$report_type['decorate_id'] = $report_type['did'];
return ['code' => 200, 'msg' => '获取成功', 'data' => $report_type];
}
//添加
public function add_nobility_decorate($lid, $did, $day_num)
{
if(empty($lid) || empty($did)){
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
// if($day_num < 1){
// return ['code' => 201, 'msg' => '天数不能小于1天', 'data' => null];
// }
$decorate_info = db::name('decorate')->where('did', $did)->find();
// if($decorate_info['type'] == 2){
// $type = 4;
// }else if($decorate_info['type'] == 2){
// $type = 2;
// }else if($decorate_info['type'] == 3){
// $type = 3;
// }elseif($decorate_info['type'] == 4){
// $type = 6;
// }
$arr = [];
$arr['lid'] = $lid;
$arr['did'] = $did;
$arr['type'] = $decorate_info['type'];
// $arr['day_num'] = $day_num;
$arr['add_time'] = time();
$arr['update_time'] = time();
$add = db::name('nobility_decorate')->insert($arr);
if ($add) {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//修改
public function edit_nobility_decorate($id, $did, $day_num = 0)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
// if($day_num < 1){
// return ['code' => 201, 'msg' => '天数不能小于1天', 'data' => null];
// }
$decorate_info = db::name('decorate')->where('did', $did)->find();
// if($decorate_info['type'] == 1){
// $type = 4;
// }else if($decorate_info['type'] == 2){
// $type = 2;
// }else if($decorate_info['type'] == 3){
// $type = 3;
// }elseif($decorate_info['type'] == 4){
// $type = 6;
// }
$type = $decorate_info['type'];
$upd = db::name('nobility_decorate')->where(['id' => $id])->update(['did' => $did, 'type' => $type, 'day_num' => $day_num, 'update_time' => time()]);
if ($upd) {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//删除
public function del_nobility_decorate($id)
{
$del = db::name('nobility_decorate')->where(['id' => $id])->update(['is_delete' => 2, 'update_time' => time()]);
if ($del) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
}

View File

@@ -0,0 +1,419 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Play extends Model
{
//游戏列表
public function game_list($gid, $game_name, $is_show, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($gid)) {
$map[] = ['gid', '=', $gid];
}
if (!empty($game_name)) {
$map[] = ['game_name', 'like', '%' . $game_name . '%'];
}
if (!empty($is_show)) {
$map[] = ['is_show', '=', $is_show];
}
$map[] = ['is_delete', '=', 1];
$list = db::name('game')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$game_level = db::name('game_skill_level')->field('game_level_name')->where(['gid' => $v['gid']])->select();
$str = '';
foreach ($game_level as $m => $n) {
$str .= $n['game_level_name'] . ',';
}
$v['game_level_name'] = $str;
$v['game_ico1'] = localpath_to_netpath($v['game_ico1']);
$v['game_ico2'] = localpath_to_netpath($v['game_ico2']);
$v['game_ico'] = localpath_to_netpath($v['game_ico']);
$v['cover_image'] = localpath_to_netpath($v['cover_image']);
$v['skill_image'] = localpath_to_netpath($v['skill_image']);
}
$data = [];
$data['count'] = db::name('game')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑游戏
public function edit_game($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$game = db::name('game')->find($data['gid']);
if (empty($game)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
$update_data['game_name'] = $data['game_name'];
$update_data['game_ico'] = $data['game_ico'];
$update_data['game_ico1'] = $data['game_ico1'];
$update_data['game_ico2'] = $data['game_ico2'];
$update_data['cover_image'] = $data['cover_image'];
$update_data['skill_image'] = $data['skill_image'];
$update_data['is_show'] = $data['is_show'];
$update_data['sort'] = $data['sort'];
$update_data['update_time'] = time();
$reslut = db::name('game')->where(['gid' => $data['gid']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加游戏
public function add_game($data)
{
$update_data['game_name'] = $data['game_name'];
$update_data['game_ico'] = $data['game_ico'];
$update_data['game_ico1'] = $data['game_ico1'];
$update_data['game_ico2'] = $data['game_ico2'];
$update_data['cover_image'] = $data['cover_image'];
$update_data['skill_image'] = $data['skill_image'];
$update_data['is_show'] = $data['is_show'];
$update_data['sort'] = $data['sort'];
$update_data['update_time'] = time();
$update_data['add_time'] = time();
$reslut = db::name('game')->insert($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取游戏信息
public function game_info($gid)
{
if (empty($gid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('game')->where(['gid' => $gid])->find();
$info['http_game_ico'] = localpath_to_netpath($info['game_ico']);
$info['http_game_ico1'] = localpath_to_netpath($info['game_ico1']);
$info['http_game_ico2'] = localpath_to_netpath($info['game_ico2']);
$info['http_cover_image'] = localpath_to_netpath($info['cover_image']);
$info['http_skill_image'] = localpath_to_netpath($info['skill_image']);
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
//删除游戏
public function del_game($gid)
{
if (empty($gid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('game')->where(['gid' => $gid])->update(['is_delete' => 2, 'delete_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//游戏等级列表
public function game_skill_level_list($lid, $gid, $game_level_name, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($lid)) {
$map[] = ['a.lid', '=', $lid];
}
if (!empty($game_level_name)) {
$map[] = ['a.game_level_name', 'like', '%' . $game_level_name . '%'];
}
if (!empty($gid)) {
$map[] = ['a.gid', '=', $gid];
}
$map[] = ['a.is_delete', '=', 1];
$list = db::name('game_skill_level')->where($map)->alias('a')
->join('yy_game b', 'a.gid = b.gid')
->field(
'a.*,b.game_name'
)->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['gid_game_name'] = $v['gid'] . '-' . $v['game_name'];
}
$data = [];
$data['count'] = db::name('game_skill_level')->where($map)->alias('a')
->join('yy_game b', 'a.gid = b.gid')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑游戏等级
public function edit_game_skill_level($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$game = db::name('game_skill_level')->find($data['lid']);
if (empty($game)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
$update_data['gid'] = $data['gid'];
$update_data['game_level_name'] = $data['game_level_name'];
$update_data['update_time'] = time();
$reslut = db::name('game_skill_level')->where(['lid' => $data['lid']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//添加游戏等级
public function add_game_skill_level($data)
{
$add_data = [];
$update_data['gid'] = $data['gid'];
$update_data['game_level_name'] = $data['game_level_name'];
$update_data['update_time'] = time();
$update_data['add_time'] = time();
$reslut = db::name('game_skill_level')->insert($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
}
}
//获取游戏等级信息
public function game_skill_level_info($lid)
{
if (empty($lid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('game_skill_level')->where(['lid' => $lid])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
//删除 游戏等级
public function del_game_skill_level($lid)
{
if (empty($lid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('game_skill_level')->where(['lid' => $lid])->update(['is_delete' => 2, 'delete_time' => time()]);
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//陪玩主播 列表
public function player_list($uid, $nick_name, $sex, $special_uid, $gid, $real_name, $is_top, $is_recommend, $is_business, $status, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
if (!empty($nick_name)) {
$map[] = ['b.nick_name', 'like', '%' . $nick_name . '%'];
}
if (!empty($sex)) {
$map[] = ['b.sex', '=', $sex];
}
if (!empty($special_uid)) {
$map[] = ['b.special_uid', '=', $special_uid];
}
if (!empty($gid)) {
$map[] = ['a.gid', '=', $gid];
}
if (!empty($real_name)) {
$map[] = ['b.real_name', 'like', '%' . $real_name . '%'];
}
if (!empty($is_top)) {
$map[] = ['a.is_top', '=', $is_top];
}
if (!empty($is_recommend)) {
$map[] = ['a.is_recommend', '=', $is_recommend];
}
if (!empty($is_business)) {
$map[] = ['a.is_business', '=', $is_business];
}
if (!empty($status)) {
$map[] = ['a.status', '=', $status];
}
$list = db::name('user_player')
->alias('a')
->join('yy_user b', 'a.uid = b.uid')
->field('a.*,b.nick_name,b.sex,b.special_uid,b.real_name')
->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$game_name = db::name('game')->where(['gid' => $v['gid']])->value('game_name');
$game_skill_level = db::name('game_skill_level')->where(['lid' => $v['lid']])->value('game_level_name');
$v['game_level_name'] = $game_name . '-' . $game_skill_level;
$v['cover_image'] = localpath_to_netpath($v['cover_image']);
$v['skill_image'] = localpath_to_netpath($v['skill_image']);
}
$data = [];
$data['count'] = db::name('user_player')->alias('a')
->join('yy_user b', 'a.uid = b.uid')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑 陪玩主播
public function edit_player($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('user_player')->find($data['pid']);
if (empty($info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$update_data = [];
$update_data['price'] = $data['price'];
$update_data['skill_image'] = $data['skill_image'];
$update_data['cover_image'] = $data['cover_image'];
$update_data['introduction'] = $data['introduction'];
$update_data['is_top'] = $data['is_top'];
$update_data['is_recommend'] = $data['is_recommend'];
$update_data['is_business'] = $data['is_business'];
$update_data['flag'] = $data['flag'];
$update_data['remarks'] = $data['remarks'];
$update_data['status'] = $data['status'];
$update_data['update_time'] = time();
if ($data['status'] != $info['status']) {
$update_data['deal_time'] = time();
}
$user_info = db::name('user')->find($info['uid']);
if ($update_data['status'] == 2) {
$player_game_list = explode(',', $user_info['player_game_list']);
$player_game_list[] = $info['gid'];
$player_game_list = array_unique($player_game_list);
$user_data = [];
$user_data['is_player'] = 2;
$user_data['player_game_list'] = trim(implode(',', $player_game_list), ',');
db::name('user')->where('uid', $info['uid'])->update($user_data);
} else {
$player_game_list = explode(',', $user_info['player_game_list']);
if (!empty($player_game_list)) {
$key_array = array_keys($player_game_list, $info['gid']);
if (!empty($key_array)) {
unset($player_game_list[$key_array[0]]);
$player_game_list = array_unique($player_game_list);
$user_data = [];
$user_data['is_player'] = 2;
$user_data['player_game_list'] = trim(implode(',', $player_game_list), ',');
db::name('user')->where('uid', $info['uid'])->update($user_data);
}
}
}
$reslut = db::name('user_player')->where(['pid' => $data['pid']])->update($update_data);
if (!$reslut) {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
}
}
//获取 陪玩主播 信息
public function player_info($pid)
{
if (empty($pid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('user_player')->where(['pid' => $pid])->find();
$info['cover_image'] = localpath_to_netpath($info['cover_image']);
$info['skill_image'] = localpath_to_netpath($info['skill_image']);
$info['sound'] = localpath_to_netpath($info['sound']);
$user = db::name('user')->where(['uid' => $info['uid']])->find();
$info['nickname_real_name'] = $user['nick_name'] . '-' . $user['real_name'];
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
//删除 陪玩主播
public function del_player($pid)
{
if (empty($pid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$reslut = db::name('user_player')->where(['pid' => $pid])->delete();
if (!$reslut) {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
} else {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
}
//陪玩订单 列表
public function player_order_list($order_sn, $uid, $player_uid, $price, $service_rate, $status, $is_over, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($order_sn)) {
$map[] = ['order_sn', '=', $order_sn];
}
if (!empty($uid)) {
$map[] = ['uid', '=', $uid];
}
if (!empty($player_uid)) {
$map[] = ['player_uid', '=', $player_uid];
}
if (!empty($price)) {
$map[] = ['price', '=', $price];
}
if (!empty($service_rate)) {
$map[] = ['service_rate', '=', $service_rate];
}
if (!empty($status)) {
$map[] = ['status', '=', $status];
}
if (!empty($is_over)) {
$map[] = ['is_over', '=', $is_over];
}
if (empty($order)) {
$order = 'oid';
}
if (empty($sort)) {
$sort = 'desc';
}
$list = db::name('user_player_order')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['game_name'] = db::name('game')->where(['gid' => $v['gid']])->value('game_name');
$u_nickname = db::name('user')->where(['uid' => $v['uid']])->value('nick_name');
$p_nickname = db::name('user')->where(['uid' => $v['player_uid']])->value('nick_name');
$v['uid_nickname'] = $v['uid'] . '-' . $u_nickname;
$v['player_uid_nickname'] = $v['player_uid'] . '-' . $p_nickname;
}
$data = [];
$data['count'] = db::name('user_player_order')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取 陪玩订单 信息
public function player_order_info($oid)
{
if (empty($oid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$info = db::name('user_player_order')->where(['oid' => $oid])->find();
$u_nickname = db::name('user')->where(['uid' => $info['uid']])->value('nick_name');
$p_nickname = db::name('user')->where(['uid' => $info['player_uid']])->value('nick_name');
$info['uid_nickname'] = $info['uid'] . '-' . $u_nickname;
$info['player_uid_nickname'] = $info['player_uid'] . '-' . $p_nickname;
$info['game_name'] = db::name('game')->where(['gid' => $info['gid']])->value('game_name');
return ['code' => 200, 'msg' => '获取成功', 'data' => $info];
}
}

View File

@@ -0,0 +1,118 @@
<?php
namespace app\admin\model;
use think\Db;
class Relation extends AdminComModel
{
//获取数据
public function get_list($page = 1, $page_limit = 15)
{
$list = Db::name('relation')->where('is_delete', 1 )
->order('id', 'desc')
->page($page, $page_limit)->select();
$count = Db::name('relation')->count();
$data = [];
$data['code'] = 0;
$data['msg'] = '获取数据成功';
$data['data'] = $list;
$data['count'] = $count;
return json($data);
}
//添加
public function add($name, $color, $day)
{
if (empty($name) || empty($color) || empty($day)) {
return ['code' => 201, 'msg' => '参数错误', 'data' => null];
}
$type = input('type', 0);
if(empty($type)) {
return ['code' => 201, 'msg' => '请选择类型', 'data' => null];
}
$info = Db::name('relation')
->where('name', $name)
->where('is_delete', 1)
->where('type', $type)
->find();
if ($info) {
return ['code' => 201, 'msg' => '话题已存在', 'data' => null];
}
$data = $this->append_add_update_time([
'name' => $name,
'color' => $color,
'day' => $day,
'type' => $type,
]);
try {
Db::name('relation')->insert($data);
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} catch (\Exception $e) {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//获取信息
public function get_info($id)
{
$info = Db::name('relation')->find($id);
if (empty($info)) {
return ['code' => 201, 'msg' => '数据不存在', 'data' => null];
}
return ['code' => 200, 'msg' => '获取数据成功', 'data' => $info];
}
//编辑
public function edit($id, $name, $color, $day)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数ID错误', 'data' => null];
}
if (empty($name) || empty($color) || empty($day)) {
return ['code' => 201, 'msg' => '参数错误', 'data' => null];
}
$type = input('type', 0);
if(empty($type)) {
return ['code' => 201, 'msg' => '请选择类型', 'data' => null];
}
$info = Db::name('relation')
->where('name', $name)
->where('is_delete', 1)
->where('id', 'neq', $id)
->where('type', $type)
->find();
if ($info) {
return ['code' => 201, 'msg' => '话题已存在', 'data' => null];
}
$result = Db::name('relation')->where('id', $id)
->update([
'name' => $name,
'color' => $color,
'day' => $day,
'update_time' => time(),
'type' => $type,
]);
if ($result) {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//删除
public function del($id)
{
$info = Db::name('relation')->find( $id);
if (empty($info)) {
return ['code' => 201, 'msg' => '数据不存在', 'data' => null];
}
$result = Db::name('relation')->where('id', $id)
->update(['is_delete' => 2, 'update_time' => time()]);
if ($result) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
}
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace app\admin\model;
use think\Db;
class ReloadDb
{
private static $time = null;
/**
* 检测或执行主动重连
* @author andy3513
* @param int $timeout 超时时间
* @param array $config 连接参数
*/
public static function init($timeout = 7200,$config = []){
$time = time();
if(null === self::$time){
self::$time = $time;
}
$exprie = $time - self::$time;
if($exprie >= $timeout){
Db::connect($config, true);
self::$time = $time;
}
}
}

View File

@@ -0,0 +1,149 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Report extends Model
{
//获取举报列表
public function report_list($uid, $to_uid, $nick_name, $to_nick_name, $order, $sort, $page = 1, $limit = 20)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
if (!empty($to_uid)) {
$map[] = ['a.to_uid', '=', $to_uid];
}
if (!empty($nick_name)) {
$map[] = ['b.nick_name', 'like', '%' . $nick_name . '%'];
}
$list = db::name('user_report')
->alias('a')->join('yy_user b', 'a.uid = b.uid')
->field('a.*,b.nick_name')->where($map)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$list[$k]['user_nick_name'] = $v['uid'] . '-' . $v['nick_name'];
$to_nick_name = db::name('user')->where(['uid' => $v['to_uid']])->value('nick_name');
$list[$k]['to_nick_name'] = $v['to_uid'] . '-' . $to_nick_name;
$list[$k]['to_nick_name'] = $v['to_uid'] . '-' . $to_nick_name;
$list[$k]['type_name'] = db::name('report_type')->where(['id' => $v['type_id']])->value('type_name');
$image_data = explode(',', $v['image']);
$v['image_list'] = [];
if (!empty($image_data)) {
foreach ($image_data as $m => $n) {
$v['image_list'][] = localpath_to_netpath($n);
}
}
}
$data = [];
$data['count'] = db::name('user_report')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取举报详情
public function report_info($rid)
{
if (empty($rid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$room_type_info = db::name('user_report')->find($rid);
$room_type_info['uid_name'] = db::name('user')->where(['uid' => $room_type_info['uid']])->value('nick_name');
$room_type_info['to_uid_name'] = db::name('user')->where(['uid' => $room_type_info['to_uid']])->value('nick_name');
return ['code' => 200, 'msg' => '获取成功', 'data' => $room_type_info];
}
//修改举报信息
public function edit_user_info($rid, $status)
{
if (empty($rid)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$upd = db::name('user_report')->where(['rid' => $rid])->update(['status' => $status, 'update_time' => time(), 'deal_time' => time()]);
if ($upd) {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//删除举报信息
public function del_Report($rid)
{
$del = db::name('user_report')->where(['rid' => $rid])->delete();
if ($del) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
//举报类型 列表
public function report_type_list($order, $sort, $page = 1, $limit = 20)
{
$map[] = ['is_delete', '=', 1];
$banner_list = db::name('report_type')->where($map)->order($order, $sort)->select();
$data = [];
$data['count'] = db::name('report_type')->where($map)->count();
$data['list'] = $banner_list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取举报类型
public function report_type_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$report_type = db::name('report_type')->find($id);
return ['code' => 200, 'msg' => '获取成功', 'data' => $report_type];
}
//添加举报类型
public function add_report_type($type_name)
{
$arr = [];
$arr['type_name'] = $type_name;
$arr['add_time'] = time();
$arr['update_time'] = time();
$add = db::name('report_type')->insert($arr);
if ($add) {
return ['code' => 200, 'msg' => '添加成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '添加失败', 'data' => null];
}
}
//修改举报类型
public function edit_report_type($id, $type_name)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$upd = db::name('report_type')->where(['id' => $id])->update(['type_name' => $type_name, 'update_time' => time()]);
if ($upd) {
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//删除举报类型
public function del_report_type($id)
{
$del = db::name('report_type')->where(['id' => $id])->update(['is_delete' => 2, 'delete_time' => time()]);
if ($del) {
return ['code' => 200, 'msg' => '删除成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '删除失败', 'data' => null];
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,383 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Sprite extends Model
{
//列表
public function get_monster_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('Sprite')->order($order, $sort)->page($page, $limit)->select();
$total_num = db::name('Sprite')->sum('num');
foreach ($list as $k => &$v) {
$v['rate'] = round($v['num']/$total_num, 6)*100;
$v['rate'] = $v['rate'].'%';
$gift_info = db::name('gift')->where('gid', $v['gid'])->find();
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
}
$data = [];
$data['count'] = db::name('Sprite')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_monster($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('Sprite')->find($data['id']);
if (empty($monster_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
// $update_data['multiple'] = $data['multiple'];
$update_data['gid'] = $data['gid'];
$update_data['num'] = $data['num'];
$update_data['update_time'] = time();
$reslut = db::name('Sprite')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取信息
public function get_monster_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('Sprite')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
}
//列表
public function get_monster_multiple_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('sprite_multiple')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
}
$data = [];
$data['count'] = db::name('sprite_multiple')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//编辑
public function edit_monster_multiple($data)
{
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('sprite_multiple')->find($data['id']);
if (empty($monster_info)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
$update_data['multiple'] = $data['multiple'];
$update_data['update_time'] = time();
$reslut = db::name('sprite_multiple')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//获取信息
public function get_monster_multiple_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('sprite_multiple')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
}
//列表
public function get_monster_log($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('sprite_log')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['type_name'] = '暂未开奖';
$v['gid'] = 0;
$v['gift_name'] = '';
$v['base_image'] = '';
$v['gift_price'] = 0;
if($v['is_delete'] == 2){
if($v['is_evil_wind'] == 2){
$v['type_name'] = db::name('sprite')->where('id', $v['win_type'])->value('type_name');
$v['wind_type_name'] = '单号';
}else{
if($v['win_type'] == 1){
$where = [];
$where[] = ['id', 'in', [1,2]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 2){
$where = [];
$where[] = ['id', 'in', [1,3]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 3){
$where = [];
$where[] = ['id', 'in', [1,4]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 4){
$where = [];
$where[] = ['id', 'in', [1,5]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 5){
$where = [];
$where[] = ['id', 'in', [2,3]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 6){
$where = [];
$where[] = ['id', 'in', [2,4]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 7){
$where = [];
$where[] = ['id', 'in', [2,5]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 8){
$where = [];
$where[] = ['id', 'in', [3,4]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else if($v['win_type'] == 9){
$where = [];
$where[] = ['id', 'in', [3,5]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}else{
$where = [];
$where[] = ['id', 'in', [4,5]];
$type_name_arr = db::name('sprite')->where($where)->column('type_name');
$type_name_arr = implode(',', $type_name_arr);
$v['type_name'] = $type_name_arr;
$v['wind_type_name'] = '双号';
}
}
}
}
$data = [];
$data['count'] = db::name('sprite_log')->count();
$data['list'] = $list;
$totalRowData = db::name('sprite_log')->field('count(1) as count,SUM(out_amount) as out_amount,SUM(in_amount) as in_amount')->find();
unset($totalRowData['count']);
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_user_monster_log($mid, $order, $sort, $page = 1, $limit = 20)
{
$list = db::name('user_sprite_log')->where('mid', $mid)->where('is_close', 1)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->where('uid', $v['uid'])->field('uid,nick_name,base64_nick_name,head_pic')->find();
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_info['head_pic']);
$v['type_name'] = db::name('sprite')->where('type', $v['type'])->value('type_name');
}
$data = [];
$data['count'] = db::name('user_sprite_log')->where('mid', $mid)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_user_monster_win_log($mid, $order, $sort, $page = 1, $limit = 20)
{
$list = db::name('user_sprite_win_log')->where('mid', $mid)->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$user_info = db::name('user')->where('uid', $v['uid'])->field('uid,nick_name,base64_nick_name,head_pic')->find();
$v['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_info['head_pic']);
// $v['type_name'] = db::name('sprite')->where('type', $v['win_type'])->value('type_name');
// $v['multiple'] = db::name('sprite')->where('type', $v['win_type'])->value('multiple');
$gift_info = db::name('gift')->where('gid', $v['win_gid'])->field('gid,gift_name,base_image,gift_price')->find();
$v['gift_name'] = $gift_info['gift_name'];
$v['base_image'] = localpath_to_netpath($gift_info['base_image']);
$v['gift_price'] = $gift_info['gift_price'];
// $v['multiple_price'] = $v['multiple'] * $v['price'];
}
$data = [];
$data['count'] = db::name('user_sprite_win_log')->where('mid', $mid)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//列表
public function get_monster_gift_list($order, $sort, $page = 1, $limit = 20)
{
$list = db::name('sprite_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->field('a.id, a.gid, b.gift_name, b.base_image, b.gift_price, a.update_time')->order($order, $sort)->page($page, $limit)->select();
foreach ($list as $k => &$v) {
$v['base_image'] = localpath_to_netpath($v['base_image']);
}
$data = [];
$data['count'] = db::name('sprite_gift')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取信息
public function get_monster_gift_info($id)
{
if (empty($id)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_info = db::name('sprite_gift')->where(['id' => $id])->find();
return ['code' => 200, 'msg' => '获取成功', 'data' => $monster_info];
}
//编辑
public function edit_monster_gift($data){
if (empty($data)) {
return ['code' => 201, 'msg' => '参数异常', 'data' => null];
}
$monster_gift_info = db::name('sprite_gift')->find($data['id']);
if (empty($monster_gift_info)) {
return ['code' => 201, 'msg' => '参数异常1', 'data' => null];
}
Db::startTrans();
try {
$update_data = [];
// $update_data['multiple'] = $data['multiple'];
// $update_data['gid'] = $data['gid'];
$update_data['gid'] = $data['gid'];
$update_data['update_time'] = time();
$reslut = db::name('sprite_gift')->where(['id' => $data['id']])->update($update_data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
Db::commit();
return ['code' => 200, 'msg' => '修改成功', 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => '修改失败', 'data' => null];
}
}
//列表
public function get_exchange_sprite_list($uid, $order, $sort, $page = 1, $limit = 20, $room_number, $start, $end)
{
$map = [];
if(!empty($uid)){
$map[] = ['a.uid', '=', $uid];
}
if(!empty($room_number)){
$rid = db::name('room')->where('room_number', $room_number)->value('rid');
if(!empty($rid)){
$map[] = ['a.rid', '=', $rid];
}
}
if (!empty($start)) {
$map[] = ['a.add_time', '>=', strtotime($start)];
}
if (!empty($end)) {
$map[] = ['a.add_time', '<=', strtotime($end)];
}
$list = db::name('user_exchange_sprite_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->field('a.id, a.uid, a.rid, b.base64_nick_name, b.head_pic, a.airship, a.add_time')->order($order, $sort)->page($page, $limit)->select();
// $gift_info = db::name('gift')->where('gid', 40)->find();
foreach ($list as $k => &$v) {
$base64_room_name = db::name('room')->where('rid', $v['rid'])->value('base64_room_name');
$v['room_name'] = mb_convert_encoding(base64_decode($base64_room_name), 'UTF-8', 'UTF-8');
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($v['head_pic']);
// $v['gift_name'] = $gift_info['gift_name'];
// $v['base_image'] = localpath_to_netpath($gift_info['base_image']);
// $v['gift_price'] = $gift_info['gift_price'];
}
$data = [];
$data['count'] = db::name('user_exchange_sprite_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->count();
$data['list'] = $list;
$totalRowData = db::name('user_exchange_sprite_log')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->field('SUM(a.airship) as airship')->find();
$data['totalRow'] = $totalRowData;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -0,0 +1,391 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class Statistics extends Model
{
//获取首页基础统计数据
public function welcome_data()
{
$data = [];
//获取系统会员总人数
$data['user_all_count'] = db::name('user')->count();
//今日会员新增总数
$data['user_today_count'] = db::name('user')->whereTime('add_time', 'today')->count();
//本周会员新增总数
$data['user_week_count'] = db::name('user')->whereTime('add_time', 'week')->count();
//获取系统订单总人数
$data['user_player_order_all_amount'] = db::name('user_player_order')->sum('total_amount');
//今日订单新增总数
$data['user_player_order_today_amount'] = db::name('user_player_order')->whereTime('add_time', 'today')->sum('total_amount');
//本周订单新增总数
$data['user_player_order_week_amount'] = db::name('user_player_order')->whereTime('add_time', 'week')->sum('total_amount');
//获取系统充值总人数
$data['user_recharge_all_amount'] = db::name('user_recharge')->where(['pay_status' => 2])->sum('money');
//今日充值新增总数
$data['user_recharge_today_amount'] = db::name('user_recharge')->where(['pay_status' => 2])->whereTime('add_time', 'today')->sum('money');
//本周充值新增总数
$data['user_recharge_week_amount'] = db::name('user_recharge')->where(['pay_status' => 2])->whereTime('add_time', 'week')->sum('money');
//获取系统打赏总人数
$data['user_send_gift_all_amount'] = db::name('user_send_gift')->sum('gift_total_price');
//今日打赏新增总数
$data['user_send_gift_today_amount'] = db::name('user_send_gift')->whereTime('add_time', 'today')->sum('gift_total_price');
//本周打赏新增总数
$data['user_send_gift_week_amount'] = db::name('user_send_gift')->whereTime('add_time', 'week')->sum('gift_total_price');
//充值总积分
$map = [];
$map[] = ['money_type', '=', 2];
$map[] = ['change_type', 'in', [1,9]];
$data['platform_recharge_integral_all_amount'] = db::name('user_money_log')->where($map)->sum('change_value');
//充值总余额
$map = [];
$map[] = ['money_type', '=', 1];
$map[] = ['change_type', 'in', [1]];
$data['platform_recharge_money_all_amount'] = db::name('user_money_log')->where($map)->sum('change_value');
//用户总余额
$data['user_all_money'] = db::name('user')->sum('money');
//用户总积分
$data['user_all_integral'] = db::name('user')->sum('integral');
//背包礼物总价值
$map = [];
$map[] = ['a.num', '>', 0];
$map[] = ['a.is_tester', '=', 1];
$data['pack_gift_all_amount'] = db::name('user_gift_pack')->alias('a')->join('yy_gift b', 'a.gid = b.gid')->where($map)->sum('a.num*b.gift_price');
//总支出
$map = [];
$map[] = ['box_type', 'in', [4,5,6]];
$data['all_out_amount'] = db::name('user_box_count')->where($map)->sum('out_amount');
//总收入
$data['all_in_amount'] = db::name('user_box_count')->where($map)->sum('in_amount');
//总盈亏
$data['all_profit'] = $data['all_in_amount'] - $data['all_out_amount'];
//总爆率
if($data['all_out_amount'] > 0){
$data['all_rate'] = round($data['all_in_amount']/$data['all_out_amount'],6);
}else{
$data['all_rate'] = 0;
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取打赏金额每天统计
public function get_send_gift_data_by_day()
{
//购买
$sql = "SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') AS atime,sum(gift_total_price) as gift_total_price
FROM yy_user_send_gift where gift_from_type=1 GROUP BY atime ORDER BY atime desc LIMIT 0,72";
$list = Db::query($sql);
$gift_data1 = [];
foreach ($list as $k => $v) {
$gift_data1[$v['atime']] = $v['gift_total_price'];
}
//背包
$sql = "SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') AS atime,sum(gift_total_price) as gift_total_price
FROM yy_user_send_gift where gift_from_type=2 GROUP BY atime ORDER BY atime desc LIMIT 0,72";
$list = Db::query($sql);
$gift_data2 = [];
foreach ($list as $k => $v) {
$gift_data2[$v['atime']] = $v['gift_total_price'];
}
$now_hour = strtotime(date('Y-m-d'));
$x_data = [];
$y_data1 = [];
$y_data2 = [];
$y_data3 = [];
for ($i = 0; $i < 72; $i++) {
$l_hour = date('Y-m-d', $now_hour - $i * 24 * 3600);
$x_data[$i] = $l_hour;
if (!empty($gift_data1[$l_hour])) {
$y_data2[$i] = $gift_data1[$l_hour];
} else {
$y_data2[$i] = 0;
}
if (!empty($gift_data2[$l_hour])) {
$y_data3[$i] = $gift_data2[$l_hour];
} else {
$y_data3[$i] = 0;
}
$y_data1[$i] = $y_data2[$i] + $y_data3[$i];
}
$data = [];
$data['x_data'] = array_reverse($x_data);
$data['y_data1'] = array_reverse($y_data1);
$data['y_data2'] = array_reverse($y_data2);
$data['y_data3'] = array_reverse($y_data3);
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//获取打赏金额每小时统计
public function get_send_gift_data_by_hour()
{
//购买
$sql = "SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d %H:00:00') AS atime,sum(gift_total_price) as gift_total_price
FROM yy_user_send_gift where gift_from_type=1 GROUP BY atime ORDER BY atime desc LIMIT 0,72";
$list = Db::query($sql);
$gift_data1 = [];
foreach ($list as $k => $v) {
$gift_data1[$v['atime']] = $v['gift_total_price'];
}
//背包
$sql = "SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d %H:00:00') AS atime,sum(gift_total_price) as gift_total_price
FROM yy_user_send_gift where gift_from_type=2 GROUP BY atime ORDER BY atime desc LIMIT 0,72";
$list = Db::query($sql);
$gift_data2 = [];
foreach ($list as $k => $v) {
$gift_data2[$v['atime']] = $v['gift_total_price'];
}
$now_hour = strtotime(date('Y-m-d'));
$x_data = [];
$y_data1 = [];
$y_data2 = [];
$y_data3 = [];
for ($i = 0; $i < 72; $i++) {
$l_hour = date('Y-m-d', $now_hour - $i * 3600);
$x_data[$i] = $l_hour;
if (!empty($gift_data1[$l_hour])) {
$y_data2[$i] = $gift_data1[$l_hour];
} else {
$y_data2[$i] = 0;
}
if (!empty($gift_data2[$l_hour])) {
$y_data3[$i] = $gift_data2[$l_hour];
} else {
$y_data3[$i] = 0;
}
$y_data1[$i] = $y_data2[$i] + $y_data3[$i];
}
$data = [];
$data = [];
$data['x_data'] = array_reverse($x_data);
$data['y_data1'] = array_reverse($y_data1);
$data['y_data2'] = array_reverse($y_data2);
$data['y_data3'] = array_reverse($y_data3);
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//不同类型房间统计
public function get_room_type_date()
{
$room_type_list = db::name('room_type')->column('type_name', 'tid');
$sql = "SELECT tid,count(1) as count FROM `yy_room` GROUP BY tid";
$list = Db::query($sql);
$x_data = [];
$y_data = [];
foreach ($list as $k => $v) {
if (!empty($room_type_list[$v['tid']])) {
$x_data[$k] = $room_type_list[$v['tid']];
$y_data[$k]['name'] = $room_type_list[$v['tid']];
$y_data[$k]['value'] = $v['count'];
}
}
$data = [];
$data['x_data'] = $x_data;
$data['y_data'] = $y_data;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//陪玩订单数量统计
public function get_payer_order_date()
{
$game_list = db::name('game')->column('game_name', 'gid');
$sql = "SELECT gid,count(1) as count,sum(total_amount) AS total_amount FROM `yy_user_player_order` GROUP BY gid";
$list = Db::query($sql);
$x_data = [];
$y_data1 = [];
$y_data2 = [];
foreach ($list as $k => $v) {
if (!empty($game_list[$v['gid']])) {
$x_data[$k] = $game_list[$v['gid']];
$y_data1[$k]['name'] = $game_list[$v['gid']];
$y_data1[$k]['value'] = $v['count'];
$y_data2[$k]['name'] = $game_list[$v['gid']];
$y_data2[$k]['value'] = $v['total_amount'];
}
}
$data = [];
$data['x_data'] = $x_data;
$data['y_data1'] = $y_data1;
$data['y_data2'] = $y_data2;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_recharge_rank_list($uid, $time_section, $page, $limit)
{
$map = [];
if (!empty($uid)) {
$map[] = ['uid', '=', $uid];
}
$map[] = ['pay_status', '=', 2];
if (!empty($time_section)) {
$time_section = explode(' - ', $time_section);
if (count($time_section) != 2) {
return ['code' => 201, 'msg' => '时间区间异常', 'data' => null];
} else {
$start_time = $time_section[0];
$end_time = $time_section[1];
$start_time_time = strtotime($start_time);
$end_time_time = strtotime($end_time);
$map[] = ['add_time', 'between', [$start_time_time, $end_time_time]];
}
}
$list = db::name('user_recharge')->field('uid,sum(money) as total_money,sum(integral) as total_integral')->where($map)->group('uid')->order('total_money desc')->page($page, $limit)->select();
$where = [];
$where[] = ['uid', 'in', array_column($list, 'uid')];
$user_data = db::name('user')->where($where)->column('*', 'uid');
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($user_data[$v['uid']]['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_data[$v['uid']]['head_pic']);
}
$data = [];
$data['count'] = db::name('user_recharge')->where($map)->group('uid')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_send_gift_rank_list($uid, $time_section, $page, $limit)
{
$map = [];
if (!empty($uid)) {
$map[] = ['uid', '=', $uid];
}
if (!empty($time_section)) {
$time_section = explode(' - ', $time_section);
if (count($time_section) != 2) {
return ['code' => 201, 'msg' => '时间区间异常', 'data' => null];
} else {
$start_time = $time_section[0];
$end_time = $time_section[1];
$start_time_time = strtotime($start_time);
$end_time_time = strtotime($end_time);
$map[] = ['add_time', 'between', [$start_time_time, $end_time_time]];
}
}
$list = db::name('user_send_gift')->field('uid,sum(gift_total_price) as total_gift_total_price,sum(gift_num) as total_gift_num')->where($map)->group('uid')->order('total_gift_total_price desc')->page($page, $limit)->select();
$where = [];
$where[] = ['uid', 'in', array_column($list, 'uid')];
$user_data = db::name('user')->where($where)->column('*', 'uid');
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($user_data[$v['uid']]['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_data[$v['uid']]['head_pic']);
}
$data = [];
$data['count'] = db::name('user_send_gift')->where($map)->group('uid')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_receive_gift_rank_list($uid, $time_section, $page, $limit)
{
$map = [];
if (!empty($uid)) {
$map[] = ['receive_uid', '=', $uid];
}
if (!empty($time_section)) {
$time_section = explode(' - ', $time_section);
if (count($time_section) != 2) {
return ['code' => 201, 'msg' => '时间区间异常', 'data' => null];
} else {
$start_time = $time_section[0];
$end_time = $time_section[1];
$start_time_time = strtotime($start_time);
$end_time_time = strtotime($end_time);
$map[] = ['add_time', 'between', [$start_time_time, $end_time_time]];
}
}
$list = db::name('user_send_gift')->field('receive_uid,sum(receiver_profit) as total_gift_total_price,sum(gift_num) as total_gift_num')->where($map)->group('receive_uid')->order('total_gift_total_price desc')->page($page, $limit)->select();
$where = [];
$where[] = ['uid', 'in', array_column($list, 'receive_uid')];
$user_data = db::name('user')->where($where)->column('*', 'uid');
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($user_data[$v['receive_uid']]['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_data[$v['receive_uid']]['head_pic']);
}
$data = [];
$data['count'] = db::name('user_send_gift')->where($map)->group('receive_uid')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
public function get_player_order_rank_list($uid, $time_section, $order, $sort, $page, $limit)
{
$map = [];
if (!empty($uid)) {
$map[] = ['player_uid', '=', $uid];
}
$map[] = ['status', '=', 3];
$map[] = ['is_over', '=', 1];
if (!empty($time_section)) {
$time_section = explode(' - ', $time_section);
if (count($time_section) != 2) {
return ['code' => 201, 'msg' => '时间区间异常', 'data' => null];
} else {
$start_time = $time_section[0];
$end_time = $time_section[1];
$start_time_time = strtotime($start_time);
$end_time_time = strtotime($end_time);
$map[] = ['add_time', 'between', [$start_time_time, $end_time_time]];
}
}
$list = db::name('user_player_order')->field('uid,sum(total_amount) as total_total_amount,sum(num) as total_num')->where($map)->group('player_uid')->order('total_total_amount desc')->page($page, $limit)->select();
$where = [];
$where[] = ['uid', 'in', array_column($list, 'uid')];
$user_data = db::name('user')->where($where)->column('*', 'uid');
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($user_data[$v['uid']]['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_data[$v['uid']]['head_pic']);
}
$data = [];
$data['count'] = db::name('user_player_order')->where($map)->group('uid')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//用户消费排行统计
public function get_user_consume_rank_list($uid, $time_section, $page, $limit)
{
$map = [];
if (!empty($uid)) {
$map[] = ['uid', '=', $uid];
}
$map[] = ['money_type', '=', 1];
$map[] = ['change_value', '<', 0];
if (!empty($time_section)) {
$time_section = explode(' - ', $time_section);
if (count($time_section) != 2) {
return ['code' => 201, 'msg' => '时间区间异常', 'data' => null];
} else {
$start_time = $time_section[0];
$end_time = $time_section[1];
$start_time_time = strtotime($start_time);
$end_time_time = strtotime($end_time);
$map[] = ['add_time', 'between', [$start_time_time, $end_time_time]];
}
}
$list = db::name('user_money_log')->field('uid,ABS(SUM(change_value)) as total_change_value')->where($map)->group('uid')->order('total_change_value desc')->page($page, $limit)->select();
$where = [];
$where[] = ['uid', 'in', array_column($list, 'uid')];
$user_data = db::name('user')->where($where)->column('*', 'uid');
foreach ($list as $k => &$v) {
$v['nick_name'] = mb_convert_encoding(base64_decode($user_data[$v['uid']]['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($user_data[$v['uid']]['head_pic']);
}
$data = [];
$data['count'] = db::name('user_money_log')->where($map)->group('uid')->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}

View File

@@ -0,0 +1,156 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class SystemMenu extends Model
{
// 获取初始化数据
public function getSystemInit($aid = 0)
{
$homeInfo = [
'title' => '首页',
'href' => 'page/welcome.html',
];
$logoInfo = [
'title' => '后台 管理',
'image' => 'images/logo.png',
'href' => 'javascript:;',
];
$menuInfo = $this->getMenuList($aid);
$systemInit = [
'homeInfo' => $homeInfo,
'logoInfo' => $logoInfo,
'menuInfo' => $menuInfo,
];
return $systemInit;
}
// 获取菜单列表
private function getMenuList($aid)
{
$menuList = Db::name('system_menu')
->field('id,pid,title,icon,href,target')
->where('status', 1)
->where('type', 'in', [1, 2])
->order('sort', 'desc')
->select();
//超级管理员默认有所有权限
if ($aid != 1) {
$admin_info = db::name('admin')->find($aid);
if (empty($admin_info)) {
return ['code' => 201, 'msg' => '管理员信息不存在', 'data' => null];
}
$system_menu_id_list_data = explode(',', $admin_info['system_menu_id_list']);
foreach ($menuList as $k => &$v) {
if ($v['pid'] != 0) {
if (!in_array($v['id'], $system_menu_id_list_data)) {
unset($menuList[$k]);
}
}
}
}
$menuList = $this->buildMenuChild(0, $menuList);
return $menuList;
}
//递归获取子菜单
private function buildMenuChild($pid, $menuList)
{
$treeList = [];
foreach ($menuList as &$v) {
if ($pid == $v['pid']) {
$node = $v;
$child = $this->buildMenuChild($v['id'], $menuList);
if (!empty($child)) {
$node['child'] = $child;
}
// todo 后续此处加上用户的权限判断
$treeList[] = $node;
}
}
return $treeList;
}
public function get_all_system_menu_list($aid)
{
$menuList = Db::name('system_menu')
->field('id,pid,title,icon,href,target')
->where('status', 1)
->where('type', 'in', [1, 2])
->order('sort', 'desc')
->select();
$admin_info = db::name('admin')->find($aid);
if (empty($admin_info)) {
return ['code' => 201, 'msg' => '管理员信息不存在', 'data' => null];
}
$system_menu_id_list_data = explode(',', $admin_info['system_menu_id_list']);
$menu_data = [];
// dump($menuList);die;
foreach ($menuList as $k => &$v) {
// $v['is_show'] = 1; //有权限
// if (!in_array($v['id'], $system_menu_id_list_data) && $aid != 1) {
// $v['is_show'] = 2; //无权限
// }
$checked = false; //有权限
if (in_array($v['id'], $system_menu_id_list_data) ) {
$checked = true; //无权限
}
$v['checked'] = $checked;
$v['spread'] = true;
$menu_data[$v['id']] = $v;
}
foreach ($menu_data as $key => $val) {
if ($val['checked'] === true && $val['pid'] != 0) {
$menu_data[$val['pid']]['checked'] = false;
}
}
// dump($menu_data);die;
// dump($menu_data);die;
// $menuList = $this->buildMenuChild(0, $menuList);
$menuList = $this->_getManySonData($menu_data);
return ['code' => 200, 'msg' => '获取成功', 'data' => $menuList];
}
//树形创建
private function _getManySonData($data, $sonName = 'children')
{
$tree = [];
//第一步将分类id作为数组key,并创建children单元
foreach ($data as $key => $val) {
// dump($val);
$tree[$val['id']] = $val;
$tree[$val['id']][$sonName] = [];
}
//第二步利用引用将每个分类添加到父类children数组中这样一次遍历即可形成树形结构。
foreach ($tree as $key => $val) {
if ($val['pid'] != 0) {
$tree[$val['pid']][$sonName][] = &$tree[$key];
if ($tree[$key][$sonName] == null) {
unset($tree[$key][$sonName]); //如果children为空则删除该children元素可选
}
}
}
//第三步,删除无用的非根节点数据
foreach ($tree as $key => $val) {
if (isset($val['pid']) && $val['pid'] != 0) {
unset($tree[$key]);
}
}
$result = [];
foreach ($tree as $key => $val) {
$result[] = $val;
}
return $result;
}
}

View File

@@ -0,0 +1,208 @@
<?php
namespace app\admin\model;
use think\Model;
use Qiniu\Storage\UploadManager;
use Qiniu\Auth;
use think\facade\Env;
use Qcloud\Cos\Client;
class Upload extends Model
{
//单文件上传
public function single_file_upload($file, $file_category_name = 'all')
{
//判断上传方式
$config = get_system_config();
if ($config['file_upload_type'] == 1) {
$reslut = $this->local_upload($file, $file_category_name);
} elseif ($config['file_upload_type'] == 2) {
$reslut = $this->qiniu_upload($file, $file_category_name);
}elseif ($config['file_upload_type'] == 3) {
$reslut = $this->tencent_upload($file, $file_category_name);
}
return $reslut;
}
public function server_local_upload($filePath){
$config = get_system_config();
$accessKey = $config['qiniu_access_key'];
$secretKey = $config['qiniu_secret_key'];
$bucket = $config['qiniu_bucket_name'];
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 生成上传 Token
$token = $auth->uploadToken($bucket);
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
$local_filePath= Env::get('root_path')."/public/".$filePath;
list($ret, $err) = $uploadMgr->putFile($token, $filePath, $local_filePath);
if ($err !== null) {
return ['code' => 201, 'msg' => "上传失败", 'data' => null];
} else {
$data = [];
$data['image_path'] = $ret['key'];
$data['size'] = 0;
$data['http_image_path'] = localpath_to_netpath($ret['key']);
return ['code' => 200, 'msg' => "上传成功", 'data' => $data];
}
}
public function local_upload($file, $file_category_name = 'all')
{
// // 获取表单上传文件 例如上传了001.jpg
// 移动到框架应用根目录/uploads/ 目录下
$root_path = 'public/uploads/' . $file_category_name;
mkdirs($root_path); //创建文件
$info = $file->validate(['ext' => 'jpeg,jpg,png,gif,mp4,mp3,wgt,svga'])->move('./uploads/' . $file_category_name);
if ($info) {
$file_info = $info->getInfo();
// 成功上传后 获取上传信息
// 输出 jpg
// echo $info->getExtension();
// // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
// echo $info->getSaveName();
// // 输出 42a79759f284b767dfcb2a0197904287.jpg
// echo $info->getFilename();
$image_path = '/uploads/' . $file_category_name . '/' . $info->getSaveName(); //返回的地址
$image_path = str_replace("\\", "/", $image_path);
$img['image_path'] = $image_path;
$img['size'] = $file_info['size'];
$img['http_image_path'] = localpath_to_netpath($image_path);
return ['code' => 200, 'msg' => '上传成功', 'data' => $img];
} else {
return ['code' => 201, 'msg' => '上传失败', 'data' => null];
}
}
public function qiniu_upload($file, $file_category_name = 'all')
{
$config = get_system_config();
$accessKey = $config['qiniu_access_key'];
$secretKey = $config['qiniu_secret_key'];
$bucket = $config['qiniu_bucket_name'];
if (empty($file)) {
return ['code' => 201, 'msg' => '请上传文件', 'data' => null];
}
$validate_reslut = $file->validate(['ext' => 'jpeg,jpg,png,gif,mp4,mp3,wgt,svga'])->check();
if (!$validate_reslut) {
return ['code' => 201, 'msg' => '非法上传存储类型', 'data' => null];
}
$extension = strtolower(pathinfo($file->getInfo('name'), PATHINFO_EXTENSION));
$file_info = $file->getInfo();
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 生成上传 Token
$token = $auth->uploadToken($bucket);
// 要上传文件的本地路径
$filePath = $file_info['tmp_name'];
// 上传到存储后保存的文件名
$savename = date('Ymd') . '/' . md5(microtime(true)) . ".$extension";
$key = $file_category_name . '/' . $savename;
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if ($err !== null) {
return ['code' => 201, 'msg' => "上传失败", 'data' => null];
} else {
$data = [];
$data['image_path'] = $ret['key'];
$data['size'] = $file_info['size'];
$data['http_image_path'] = localpath_to_netpath($ret['key']);
return ['code' => 200, 'msg' => "上传成功", 'data' => $data];
}
}
public function get_qiniu_upload_token()
{
$config = get_system_config();
$accessKey = $config['qiniu_access_key'];
$secretKey = $config['qiniu_secret_key'];
$bucket = $config['qiniu_bucket_name'];
$auth = new Auth($accessKey, $secretKey);
$token = $auth->uploadToken($bucket);
return ['code' => 200, 'msg' => '获取成功', 'data' => ['token' => $token]];
}
public function tencent_upload($file, $file_category_name = 'all')
{
$config = get_system_config();
$secretId = $config['tencent_secret_id'];
// $secretId = 111111;
$secretKey = $config['tencent_secret_key'];
$region = $config['tencent_territory'];
$bucket = $config['tencent_bucket_name'];
if (empty($file)) {
return ['code' => 201, 'msg' => '请上传文件', 'data' => null];
}
// dump($file);exit;
$validate_reslut = $file->validate(['ext' => 'jpeg,jpg,png,gif,mp4,mp3,wgt,svga'])->check();
// dump($file);exit;
if (!$validate_reslut) {
return ['code' => 201, 'msg' => '非法上传存储类型', 'data' => null];
}
$extension = strtolower(pathinfo($file->getInfo('name'), PATHINFO_EXTENSION));
$file_info = $file->getInfo();
// 构建鉴权对象
$cosClient = new Client(
array(
'region' => $region,
'schema' => 'https', //协议头部默认为http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey
)
)
);
// 要上传文件的本地路径
$filePath = $file_info['tmp_name'];
// 上传到存储后保存的文件名
$savename = date('Ymd') . '/' . md5(microtime(true)) . ".$extension";
$key = $file_category_name . '/' . $savename;
// 初始化 UploadManager 对象并进行文件的上传。
$file = fopen($filePath, "rb");
if ($file) {
$result = $cosClient->putObject(array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $file)
);
$data = [];
$data['image_path'] = $result['Key'];
$data['size'] = $file_info['size'];
$data['http_image_path'] = localpath_to_netpath($result['Key']);
$data['mp4_task_id'] = '';
$data['extension'] = $extension;
return ['code' => 200, 'msg' => "上传成功", 'data' => $data];
}else{
return ['code' => 201, 'msg' => "上传失败", 'data' => null];
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
<?php
namespace app\admin\model;
use think\Model;
class UserGiftPack extends Model
{
}

View File

@@ -0,0 +1,20 @@
<?php
namespace app\admin\model;
use think\Model;
class UserGiftPackLog extends Model
{
public static function TypeLable()
{
//1系统赠送2宝箱获得3个人赠送
return [
'1' => '系统赠送',
'2' => '宝箱获得',
'3' => '个人打赏',
'4' => '玩法获取',
'5' => '盲盒巡音会获取',
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace app\admin\model;
use think\Model;
class UserMessage extends Model
{
protected $pk = 'mid';
public static function TypeLable()
{
return [
'1' => '系统消息',
'2' => '订单消息',
'3' => '情缘消息',
];
}
}

View File

@@ -0,0 +1,87 @@
<?php
namespace app\admin\model;
use think\Model;
class UserMoneyLog extends Model
{
protected $pk = 'log_id';
public static function ChangeTypeLable()
{
return [
'1' => '系统调节',
// '2' => '陪玩下单',
// '3' => '陪玩超时退款',
'4' => '礼物打赏',
// '5' => '陪玩接单',
'6' => '礼物收赏',
'7' => '礼物打赏厅主收益',
// '8' => '购买守护',
'9' => '余额充值',
// '10' => '陪玩订单取消退款',
'11' => '兑换消耗余额',
'12' => '兑换增加金币',
'13' => '提现',
// '14' => '推广用户充值返利',
'15' => '提现驳回',
'16' => '开宝箱',
'17' => '用户转赠',
// '18' => '发红包支出',
// '19' => '抢红包收入',
// '20' => '抢红包厅主流水',
'21' => '购买装扮',
'22' => '会员邀请收益',
'23' => '签约成功主持获得金币',
'24' => '拍卖签约扣除金币',
'25' => '制作人续约',
'26' => '前制作人获取签约用户被拍金币',
'27' => '新人签约唱歌获取金币',
'28' => '礼物打赏主持收益',
'29' => '幸运礼物打赏',
'30' => '幸运礼物返币',
'31' => '幸运礼物收赏',
'32' => '幸运礼物打赏厅主收益',
'33' => '幸运礼物打赏主持收益',
'34' => '房间补贴收益',
'35' => '幸运补贴收益',
'36' => '购买会员消费',
'37' => '更换邀请人消费',
'38' => '礼物打赏制作人收益',
'39' => '公会补贴收益',
'40' => '购买门票消费金币',
'41' => '获取门票',
'42' => '仲夏夜梦曲投入票数',
'43' => '新手签约奖励',
// '18' => '开箱获取欧皇钥匙',
// '19' => '消耗欧皇钥匙开箱',
// '18' => '兑换积攒池',
// '19' => '积攒池兑换'
'44' => '购买爵位',
'18' => '退出公会扣除',
'19' => '退出公会增加',
'52' => '抢头条',
'53' => '删除用户关系',
'61' => '龙蛋神谕投币',
'62' => '每日签到奖励',
'63' => '倍数玩法消费',
];
}
public static function MoneyTypeLable()
{
return [
'1' => '余额',
'2' => '金币',
'3' => '票数',
// '3' => '欧皇钥匙',
// '3' => '积攒金额'
];
}
}

View File

@@ -0,0 +1,82 @@
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
class UserPack extends Model
{
//获取配置参数
public function add_user_pack_gift($aid, $uid, $gid, $num)
{
if($aid != 1) {
return ['code' => 201, 'msg' => '非超管用户不能向背包送礼物', 'data' => null];
}
$map = [];
$map[] = ['is_delete', '=', 1];
$map[] = ['is_show', '=', 1];
$map[] = ['is_can_buy', '=', 2];
$map[] = ['gid', '=', $gid];
$gift_info = Db::name('gift')->where($map)->find();
if(empty($gift_info)) {
return ['code' => 201, 'msg' => '礼物信息不存在', 'data' => null];
}
$user_info = Db::name('user')->find($uid);
if(empty($user_info)) {
return ['code' => 201, 'msg' => '用户信息不存在', 'data' => null];
}
$map = [];
$map[] = ['uid', '=', $uid];
$map[] = ['gid', '=', $gid];
$info = Db::name('user_gift_pack')->where($map)->find();
Db::startTrans();
try {
if($info) {
$data = [
'total_num' => $info['total_num'] + $num,
'num' => $info['num'] + $num,
'admin_id' => $aid,
'admin_add_num' => $info['admin_add_num'] + $num,
'update_time' => time(),
];
Db::name('user_gift_pack')->where('pid', $info['pid'])->update($data);
} else {
$data = [
'total_num' => $num,
'num' => $num,
'admin_id' => $aid,
'admin_add_num' => $num,
'update_time' => time(),
'add_time' => time(),
'gid' => $gid,
'uid' => $uid,
];
Db::name('user_gift_pack')->insert($data);
}
$insert_data = [
'uid' => $uid,
'type' => 5,
'gid' => $gid,
'change_num' => $num,
'after_num' => $num,
'gift_price' => $gift_info['gift_price'],
'total_gift_price' => $gift_info['gift_price'] * $num,
'remarks' => '平台补发',
'update_time' => time(),
'add_time' => time(),
'admin_id' => $aid,
];
Db::name('user_gift_pack_log')->insert($insert_data);
Db::commit();
return ['code' => 200, 'msg' => "修改成功", 'data' => null];
} catch (\Exception $e) {
// 回滚事务
dump($e);
Db::rollback();
return ['code' => 201, 'msg' => "请重试", 'data' => null];
}
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace app\admin\model;
use think\Model;
class UserPlayer extends Model
{
protected $auto = ['update_time'];
protected $insert = [
'add_time',
'order_duration' => 0,
'order_count' => 0,
'order_total_amount' => 0,
'service_rate' => 0,
'last_login_time' => 0,
'flag' => '',
'is_top' => 1,
'is_recommend' => 1,
'is_business' => 1,
'remarks' => '',
'status' => 1,
'deal_time' => 0,
];
protected $update = ['update_time'];
}

View File

@@ -0,0 +1,45 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class UserPlayerOrder extends Model
{
public function close_palyer_order()
{
$player_order_close_max_time = get_system_config('player_order_close_max_time');
$close_time = time() - $player_order_close_max_time; //30分钟自动关闭订单
$map = [];
$map[] = ['status', '=', 1];
$map[] = ['is_over', '=', 1];
$map[] = ['add_time', '<', $close_time];
$list = db::name('user_player_order')->where($map)->select();
foreach ($list as $k => $v) {
Db::startTrans();
try {
$data = [];
$data['oid'] = $v['oid'];
$data['is_over'] = 2;
$data['over_close_time'] = time();
$reslut = db::name('user_player_order')->update($data);
if (!$reslut) {
Db::rollback();
return ['code' => 201, 'msg' => '请重试', 'data' => null];
}
//用户积分返回
$reslut = model('admin/User')->change_user_money_by_uid($v['uid'], $v['total_amount'], 2, 3, "陪玩订单超时退款:" . $v['order_sn'], $v['player_uid'], $v['oid']);
if ($reslut['code'] != 200) {
Db::rollback();
return ['code' => 201, 'msg' => '请重试', 'data' => null];
}
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "请重试", 'data' => null];
}
}
return date('Y-m-d H:i:s') . 'success' . PHP_EOL;
}
}

View File

@@ -0,0 +1,46 @@
<?php
namespace app\admin\model;
use think\Model;
class UserRelation extends Model
{
protected $pk = 'rid';
protected $auto = ['update_time'];
protected $insert = [
'add_time',
'status' => 1,
'deal_time' => 0,
];
protected $update = ['update_time'];
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
public static function TypeLable()
{
return [
'1' => '情侣',
'2' => '师徒',
'3' => '守护',
];
}
public function get_relation_type_lable($type)
{
$data = $this->TypeLable();
if (empty($data[$type])) {
return '';
} else {
return $data[$type];
}
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace app\admin\model;
use think\Model;
class UserRelationApply extends Model
{
protected $pk = 'aid';
protected $auto = ['update_time'];
protected $insert = [
'add_time',
'status' => 1,
'deal_time' => 0,
];
protected $update = ['update_time'];
protected function setAddTimeAttr()
{
return time();
}
protected function setUpdateTimeAttr()
{
return time();
}
}

View File

@@ -0,0 +1,130 @@
<?php
namespace app\admin\model;
use think\Db;
use think\Model;
class Userzone extends Model
{
//获取举报列表
public function user_zone_list($uid, $nick_name, $content, $show_status, $page = 1, $limit = 20)
{
$map = [];
if (!empty($uid)) {
$map[] = ['a.uid', '=', $uid];
}
if (!empty($nick_name)) {
$map[] = ['b.nick_name', 'like', '%' . $nick_name . '%'];
}
if (!empty($content)) {
$map[] = ['a.content', 'like', '%' . $content . '%'];
}
if (!empty($show_status)) {
$map[] = ['a.show_status', '=', $show_status];
}
$list = db::name('user_zone')
->alias('a')->join('yy_user b', 'a.uid = b.uid')
->field('a.*,b.nick_name')->where($map)->page($page, $limit)->order("zid desc")->select();
foreach ($list as $k => &$v) {
$list[$k]['user_nick_name'] = $v['uid'] . '-' . $v['nick_name'];
$image_data = explode(',', $v['images']);
$v['image_list'] = [];
if (!empty($image_data)) {
foreach ($image_data as $m => $n) {
$v['image_list'][] = localpath_to_netpath($n);
}
}
$v['sound'] = localpath_to_netpath($v['sound']);
$v['video'] = localpath_to_netpath($v['video']);
}
$data = [];
$data['count'] = db::name('user_zone')->alias('a')->join('yy_user b', 'a.uid = b.uid')->where($map)->count();
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
//审核发布说说
// public function zone_examine($zid, $show_status)
// {
// $map = [];
// $map[] = ['zid', '=', $zid];
// $zone_info = db::name('user_zone')->where($map)->find();
// if (empty($zone_info)) {
// return ['code' => 201, 'msg' => '说说不存在', 'data' => null];
// }
// if (!in_array($show_status, [1, 2, 3])) {
// return ['code' => 201, 'msg' => '审核状态参数错误', 'data' => null];
// }
// $data = [];
// $data['zid'] = $zid;
// $data['show_status'] = $show_status; //默认显示
// $data['update_time'] = time(); //默认显示
// $reslut = db::name('user_zone')->update($data);
// if ($reslut) {
// return ['code' => 200, 'msg' => '操作成功', 'data' => null];
// } else {
// return ['code' => 201, 'msg' => '操作失败', 'data' => null];
// }
// }
public function get_zone_info($zid)
{
$map = [];
$map[] = ['zid', '=', $zid];
$zone_info = db::name('user_zone')->where($map)->find();
if (empty($zone_info)) {
return ['code' => 201, 'msg' => '说说不存在', 'data' => null];
}
$user_info = db::name('user')->find($zone_info['uid']);
$zone_info['user_name'] = $user_info['user_name'];
$zone_info['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$zone_info['http_sound'] = localpath_to_netpath($zone_info['sound']);
$zone_info['http_video'] = localpath_to_netpath($zone_info['video']);
$zone_info['image_list'] = '';
if (!empty($zone_info['images'])) {
$image_data = explode(',', $zone_info['images']);
foreach ($image_data as $m => &$n) {
$n = localpath_to_netpath($n);
}
$zone_info['image_list']=join(',',$image_data);
}
return ['code' => 200, 'msg' => 'success', 'data' => $zone_info];
}
//审核发布说说
public function edit_zone($data)
{
$map = [];
$map[] = ['zid', '=', $data['zid']];
$zone_info = db::name('user_zone')->where($map)->find();
if (empty($zone_info)) {
return ['code' => 201, 'msg' => '说说不存在', 'data' => null];
}
if (!in_array($data['show_status'], [1, 2, 3])) {
return ['code' => 201, 'msg' => '审核状态参数错误', 'data' => null];
}
if (!in_array($data['is_recommend'], [1, 2])) {
return ['code' => 201, 'msg' => '推荐状态参数错误', 'data' => null];
}
$update_data = [];
$update_data['zid'] = $data['zid'];
$update_data['is_recommend'] = $data['is_recommend']; //默认显示
$update_data['show_status'] = $data['show_status']; //默认显示
$update_data['update_time'] = time(); //默认显示
$reslut = db::name('user_zone')->update($update_data);
if ($reslut) {
return ['code' => 200, 'msg' => '操作成功', 'data' => null];
} else {
return ['code' => 201, 'msg' => '操作失败', 'data' => null];
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,42 @@
<?php
namespace app\admin\validate;
use think\Validate;
class Admin extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'user_name' => 'require|unique:admin,user_name,,aid',
// 'password' => 'require|regex:[a-zA-Z0-9]{6,16}',
'password' => 'require',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'user_name.require' => '用户名必须',
'user_name.unique' => '用户名已被占用',
'password.require' => '密码必须',
// 'password.regex' => '密码必须6-16位字母或者数字组成',
];
protected $scene = [
'adminEditPassword' => ['password'],
'adminAdd' => ['user_name', 'password'],
];
}

View File

@@ -0,0 +1,43 @@
<?php
namespace app\admin\validate;
use think\Validate;
class BoxGiveGift extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'uid' => 'require',
'tid' => 'require',
'gid' => 'require',
'num' => 'require',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'uid.require' => '用户id必须',
'tid.require' => '类型必须',
'gid.require' => '礼物id必须',
'num.require' => '数量必须',
];
protected $scene = [
'adminAdd' => ['uid', 'tid', 'gid', 'num'],
];
}

View File

@@ -0,0 +1,41 @@
<?php
namespace app\admin\validate;
use think\Validate;
class BoxType extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'type_name' => 'require|length:1,20',
'open_price' => 'require',
'open_status' => 'require|in:1,2',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'type_name.require' => '类型名称必须',
'type_name.length' => '类型名称长度必须1~200之间',
'open_price.require' => '单价必须',
'open_status.require' => '开启状态必须',
'open_status.in' => '开启状态参数错误',
];
protected $scene = [
'adminAdd' => ['type_name', 'open_price', 'open_status'],
'adminEdit' => ['type_name', 'open_price', 'open_status'],
];
}

View File

@@ -0,0 +1,36 @@
<?php
namespace app\admin\validate;
use think\Validate;
class Message extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'title' => 'require',
'content' => 'require',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'title.require' => '标题必须',
'content.require' => '内容必须',
];
protected $scene = [
'adminAdd' => ['title', 'content'],
'adminEdit' => ['title', 'content'],
];
}

View File

@@ -0,0 +1,53 @@
<?php
namespace app\admin\validate;
use think\Validate;
class Room extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'room_name' => 'require|length:1,20',
'room_intro' => 'require|length:1,200',
'room_cover' => 'require',
'room_number' => 'require|number|unique:room',
'room_password' => 'regex:[A-Z0-9]{4}',
'room_owner_uid' => 'require',
'room_background_id' => 'require',
'cate_id' => 'require',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'room_name.require' => '房间名必须',
'room_name.length' => '房间名长度必须1~200之间',
'room_cover.require' => '房间封面必须',
'room_number.require' => '房间号必须',
'room_number.number' => '房间号必须为纯数字',
'room_number.unique' => '房间号已存在',
'room_password.regex' => '房间密码必须4位数字或字母组合',
'room_owner_uid.require' => '厅主ID必须',
'room_background_id.require' => '房间背景图必须',
'cate_id.require' => '房间分类必须',
];
protected $scene = [
'adminAdd' => ['room_name', 'room_cover', 'room_number', 'room_password', 'room_owner_uid', 'room_background_id', 'cate_id'],
'adminEdit' => ['room_name', 'room_cover', 'room_number', 'room_password', 'room_background_id', 'cate_id'],
'apiEdit' => ['room_name', 'room_cover', 'room_password', 'room_background_id'],
'apiAdd' => ['room_name', 'room_cover', 'room_password', 'room_background_id', 'cate_id'],
];
}

View File

@@ -0,0 +1,74 @@
<?php
namespace app\admin\validate;
use think\Validate;
class User extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'user_name' => 'require|unique:user,user_name,,uid|mobile',
'password' => 'require|regex:[a-zA-Z0-9]{6,16}',
'trade_password' => 'require|regex:\d{6}',
'nick_name' => 'require|length:1,8',
'nick_name' => 'require',
'birthday' => 'require|regex:\d{4}-\d{2}-\d{2}',
'constellation' => 'require|in:白羊座,金牛座,双子座,巨蟹座,狮子座,处女座,天秤座,天蝎座,射手座,摩羯座,双鱼座,水瓶座',
'head_pic' => 'require',
'sex' => 'require|in:1,2',
'is_can_recharge' => 'require|in:1,2',
'is_sign' => 'require|in:1,2',
'login_status' => 'require|in:1,2',
'system' => 'require|in:0,1,2',
'special_uid' => 'unique:user,special_uid,,uid|integer',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'user_name.require' => '用户名必须',
'user_name.unique' => '用户名已被占用',
'user_name.mobile' => '用户名必须是手机号码',
'password.require' => '密码必须',
'password.regex' => '密码必须6-16位字母或者数字组成',
'trade_password.require' => '交易密码必须',
'trade_password.regex' => '交易密码必须6数字组成',
'nick_name.require' => '用户昵称必须',
'nick_name.length' => '用户昵称必须1~8个字符',
'birthday.require' => '出生日期必须',
'birthday.regex' => '出生日期格式非法',
'constellation.require' => '请填写星座',
'constellation.in' => '星座类型错误',
'head_pic.require' => '用户头像必须',
'is_can_recharge.require' => '是否可代充状态必须',
'is_can_recharge.in' => '是否可代充状态非法',
'is_sign.require' => '是否签约状态必须',
'is_sign.in' => '是否签约状态非法',
'login_status.require' => '是否允许登录状态必须',
'login_status.in' => '是否允许登录状态非法',
'special_uid.unique' => '该靓号已占用',
'special_uid.integer' => '靓号格式错误',
];
protected $scene = [
'adminEdit' => ['nick_name', 'sex', 'login_status'],
'adminEditPassword' => ['password'],
'apiEditPassword' => ['password'],
'apiEditTradePassword' => ['trade_password'],
'apiAdd' => ['user_name', 'password'],
'apiEditInfo' => ['nick_name', 'birthday', 'constellation'],
];
}

View File

@@ -0,0 +1,50 @@
<?php
namespace app\admin\validate;
use think\Validate;
class UserPlayer extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'uid' => 'require',
'gid' => 'require',
'lid' => 'require',
'price' => 'require',
// 'price' => 'number|between:0,10000',
'skill_image' => 'require',
'cover_image' => 'require',
'sound' => 'require',
'sound_duration' => 'number|between:0,60',
'introduction' => 'require',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
// 'price.require' => '单价',
// 'price.between' => '单价设置范围0~10000',
'skill_image.require' => '请上传技能截图',
'cover_image.unique' => '请上传封面图',
'sound.require' => '语音介绍必须',
'sound_duration.number' => '语音介绍时长必须为数字',
'sound_duration.between' => '语音介绍时长范围最长60s',
'introduction.require' => '个人介绍必填',
];
protected $scene = [
'apiAdd' => ['uid', 'gid', 'lid', 'price', 'skill_image', 'cover_image', 'sound', 'sound_duration', 'introduction'],
'apiEdit' => ['uid','lid', 'price', 'skill_image', 'cover_image', 'sound', 'sound_duration', 'introduction'],
];
}

View File

@@ -0,0 +1,34 @@
<?php
namespace app\admin\validate;
use think\Validate;
class UserRelation extends Validate
{
protected $rule = [
'uid' => 'require',
'recived_uid' => 'require',
'type' => 'require|in:1,2,3'
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'uid.require' => 'uid必须',
'recived_uid.require' => 'recived_uid必须',
'type.require' => '关系类型必须',
'type.in' => '关系类型非法',
];
protected $scene = [
'apiAdd' => ['uid', 'recived_uid', 'type'],
'apiAdd' => ['uid', 'recived_uid', 'type'],
];
}

View File

@@ -0,0 +1,36 @@
<?php
namespace app\admin\validate;
use think\Validate;
class UserRelationApply extends Validate
{
protected $rule = [
'uid' => 'require',
'recived_uid' => 'require',
'type' => 'require|in:1,2,3',
'status' => 'in:1,2,3'
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'uid.require' => 'uid必须',
'recived_uid.require' => 'recived_uid必须',
'type.require' => '关系类型必须',
'type.in' => '关系类型非法',
'status.in' => '状态非法',
];
protected $scene = [
'apiAdd' => ['uid', 'recived_uid', 'type', 'status'],
'apiEdit' => ['status'],
];
}

View File

@@ -0,0 +1,31 @@
<?php
namespace app\admin\validate;
use think\Validate;
class UserZone extends Validate
{
protected $rule = [
'sound_duration' => 'number|between:0,60',
'content' => 'length:1,300',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'sound_duration.number' => '声音长度参数非法',
'sound_duration.between' => '声音最大限制60s',
// 'content.require' => '请填写内容',
'content.length' => '内容字数超出限制',
];
protected $scene = [
'apiAdd' => ['sound_duration', 'content'],
];
}

View File

@@ -0,0 +1,29 @@
<?php
namespace app\admin\validate;
use think\Validate;
class UserZoneComment extends Validate
{
protected $rule = [
'content' => 'require|length:1,300',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'content.require' => '请填写内容',
'content.length' => '内容字数超出限制',
];
protected $scene = [
'apiAdd' => ['content'],
];
}

View File

@@ -0,0 +1 @@
13132

View File

@@ -0,0 +1,77 @@
<?php
namespace app\anchor\controller;
use think\Controller;
use think\captcha\Captcha;
use think\DB;
class Apip extends Controller
{
public function initialize()
{
header('Access-Control-Allow-Origin: *');
add_operation(3, 0); //用户行为日志
}
public function login()
{
$captcha = input('captcha');
$username = input('username');
$password = input('password');
if (empty($captcha)) {
return ajaxReturn(201, '验证码不能为空');
}
// if (!captcha_check($captcha)) {
// // 验证失败
// return ajaxReturn(201, '验证码错误');
// }
if (empty($username)) {
return ajaxReturn(201, '用户名不能为空');
}
if (empty($password)) {
return ajaxReturn(201, '密码不能为空');
}
$map = [];
$map[] = ['user_name', '=', $username];
$map[] = ['password', '=', md5($password)];
$info = db::name('user')->where($map)->find();
if (empty($info)) {
return ajaxReturn(201, '用户名不存在');
} else {
if (md5($password) != $info['password']) {
return ajaxReturn(201, '密码错误');
}
if ($info['is_anchor'] != 2) {
return ajaxReturn(201, '普通用户无法登录');
}
$login_token = generateRandom(32);
$login_token = $info['login_token']; //防止用户APP掉线 此处不更新登录token
$data = [];
$data['uid'] = $info['uid'];
$data['login_token'] = $login_token;
$data['update_time'] = time();
$reslut = db::name('user')->update($data);
if (!$reslut) {
return ajaxReturn(201, '登录失败', '');
} else {
return ajaxReturn(200, '登录成功', $login_token);
}
}
}
public function verify()
{
$config = [
'codeSet' => '0123456789',
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 4,
// 关闭验证码杂点
'useNoise' => false,
];
$captcha = new Captcha($config);
return $captcha->entry();
}
}

View File

@@ -0,0 +1,51 @@
<?php
namespace app\anchor\controller;
use think\Controller;
use think\Request;
use think\DB;
class Capital extends Common
{
//获取房间流水 列表
public function room_money_log()
{
$rid = -1;
$room_info = Db::name("room")->where(array("room_owner_uid" => $this->uid))->find();
if (!empty($room_info)) {
$rid = $room_info['rid'];
}
$room_number = 0;
$room_name = '';
$time1 = input('time1', '');
$time2 = input('time2', 0);
$order = input('order', 'a.sid');
$sort = input('sort', 'desc');
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('admin/Capital')->room_money_log($rid, $room_number, $room_name, $time1, $time2, $order, $sort, $page, $limit);
$data = [];
$data['code'] = 0;
$data['msg'] = '获取成功';
$data['count'] = $reslut['data']['count'];
$data['data'] = $reslut['data']['list'];
$data['totalRow'] = $reslut['data']['totalRow'];
return json($data);
}
//获取资金改变类型
public function get_change_type()
{
$data = model('admin/UserMoneyLog')->ChangeTypeLable();
return ajaxReturn(200, '', $data);
}
//获取资金类型
public function get_money_type()
{
$data = model('admin/UserMoneyLog')->MoneyTypeLable();
return ajaxReturn(200, '', $data);
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace app\anchor\controller;
use think\Controller;
use think\Request;
use think\Db;
class Common extends Controller
{
public $uid;
public function initialize()
{
header('Access-Control-Allow-Origin: *');
// ajaxReturn(301, '系统维护');
$login_token = input('login_token', 0);
$reslut = model('User')->check_login_token($login_token);
if ($reslut['code'] == 201) {
return ajaxReturn(301, $reslut['msg'], $reslut['data']);
} else {
$this->uid = $reslut['data'];
}
add_operation(3, $this->uid); //用户行为日志
}
public function check_login_status()
{
$user_name = Db::name("user")->where(array("uid" => $this->uid))->value("user_name");
$data['data'] = $user_name;
ajaxReturn(1, '登录成功', $data);
}
public function get_menu_list()
{
$data = model('SystemMenu')->getSystemInit($this->uid);
return json($data);
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace app\anchor\model;
use think\Model;
class Capital extends Model
{
//
}

View File

@@ -0,0 +1,63 @@
<?php
namespace app\anchor\model;
use think\Db;
use think\Model;
class SystemMenu extends Model
{
// 获取初始化数据
public function getSystemInit($aid = 0)
{
$homeInfo = [
'title' => '首页',
'href' => '',
];
$logoInfo = [
'title' => '系统 管理',
'image' => 'images/logo.png',
];
$menuInfo = $this->getMenuList($aid);
$systemInit = [
'homeInfo' => $homeInfo,
'logoInfo' => $logoInfo,
'menuInfo' => $menuInfo,
];
return $systemInit;
}
// 获取菜单列表
private function getMenuList($aid)
{
$menuList = Db::name('system_menu_anchor')
->field('id,pid,title,icon,href,target')
->where('status', 1)
->where('type', 'in', [1, 2])
->order('sort', 'desc')
->select();
$menuList = $this->buildMenuChild(0, $menuList);
return $menuList;
}
//递归获取子菜单
private function buildMenuChild($pid, $menuList)
{
$treeList = [];
foreach ($menuList as &$v) {
if ($pid == $v['pid']) {
$node = $v;
$child = $this->buildMenuChild($v['id'], $menuList);
if (!empty($child)) {
$node['child'] = $child;
}
// todo 后续此处加上用户的权限判断
$treeList[] = $node;
}
}
return $treeList;
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace app\anchor\model;
use think\Model;
use think\DB;
class User extends Model
{
public function check_login_token($login_token)
{
if (empty($login_token)) {
return ['code' => 201, 'msg' => '登录失效', 'data' => ''];
}
$map = [];
$map[] = ['login_token', '=', $login_token];
$user_info = db::name('user')->where($map)->find();
if (empty($user_info)) {
return ['code' => 201, 'msg' => '登录失效', 'data' => ''];
} else {
return ['code' => 200, 'msg' => '登录成功', 'data' => $user_info['uid']];
}
}
}

View File

@@ -0,0 +1,191 @@
<?php
namespace app\api\controller;
use think\Controller;
class Agora extends Common
{
protected function initialize()
{
$validate_action_list = ['get_code',"get_sstoken",'update_sstoken','get_user_info','report_game_info'];
$action = request()->action();
if(!in_array($action, $validate_action_list)) {
parent::initialize();
}
}
//---------------------游戏相关服务-------------------------------------------
/**
* 登录接口获取针对当前用户UID的短期令牌Code
* 调用方APP端
*/
public function get_code(){
$uid = input('uid', 0);
$reslut = model('AgoraAuth')->get_code($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**
* 短期令牌Code更换长期令牌SSToken
* 调用方:游戏服务
*
*/
public function get_sstoken(){
// $code = input('code', '');
$data = input('post.');
$reslut = model('AgoraAuth')->get_sstoken($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
/**
* 刷新长期令牌
* 调用方:游戏服务
*
*/
public function update_sstoken(){
// $token = input('ss_token', '');
$data = input('post.');
$reslut = model('AgoraAuth')->update_sstoken($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
/**
* 获取用户信息
* 调用方:游戏服务
*
*/
public function get_user_info(){
// $token = input('ss_token', '');
$data = input('post.');
$reslut = model('AgoraAuth')->get_user_info($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
/**
* 游戏服务端上报游戏接入方的游戏的数据
* 调用方:游戏服务
*
*/
public function report_game_info(){
// $report_type = input('report_type', '');
// $report_msg = input('report_msg', '');
// $uid = input('uid', 0);
// $ss_token = input('ss_token', '');
// $reslut = model('AgoraAuth')->report_game_info($report_type, $report_msg, $uid, $ss_token);
$data = input('post.');
$reslut = model('AgoraAuth')->report_game_info($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
//获取歌曲列表
public function agora_song_list(){
// dump(111);exit;
$page = input('page',0);
$song_code = input('song_code',0);
$page_limit = input('page_limit',20);
$key_name = "api:agora:agora_song_list:".$song_code;
redis_lock_exit($key_name);
$reslut = model('Agora')->agora_song_list($page,$page_limit,$song_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取增量歌曲列表
public function agora_new_song_list(){
$page = input('page', 0);
$page_limit = input('page_limit',20);
$add_time = input('add_time', 0);
$reslut = model('Agora')->agora_new_song_list($page, $page_limit, $add_time);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取指定歌曲详情
public function agora_song_info(){
$song_code = input('song_code',0);
$lyric_type = input('lyric_type',0);
$key_name = "api:agora:agora_song_info:".$song_code;
redis_lock_exit($key_name);
$reslut = model('Agora')->agora_song_info($song_code, $lyric_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**********************************************分 割 线***********************************************************/
//同步热门歌曲
public function synchro_hot_song(){
$hot_type = input('hot_type', 1);
$key_name = "api:agora:synchro_hot_song";
redis_lock_exit($key_name);
$reslut = model('Agora')->synchro_hot_song($hot_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取热门歌曲列表
public function hot_song_list(){
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Agora')->hot_song_list($page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获得歌曲列表
public function song_list(){
$name = input('name','');
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Agora')->song_list($name, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//点歌
public function dot_song(){
$rid = input('rid', 0);
$song_code = input('song_code', '');
$is_accapella = input('is_accapella', 2);
$key_name = "api:agora:dot_song:".$this->uid;
redis_lock_exit($key_name);
$reslut = model('Agora')->dot_song($this->uid, $rid, $song_code,$is_accapella);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消点歌
public function dot_song_del(){
$rid = input('rid', 0);
$song_code = input('song_code', '');
$key_name = "api:agora:dot_song_del:".$this->uid;
redis_lock_exit($key_name);
$reslut = model('Agora')->dot_song_del($this->uid, $rid, $song_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//点歌列表
public function dot_song_list(){
$rid = input('rid', 0);
$reslut = model('Agora')->dot_song_list($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,308 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use app\common\pay\SignContract;
use think\facade\Env;
class Api extends BaseCom
{
protected function initialize()
{
$validate_action_list = ['get_ip_address','clears_mier','txt','get_system_base_config','send_sms_1'];
$action = request()->action();
if(!in_array($action, $validate_action_list)) {
parent::initialize();
}
}
//修改登录密码-找回密码
public function modify_password()
{
// return ajaxReturn(201,'请联系客服修改',null);
$mobile = input('mobile');
$password = input('password');
$sms_code = input('sms_code'); //短信验证码
$reslut = model('sms')->verification_code($mobile, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
$reslut = model('user')->modify_password($mobile, $password);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//发送短信
public function send_sms()
{
$mobile = input('mobile');
$type = input('type');
$key_name = "api:login:send_sms:" . $mobile;
//图片验证码--开始
$captcha_code = input('captcha_code', '');
$captcha_key = input('captcha_key', '');
$result = model('api/ImgCaptcha')->check_captcha($captcha_code, $captcha_key);
if ($result['code'] != 200) {
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
redis_lock_exit($key_name);
$reslut = model('sms')->send_sms($mobile, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function send_sms_1()
{
$mobile = input('mobile');
$type = input('type');
$key_name = "api:login:send_sms:" . $mobile;
redis_lock_exit($key_name,1,1);
$reslut = model('sms')->send_sms($mobile, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//效验验证码
public function verification_code()
{
// return ajaxReturn(201, '暂未开放', null);
$mobile = input('mobile');
$code = input('code');
$reslut = model('sms')->verification_code($mobile, $code);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取系统基础配置
public function get_system_base_config()
{
$config = get_uncache_system_config();
$data = [];
// $data['ry_app_key'] = $config['ry_app_key'];
$data['tencentyun_im_appid'] = $config['tencentyun_im_appid'];
$data['qiniu_cdn_url'] = $config['qiniu_cdn_url'];
// $data['websocket_server_address'] = $config['websocket_server_address'];
$data['face_verify_appid'] = $config['face_verify_appid'];
$data['face_verify_app_secret'] = $config['face_verify_app_secret'];
//宝箱单价
$data['gold_price'] = (int)$config['box_unit_price'];
$data['drill_price'] = (int)$config['box_drill_price'];
$data['silver_price'] = (int)$config['box_silver_price'];
$data['platina_price'] = (int)$config['box_platina_price']; // 一般对应type=4
$data['violet_price'] = (int)$config['box_violet_price']; // 一般对应type=5
$data['promise_price'] = (int)$config['box_promise_price']; // 一般对应type=6
$data['withdraw_rate'] = round((1 - $config['user_withdraw_rate']),2);
$app_version = input('app_version', '');
$app_type = input('app_type', 0);
if($app_type == 2) {
// $app_version = str_replace('.', '', $app_version);
// if($app_version < 116) {
// return ajaxReturn(201, '请更新最新版本', null);
// }
}
$app_update_version_result = model('version')->get_update_app_version($app_type, $app_version);
$app_update_version = $app_update_version_result['data'];
$data['version_app'] = $app_update_version['version'] ?? '';
$data['version_note'] = $app_update_version['note'] ?? '';
$data['version_down_url'] = $app_update_version['down_url'] ?? '';
$data['version_is_force_update'] = $app_update_version['is_force_update'] ?? 0;
$data['del_user_relation_money'] = $config['del_user_relation_money'] ? $config['del_user_relation_money']:0;
return ajaxReturn(200, 'success', $data);
}
//计算器配置
public function calculator(){
$config = get_uncache_system_config();
$data = [];
$data['is_calculator'] = $config['is_calculator'];
return ajaxReturn(200, 'success', $data);
}
//清除数据库
// public function clears_mier(){
// echo 'red语音清数据';die;
// $redis = connectionRedis();
// $txt = $redis->keys('*');
// call_user_func([$redis, 'del'], $txt);
// dump($txt);exit;
// return ajaxReturn(201, '暂未开放', null);
// model('sms')->clears();
// }
//
public function update_socket(){
$cmd = 'cd /www/wwwroot/party.manshengtong.com/server
nohup ./main &';
shell_exec($cmd);
// dump($return);exit;
}
public function txt(){
// $real_name = '何金铭';
// $card_id = '44122620020922232X';
// $age = getAgeId($card_id);
// if(!$age){
// dump(11111);
// }
// //调用第三方实名认证接口
// $reslut = model('api/AliRealNameVerify')->real_name_verify($real_name, $card_id);
// // if($reslut['code'] == 201){
// dump($reslut);
// // }
// dump($age);exit;
// $nick_name = input('nick_name');
// $nick_name = htmlspecialchars_decode($nick_name);
// echo $nick_name;exit;
// echo base64_encode('GC671OSW13XRAKMTYJYR7PUIQBBS52YO');//R0M2NzFPU1cxM1hSQUtNVFlKWVI3UFVJUUJCUzUyWU8=
// model('user')->txt();
// // $rid = 481;
// // $uid = '107545';
// // $reslut = model('RoomHost')->get_room_host_info($uid, $rid);
// // $reslut = model('NewRoom')->get_user_auction_price($uid);
// // dump($reslut);
// // model('room')->push_room_micro_data(3);
// // $real_name = input('real_name', '');
// // $id_card = input('id_card', '');
// // $reslut = model('api/AliRealNameVerify')->real_name_verify($real_name, $id_card);
// // model('RoomSubsidy')->statistics_room_last_week_earnings(1);
// // $rid = 1000003;
// // $reslut = model('RoomMicro')->create_room_micro($rid);
// // $reslut = model('Tencent')->create_group($rid);
// // return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
// echo md5('203868');
// // echo '<br>';exit;
// // echo md5(md5('cNtGrC6Q'));die;
// $result = model('admin/Decorate')->clear_user_decorate();
// dump($result);
// $order_sn = time();
// $amount = 0.1;
// $result = model('api/AdaPay')->create_order($order_sn, $amount);
// dump($result);die;
}
public function get_ip_address(){
// exit;
$code = input('code','');
model('Sms')->get_ip_address($code);
}
public function get_ips_address(){
exit;
$code = input('code','');
$ip = input('ip', '');
model('Sms')->get_ips_address($code, $ip);
}
public function del_ip_address(){
$ip = input('ip','');
$code = input('code','');
model('Sms')->del_ip_address($ip, $code);
}
public function create_user_token(){
$phone = input('phone','');
$uid = input('uid','');
$reslut = model('user')->create_user_token($uid,$phone);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//自动虚拟号砸蛋
public function auto_open_virtual_box(){
$key_name = "api:box:auto_open_virtual_box";
redis_lock_exit($key_name,1,3);
$reslut = model('box')->auto_open_virtual_box();
// redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//检测红包是否超时
public function red_envelope_time_limit(){
$key_name = "api:box:red_envelope_time_limit";
redis_lock_exit($key_name,1,2);
$reslut = model('Envelope')->red_envelope_time_limit();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//查询账户
// public function commission_gd(){
// $data = model('HuiFu')->commission_gd();
// halt($data);
// }
public function test_tx(){
model('gift')->now_week_rank_four();
// $aa = model('RoomWages')->statistics_guild_last_week_earnings(1);
// $aa = model('RoomWages')->statistics_room_last_week_earnings(1);
}
//获取上周排行榜
public function last_week_rank(){
$reslut = model('gift')->last_week_rank1();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function sortAndEncryptedParams($params) {
// 获取函数参数
// 按照ASCII大小升序排序参数
sort($params);
return md5(implode('', $params));
}
public function close_auction_pm(){
$key_name = "admin:cli:close_auction_pm";
$data = model('api/AuctionRoom')->close_auction_pm();
redis_unlock($key_name);
return ajaxReturn($data['code'], $data['msg'], $data['data']);
}
// public function aaaa999(){
// model('room')->auto_clear_robot_room();
// }
}

View File

@@ -0,0 +1,96 @@
<?php
namespace app\api\controller;
use think\Controller;
class AuctionRoom extends Common
{
//天数列表
public function get_day_list(){
$reslut = model('AuctionRoom')->get_day_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//礼物列表
public function get_gift_list(){
$reslut = model('AuctionRoom')->get_gift_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置用户拍卖信息
public function options_user_auction_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$relation_id = input('relation_id', 0);
$gid = input('gid', 0);
$day = input('day', 0);
$key_name = "api:AuctionRoom:options_user_auction_info:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->options_user_auction_info($uid, $rid, $relation_id, $gid, $day);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//开始拍卖
public function open_auction()
{
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:AuctionRoom:open_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->open_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//竞拍信息
public function get_auction_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('AuctionRoom')->get_auction_info($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束拍卖
public function finish_auction(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:AuctionRoom:finish_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->finish_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//单场拍卖时长
public function add_pm_line_duration(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:AuctionRoom:add_pm_line_duration:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->add_pm_line_duration($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取榜单
public function auction_room_rank(){
$rid = input('rid', 0);
$page = input('page', 1);
$limit = input('page_limit', 20);
$reslut = model('AuctionRoom')->auction_room_rank($rid,$page,$limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace app\api\controller;
use think\Controller;
class Banner extends Common
{
//轮播图列表
public function get_banner_list()
{
$reslut = model('Banner')->get_banner_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_room_charm_rank()
{
$rid = input('rid', 0); //房间号。
$time = input('time', 0); //统计周期 1日2周3总
$type = input('type', 0); //1 贡献2魅力
$reslut = model('Room')->get_room_charm_rank($rid, $time, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace app\api\controller;
use think\App;
use think\Controller;
class BaseCom extends Controller
{
protected function initialize()
{
header('Access-Control-Allow-Origin: *');
$timestamp = request()->header('timestamp', 0);
$app_sign = request()->header('app-sign');
$result = validate_sign($app_sign, $timestamp); //验证签名是否合法
if($result['code'] != 200) {
// return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}
}

View File

@@ -0,0 +1,43 @@
<?php
namespace app\api\controller;
class BlindBox extends Common
{
//活动初始化数据
public function blind_box_init()
{
$uid = $this->uid;
$to_uid = input('to_uid', 0);
$gid = input('gid', 0);
$result = model('api/BlindBox')->blind_box_init($uid, $to_uid, $gid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function get_blind_box_rank()
{
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$time_type = input('time_type', 1);
$result = model('api/BlindBox')->get_blind_box_rank($time_type, $page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//中奖记录
public function get_blind_box_win_log()
{
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$result = model('api/BlindBox')->get_blind_box_win_log($page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//玩法介绍
public function get_blind_box_note()
{
$result = model('api/BlindBox')->get_blind_box_note();
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,124 @@
<?php
namespace app\api\controller;
use app\common\controller\Api;
/**
* 宝箱接口
*/
class Box extends Common
{
//开宝箱
public function open_box()
{
$tid = input('tid', 0);
$open_num = input('open_num', 0);
$rid = input('rid', 0);
$reslut = model('Box')->open_box($this->uid, $rid, $tid, $open_num);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取暴条数据
public function get_bt_consume(){
$type = input('type', 0);
$reslut = model('Box')->box_store_consume($this->uid,$type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取奖池礼物列表
public function get_box_list()
{
$tid = input('tid', 0);
$rid = input('rid',1);
$reslut = model('Box')->get_box_list($tid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取奖池礼物列表
public function get_box_lists()
{
$tid = input('tid', 0);
$rid = input('rid',1);
$reslut = model('Box')->get_box_lists($tid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取开宝箱手气榜
public function get_box_user_sqb_rank()
{
$rid = input('rid', 0);
$box_type = input('box_type', 1);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_box_user_sqb_rank($rid, $box_type, $page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户开出礼物记录
public function get_user_box_gift_list()
{
$page = input('page', 1);
$limit = input('limit', 20);
$box_type = input('box_type', 0);
$reslut = model('Box')->get_user_box_gift_list($this->uid, $box_type, $page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取宝箱说明
public function get_box_note()
{
$type = input('type', 1);
$reslut = model('Box')->get_box_note($type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户投入产出爆率
public function get_user_box_count(){
$type = input('type',1);
$reslut = model('Box')->get_user_box_count($this->uid,$type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
// 实时榜单
//获取开宝箱榜
public function get_box_user_gift_rank()
{
$page = input('page', 1);
$limit = input('page_limit', 20);
$reslut = model('Box')->get_box_user_gift_rank($page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取投入榜单
public function get_box_user_out_amount_rank()
{
$box_type = input('box_type', 1);
$time_type = input('time_type', 1);
$reslut = model('Box')->get_box_user_out_amount_rank($box_type, $time_type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_user_box_times()
{
$reslut = model('Box')->get_user_box_times($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

Some files were not shown because too many files have changed in this diff Show More