更新
This commit is contained in:
@@ -40,8 +40,9 @@ class Activities extends adminApi
|
||||
public function first_charge_lists(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$activities_id = input('activities_id', 1);
|
||||
$where = [];
|
||||
$where['activities_id'] = 1;
|
||||
$where['activities_id'] = $activities_id;
|
||||
$where['delete_time'] = 0;
|
||||
$count = db($this->table)->where($where)->count();
|
||||
$lists = db($this->table)->where($where)->page($page, $page_limit)->select();
|
||||
@@ -76,11 +77,12 @@ class Activities extends adminApi
|
||||
$title1 = input('title1', '');
|
||||
$title2 = input('title2', '');
|
||||
$money = input('money', '');
|
||||
$activities_id = input('activities_id', 1);
|
||||
$return_data = [
|
||||
'name' => $name,
|
||||
'title' => $title,
|
||||
'status' => $status,
|
||||
'activities_id' => 1,
|
||||
'activities_id' => $activities_id,
|
||||
];
|
||||
$ext = [
|
||||
'title1' => $title1,
|
||||
@@ -167,11 +169,12 @@ class Activities extends adminApi
|
||||
$page_limit = input('page_limit', 30);
|
||||
$user_id = input('user_id', '');
|
||||
$gift_bag_id = input('gift_bag_id', '');
|
||||
$activities_id = input('activities_id', 1);
|
||||
$where = [];
|
||||
if($user_id){
|
||||
$where['user_id'] = $user_id;
|
||||
}
|
||||
$gift_bag = db('vs_gift_bag')->where(['activities_id'=>1,'delete_time'=>0])->select();
|
||||
$gift_bag = db('vs_gift_bag')->where(['activities_id'=>$activities_id,'delete_time'=>0])->select();
|
||||
|
||||
if($gift_bag_id){
|
||||
$where['gift_bag_id'] = $gift_bag_id;
|
||||
@@ -360,6 +363,7 @@ class Activities extends adminApi
|
||||
'foreign_id' => $gift_id,
|
||||
'name' => $gift['gift_name'],
|
||||
'quantity' => $num,
|
||||
'gold' => $gift['gift_price'],
|
||||
];
|
||||
} elseif($type == 3){
|
||||
$decorate_price = DB::name('vs_decorate_price')->where(['id'=>$gift_id])->find();
|
||||
@@ -373,6 +377,7 @@ class Activities extends adminApi
|
||||
'foreign_id' => $gift_id,
|
||||
'name' => $gift['title'],
|
||||
'days' => $decorate_price['day'],
|
||||
'gold' => $decorate_price['price'],
|
||||
];
|
||||
} elseif($type == 4){
|
||||
$data = [
|
||||
@@ -419,6 +424,7 @@ class Activities extends adminApi
|
||||
'money' => $ext['money'],
|
||||
'money_str' => $ext['money_str'],
|
||||
'diamond' => $ext['diamond'],
|
||||
'activity_end_time' => $ext['activity_end_time'],
|
||||
];
|
||||
return V(1,"成功",$data);
|
||||
}
|
||||
@@ -433,17 +439,20 @@ class Activities extends adminApi
|
||||
$money = input('money', '');
|
||||
$money_str = input('money_str', '');
|
||||
$diamond = input('diamond', '');
|
||||
$activity_end_time = input('activity_end_time', '');
|
||||
$id = input('id', 6);
|
||||
$data = [
|
||||
'name' => $name,
|
||||
'title' => $title,
|
||||
'status' => $status
|
||||
'status' => $status,
|
||||
'money' => $money,
|
||||
];
|
||||
$ext = [
|
||||
'counter' => $counter,
|
||||
'money_str' => $money_str,
|
||||
'diamond' => $diamond,
|
||||
'money' => $money
|
||||
'money' => $money,
|
||||
'activity_end_time' => $activity_end_time
|
||||
];
|
||||
$data['ext'] = json_encode($ext);
|
||||
$res = db::name($this->table)->where(['id'=>$id])->update($data);
|
||||
@@ -593,10 +602,10 @@ class Activities extends adminApi
|
||||
$lists[$key]['gift_id'] = $value['foreign_id'];
|
||||
$lists[$key]['gift_name'] = $value['name'];
|
||||
$gift_data = db::name('vs_gift')->where(['gid' => $value['foreign_id']])->find();
|
||||
$lists[$key]['base_image'] = $gift_data['base_image'];
|
||||
$lists[$key]['base_image'] = $gift_data['base_image']??"";
|
||||
$lists[$key]['quantity'] = $value['quantity'];
|
||||
$lists[$key]['quantity_str'] = $value['quantity']."个";
|
||||
$lists[$key]['gift_price'] = $gift_data['gift_price'];
|
||||
$lists[$key]['gift_price'] = $gift_data['gift_price']?? "";
|
||||
}elseif ($value['type'] == 3){
|
||||
$lists[$key]['gift_id'] = $value['foreign_id'];
|
||||
$lists[$key]['gift_name'] = $value['name'];
|
||||
|
||||
@@ -168,7 +168,7 @@ class Admin extends adminApi
|
||||
{
|
||||
if ($this->request->isPost()) {
|
||||
$params = $this->request->post();
|
||||
$group = $params['group'];
|
||||
$group = $params['group']?? [];
|
||||
unset($params['group']);
|
||||
unset($params['__token__']);
|
||||
if ($params) {
|
||||
@@ -196,21 +196,21 @@ class Admin extends adminApi
|
||||
return V(0,"失败", []);
|
||||
}
|
||||
|
||||
// 先移除所有权限
|
||||
model('admin/AuthGroupAccess')->where('uid', $params['id'])->delete();
|
||||
if(!empty($group)){
|
||||
// 先移除所有权限
|
||||
model('admin/AuthGroupAccess')->where('uid', $params['id'])->delete();
|
||||
// 过滤不允许的组别,避免越权
|
||||
$group = array_intersect($this->childrenGroupIds, $group);
|
||||
if (!$group) {
|
||||
return V(0,"失败", []);
|
||||
}
|
||||
|
||||
|
||||
// 过滤不允许的组别,避免越权
|
||||
$group = array_intersect($this->childrenGroupIds, $group);
|
||||
if (!$group) {
|
||||
return V(0,"失败", []);
|
||||
$dataset = [];
|
||||
foreach ($group as $value) {
|
||||
$dataset[] = ['uid' => $params['id'], 'group_id' => $value];
|
||||
}
|
||||
model('admin/AuthGroupAccess')->saveAll($dataset);
|
||||
}
|
||||
|
||||
$dataset = [];
|
||||
foreach ($group as $value) {
|
||||
$dataset[] = ['uid' => $params['id'], 'group_id' => $value];
|
||||
}
|
||||
model('admin/AuthGroupAccess')->saveAll($dataset);
|
||||
Db::commit();
|
||||
return V(1,"成功", []);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
@@ -52,10 +52,10 @@ class Adminlog extends adminApi
|
||||
$where['createtime'] = ['>=', strtotime($search_stime)];
|
||||
}
|
||||
if ($search_etime) {
|
||||
$where['createtime'] = ['<=', strtotime($search_etime.' 23:59:59')];
|
||||
$where['createtime'] = ['<=', strtotime($search_etime)];
|
||||
}
|
||||
if(!empty($search_stime) && !empty($search_etime)){
|
||||
$where['createtime'] = ['between',[strtotime($search_stime),strtotime($search_etime.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($search_stime),strtotime($search_etime)]];
|
||||
}
|
||||
|
||||
$list_data = $this->model->where($where)->where('admin_id', 'in', $this->childrenAdminIds)->order('createtime', 'desc')->paginate($page_limit, false, ['page' => $page]);
|
||||
|
||||
@@ -151,7 +151,7 @@ class Banner extends adminApi
|
||||
$image = input('image', '');
|
||||
$show_status = input('show_status', '');
|
||||
$remarks = input('remarks', '');
|
||||
$content = input('content', '');
|
||||
$content =$_POST['content']??"";
|
||||
if (!$id){
|
||||
return V(0,"ID不能为空");
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ use think\Db;
|
||||
use think\Hook;
|
||||
use think\Session;
|
||||
use think\Validate;
|
||||
use think\Cache;
|
||||
|
||||
/**
|
||||
* 盲盒
|
||||
@@ -18,7 +19,7 @@ class BlindBox extends adminApi
|
||||
{
|
||||
|
||||
protected $noNeedLogin = [];
|
||||
protected $noNeedRight = ['blind_box_type','blind_box_gifts'];
|
||||
protected $noNeedRight = ['blind_box_type','blind_box_gifts','xunlehui_rule_detail','xunlehui_set_rule','blind_box_turntable_lists','blind_box_turntable_open_record','xlh_lock_record'];
|
||||
|
||||
protected $table = 'vs_gift_bag_detail';
|
||||
|
||||
@@ -40,7 +41,8 @@ class BlindBox extends adminApi
|
||||
if(empty($gift_bag_id)){
|
||||
return V(0,"请选择盲盒类型");
|
||||
}
|
||||
$bag_list = db::name("vs_gift_bag")->field('id,name')->where(['activities_id'=>4,'status'=>1])->select();
|
||||
$bag_data = db::name("vs_gift_bag")->find($gift_bag_id);
|
||||
$bag_list = db::name("vs_gift_bag")->field('id,name')->where(['activities_id'=>$bag_data['activities_id'],'status'=>1])->select();
|
||||
foreach ($bag_list as &$v) {
|
||||
$v['default'] = $gift_bag_id == $v['id'] ? 1 : 0;
|
||||
}
|
||||
@@ -60,15 +62,24 @@ class BlindBox extends adminApi
|
||||
$lists[$key]['gift_id'] = $value['foreign_id'];
|
||||
$lists[$key]['gift_name'] = $value['name'];
|
||||
$gift_data = db::name('vs_gift')->where(['gid'=>$value['foreign_id']])->find();
|
||||
if(empty($gift_data)){
|
||||
continue;
|
||||
}
|
||||
$lists[$key]['base_image'] = $gift_data['base_image'];
|
||||
$lists[$key]['gift_price'] = $gift_data['gift_price'];
|
||||
$lists[$key]['quantity'] = $value['quantity'];
|
||||
$lists[$key]['remaining_number'] = $value['remaining_number'];
|
||||
$lists[$key]['is_public_screen'] = $gift_data['is_public_screen'];
|
||||
$lists[$key]['is_public_server'] = $gift_data['is_public_server'];
|
||||
$lists[$key]['is_world_show'] = $value['is_world_show'];
|
||||
$lists[$key]['weight'] = $value['weight'];
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
|
||||
}
|
||||
//$lists 按gift_price 降序排序
|
||||
usort($lists, function($a, $b) {
|
||||
return $b['gift_price'] - $a['gift_price'];
|
||||
});
|
||||
//统计
|
||||
$total_data = [];
|
||||
//每期总次数
|
||||
@@ -83,9 +94,14 @@ class BlindBox extends adminApi
|
||||
//每期总抽奖花费(支出)
|
||||
$bag_data = db::name("vs_gift_bag")->field('id,name,ext')->where(['id'=>$gift_bag_id])->find();
|
||||
$ext = json_decode($bag_data['ext'],true);
|
||||
$c_gift_id = $ext['gift_id'];
|
||||
$c_gift_data = db::name('vs_gift')->where(['gid'=>$c_gift_id])->find();
|
||||
$gift_price = $c_gift_data['gift_price']??0;
|
||||
|
||||
if($gift_bag_id == 13){
|
||||
$gift_price = $ext['xlh_box_price']??0;
|
||||
}else{
|
||||
$c_gift_id = $ext['gift_id'];
|
||||
$c_gift_data = db::name('vs_gift')->where(['gid'=>$c_gift_id])->find();
|
||||
$gift_price = $c_gift_data['gift_price']??0;
|
||||
}
|
||||
$total_cost = $total_count * $gift_price;
|
||||
//每期统计(收入/支出)
|
||||
if($total_cost==0 || $total_price==0){
|
||||
@@ -131,6 +147,8 @@ class BlindBox extends adminApi
|
||||
$gift_id = input('gift_id', '');
|
||||
$gift_bag_id = input('gift_bag_id', '');
|
||||
$quantity = input('quantity', 0);
|
||||
$weight = input('weight', 0);
|
||||
$is_world_show = input('is_world_show', 0);
|
||||
if(empty($gift_id)){
|
||||
return V(0,"请选择礼物");
|
||||
}
|
||||
@@ -153,6 +171,9 @@ class BlindBox extends adminApi
|
||||
$data['quantity'] = $quantity;
|
||||
$data['remaining_number'] = $quantity;
|
||||
$data['createtime'] = time();
|
||||
$data['weight'] = $weight;
|
||||
$data['is_world_show'] = $is_world_show;
|
||||
|
||||
$res = db::name($this->table)->insert($data);
|
||||
if($res){
|
||||
return V(1,"成功");
|
||||
@@ -165,7 +186,15 @@ class BlindBox extends adminApi
|
||||
*/
|
||||
public function blind_box_gifts(){
|
||||
$type = input('type', 2);
|
||||
$list = db::name("vs_gift")->where(['type'=>$type,'delete_time'=>0])->order('sort','asc')->select();
|
||||
$label = input('label', 0);
|
||||
$where['delete_time'] = 0;
|
||||
if($type){
|
||||
$where['type'] = $type;
|
||||
}
|
||||
if($label){
|
||||
$where['label'] = $label;
|
||||
}
|
||||
$list = db::name("vs_gift")->where($where)->order('sort','asc')->select();
|
||||
$list_data = [];
|
||||
foreach ($list as $k=>$v){
|
||||
$list_data[$k]['gid'] = $v['gid'];
|
||||
@@ -181,9 +210,12 @@ class BlindBox extends adminApi
|
||||
public function blind_box_edit(){
|
||||
$id = input('id', '');
|
||||
$quantity = input('quantity', 0);
|
||||
$is_world_show = input('is_world_show', 0);
|
||||
$gift_id = input('gift_id', 0);
|
||||
if(empty($id)){
|
||||
return V(0,"参数错误");
|
||||
}
|
||||
$weight = input('weight', 0);
|
||||
$gift_bag = db::name($this->table)->where('id',$id)->find();
|
||||
// if($gift_bag['remaining_number']>0){
|
||||
// return V(0,"该礼包已开售");
|
||||
@@ -191,6 +223,13 @@ class BlindBox extends adminApi
|
||||
$data = [];
|
||||
$data['quantity'] = $quantity;
|
||||
$data['remaining_number'] = $quantity;
|
||||
$data['is_world_show'] = $is_world_show;
|
||||
$data['weight'] = $weight;
|
||||
if(!empty($gift_id)){
|
||||
$gift = db::name('vs_gift')->where(['gid'=>$gift_id])->find();
|
||||
$data['foreign_id'] = $gift_id;
|
||||
$data['name'] = $gift['gift_name'];
|
||||
}
|
||||
$res = db::name($this->table)->where(['id'=>$id])->update($data);
|
||||
if($res){
|
||||
return V(1,"成功");
|
||||
@@ -217,18 +256,105 @@ class BlindBox extends adminApi
|
||||
*/
|
||||
public function reset_set(){
|
||||
$gift_bag_id = input('gift_bag_id', 0);
|
||||
$room_id = input('room_id', 0);
|
||||
if(empty($gift_bag_id)){
|
||||
return V(0,"请选择盲盒类型");
|
||||
}
|
||||
$gift_bag_detail = db::name($this->table)->where(['gift_bag_id'=>$gift_bag_id])->select();
|
||||
// if(in_array($gift_bag_id,[10,11,12,13])){
|
||||
// $periods = 1;
|
||||
// $target_room_ids = [];
|
||||
// if(!empty($room_id)){
|
||||
// // 处理单个房间
|
||||
// $room_pan_detail = db::name('vs_room_pan')
|
||||
// ->where(['gift_bag_id'=>$gift_bag_id,'room_id'=>$room_id])
|
||||
// ->order('id desc')
|
||||
// ->find();
|
||||
//
|
||||
// if($room_pan_detail){
|
||||
// $periods = $room_pan_detail['periods'];
|
||||
// }
|
||||
// // 删除指定房间的数据
|
||||
// db::name('vs_room_pan')
|
||||
// ->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])
|
||||
// ->delete();
|
||||
//
|
||||
// $target_room_ids = [$room_id];
|
||||
// }else{
|
||||
// // 处理所有房间
|
||||
// db::name('vs_room_pan')
|
||||
// ->where(['gift_bag_id'=>$gift_bag_id])
|
||||
// ->delete();
|
||||
//
|
||||
// $target_room_ids = db::name('vs_room')
|
||||
// ->where(['is_open_blind_box_turntable'=>1,'room_status'=>1])
|
||||
// ->column('id');
|
||||
// }
|
||||
// // 批量插入数据
|
||||
// $insert_data = [];
|
||||
// $update_data = [];
|
||||
// foreach ($gift_bag_detail as $v){
|
||||
// if(!empty($room_id)) {
|
||||
// // 单个房间更新或插入
|
||||
// $existing = db::name('vs_room_pan')
|
||||
// ->where([
|
||||
// 'room_id' => $room_id,
|
||||
// 'gift_bag_detail_id' => $v['id']
|
||||
// ])
|
||||
// ->find();
|
||||
//
|
||||
// if($existing) {
|
||||
// $update_data[] = [
|
||||
// 'id' => $existing['id'],
|
||||
// 'remaining_number' => $v['quantity'],
|
||||
// 'periods' => $periods
|
||||
// ];
|
||||
// } else {
|
||||
// $insert_data[] = [
|
||||
// 'room_id' => $room_id,
|
||||
// 'gift_bag_id' => $gift_bag_id,
|
||||
// 'gift_bag_detail_id' => $v['id'],
|
||||
// 'remaining_number' => $v['quantity'],
|
||||
// 'periods' => $periods,
|
||||
// 'createtime' => time(),
|
||||
// ];
|
||||
// }
|
||||
// } else {
|
||||
// // 多个房间批量插入
|
||||
// foreach ($target_room_ids as $mid){
|
||||
// $insert_data[] = [
|
||||
// 'room_id' => $mid,
|
||||
// 'gift_bag_id' => $gift_bag_id,
|
||||
// 'gift_bag_detail_id' => $v['id'],
|
||||
// 'remaining_number' => $v['quantity'],
|
||||
// 'periods' => $periods,
|
||||
// 'createtime' => time(),
|
||||
// ];
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 执行批量插入
|
||||
// if(!empty($insert_data)) {
|
||||
// db::name('vs_room_pan')->insertAll($insert_data);
|
||||
// }
|
||||
// // 执行批量更新
|
||||
// if(!empty($update_data)) {
|
||||
// foreach($update_data as $update_item) {
|
||||
// db::name('vs_room_pan')
|
||||
// ->where(['id' => $update_item['id']])
|
||||
// ->update([
|
||||
// 'remaining_number' => $update_item['remaining_number'],
|
||||
// 'periods' => $update_item['periods']
|
||||
// ]);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// 更新盲盒详情的剩余数量
|
||||
foreach ($gift_bag_detail as $k=>$v){
|
||||
$bag_data = db::name($this->table)->where(['id'=>$v['id']])->update(['remaining_number'=>$v['quantity']]);
|
||||
}
|
||||
if($bag_data){
|
||||
return V(1,"成功");
|
||||
}else{
|
||||
return V(0,"失败");
|
||||
}
|
||||
return V(1,"成功");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -309,6 +435,8 @@ class BlindBox extends adminApi
|
||||
}
|
||||
if($gift_bag_id){
|
||||
$where['gift_bag_id'] = $gift_bag_id;
|
||||
}else{
|
||||
$where['gift_bag_id'] = ['in',[7,8,9]];
|
||||
}
|
||||
if($periods){
|
||||
$where['periods'] = $periods;
|
||||
@@ -401,5 +529,383 @@ class BlindBox extends adminApi
|
||||
$bag_list = db::name("vs_gift_bag")->field('id,name')->where(['activities_id'=>$activities_id,'status'=>1])->select();
|
||||
return V(1,"成功", $bag_list);
|
||||
}
|
||||
//--------------------------盲盒转盘与巡乐会-------------------------------------------------------
|
||||
|
||||
/*
|
||||
* 巡乐会规则详情
|
||||
*/
|
||||
public function xunlehui_rule_detail(){
|
||||
$gift_bag_id = 13;
|
||||
$gift_bag = db::name('vs_gift_bag')->where(['id'=>$gift_bag_id])->find();
|
||||
$ext_data = json_decode($gift_bag['ext'],true);
|
||||
$ext_data['introd'] = stripcslashes($ext_data['introd']);
|
||||
$bag_list = db::name("vs_gift_bag")->field('id,name')->where(['activities_id'=>5,'status'=>1])->select();
|
||||
foreach ($bag_list as &$value) {
|
||||
$value['is_default'] = 0;
|
||||
if($value['id'] == $ext_data['inlet_bag_id']){
|
||||
$value['is_default'] = 1;
|
||||
}
|
||||
}
|
||||
$ext_data['bag_list'] = $bag_list;
|
||||
if($gift_bag){
|
||||
return V(1,"成功",$ext_data);
|
||||
}else{
|
||||
return V(0,"失败");
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 巡乐会规则设置
|
||||
*/
|
||||
public function xunlehui_set_rule(){
|
||||
$gift_bag_id = 13;
|
||||
$inlet_bag_id = input('inlet_bag_id', '');
|
||||
$waiting_start_num = input('waiting_start_num', '');
|
||||
$start_num = input('start_num', '');
|
||||
$selected_gift_id = input('selected_gift_id', '');
|
||||
$locking_gift_id = input('locking_gift_id', '');
|
||||
$give_homeowner_gift_id = input('give_homeowner_gift_id', '');
|
||||
$end_time = input('end_time', '');
|
||||
$tow_no_locking_time = input('tow_no_locking_time', '');
|
||||
$next_time = input('next_time', '');
|
||||
$introd =$_POST['introd']??"";
|
||||
$price = input('price', '');
|
||||
if(empty($inlet_bag_id)){
|
||||
return V(0,"请选择巡乐会绑定入口");
|
||||
}
|
||||
$ext =[
|
||||
'inlet_bag_id' => $inlet_bag_id,
|
||||
'gift_id' => $selected_gift_id,
|
||||
'xlh_box_price' => $price,
|
||||
'open_condition' => [
|
||||
'waiting_start_num' => $waiting_start_num,
|
||||
'start_num' => $start_num,
|
||||
],
|
||||
'locking_condition' => [
|
||||
'selected_gift_id' => $selected_gift_id,
|
||||
'locking_gift_id' => $locking_gift_id,
|
||||
'give_homeowner_gift_id' => $give_homeowner_gift_id,
|
||||
],
|
||||
'locking_time' => [
|
||||
'end_time' => $end_time,
|
||||
'tow_no_locking_time' => $tow_no_locking_time,
|
||||
'next_time' => $next_time,
|
||||
],
|
||||
'introd' => $introd,
|
||||
];
|
||||
$ext = json_encode($ext);
|
||||
$res = db::name('vs_gift_bag')->where(['id'=>$gift_bag_id])->update(['ext'=>$ext]);
|
||||
if($res){
|
||||
//删除缓存
|
||||
$cacheKey = "xlh_config_13";
|
||||
cache::rm($cacheKey);
|
||||
return V(1,"成功");
|
||||
}else{
|
||||
return V(0,"失败");
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 盲盒转盘统计
|
||||
*
|
||||
*/
|
||||
public function blind_box_turntable_lists(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$gift_id = input('gift_id', '');
|
||||
$gift_name = input('gift_name', '');
|
||||
$gift_bag_id = input('gift_bag_id', 10);
|
||||
$room_id = input('room_id', '');
|
||||
if(empty($gift_bag_id)){
|
||||
return V(0,"请选择盲盒类型");
|
||||
}
|
||||
$room = db::name('vs_room')->where(['id'=>$room_id])->find();
|
||||
if(empty($room)){
|
||||
return V(0,"房间不存在");
|
||||
}
|
||||
if($room['is_open_blind_box_turntable'] !=1){
|
||||
return V(0,"该房间未开启盲盒转盘");
|
||||
}
|
||||
$bag_data = db::name("vs_gift_bag")->find($gift_bag_id);
|
||||
$bag_list = db::name("vs_gift_bag")->field('id,name')->where(['activities_id'=>$bag_data['activities_id'],'status'=>1])->select();
|
||||
foreach ($bag_list as &$v) {
|
||||
$v['default'] = $gift_bag_id == $v['id'] ? 1 : 0;
|
||||
}
|
||||
$where=[];
|
||||
$where['gift_bag_id'] = $gift_bag_id;
|
||||
if($gift_id!==''){
|
||||
$where['foreign_id'] =$gift_id;
|
||||
}
|
||||
if($gift_name!==''){
|
||||
$where['name'] = ['like', '%'.$gift_name.'%'];
|
||||
}
|
||||
$count = db::name($this->table)->where($where)->count();
|
||||
$lists_data = db::name($this->table)->where($where)->page($page, $page_limit)->order("id desc")->select();
|
||||
$lists = [];
|
||||
$periods =1;
|
||||
foreach ($lists_data as $key => $value) {
|
||||
$lists[$key]['id'] = $value['id'];
|
||||
$lists[$key]['gift_id'] = $value['foreign_id'];
|
||||
$lists[$key]['gift_name'] = $value['name'];
|
||||
$gift_data = db::name('vs_gift')->where(['gid'=>$value['foreign_id']])->find();
|
||||
$lists[$key]['base_image'] = $gift_data['base_image'];
|
||||
$lists[$key]['gift_price'] = $gift_data['gift_price'];
|
||||
$lists[$key]['quantity'] = $value['quantity'];
|
||||
$room_pan = db::name('vs_room_pan')->where(['room_id'=>$room_id,'gift_bag_detail_id'=>$value['id']])->find();
|
||||
$lists[$key]['remaining_number'] = $room_pan['remaining_number'] ?? 0;
|
||||
$lists[$key]['is_public_screen'] = $gift_data['is_public_screen'];
|
||||
$lists[$key]['is_public_server'] = $gift_data['is_public_server'];
|
||||
$lists[$key]['is_world_show'] = $value['is_world_show'];
|
||||
$lists[$key]['weight'] = $value['weight'];
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
$periods = $room_pan['periods']??1;
|
||||
}
|
||||
//统计
|
||||
$total_data = [];
|
||||
//每期总次数
|
||||
$total_count = db::name($this->table)->where(['gift_bag_id'=>$gift_bag_id])->sum('quantity');
|
||||
//每期总礼物价值
|
||||
$total_price_data = db::name($this->table)->alias('a')
|
||||
->field('a.quantity,b.gift_price,b.gift_price * a.quantity as total_price')
|
||||
->join('vs_gift b','a.foreign_id = b.gid')
|
||||
->where(['a.gift_bag_id'=>$gift_bag_id])
|
||||
->select();
|
||||
$total_price = array_sum(array_column($total_price_data,'total_price'));
|
||||
//每期总抽奖花费(支出)
|
||||
$bag_data = db::name("vs_gift_bag")->field('id,name,ext')->where(['id'=>$gift_bag_id])->find();
|
||||
$ext = json_decode($bag_data['ext'],true);
|
||||
$c_gift_id = $ext['gift_id'];
|
||||
$c_gift_data = db::name('vs_gift')->where(['gid'=>$c_gift_id])->find();
|
||||
$gift_price = $c_gift_data['gift_price']??0;
|
||||
$total_cost = $total_count * $gift_price;
|
||||
//每期统计(收入/支出)
|
||||
if($total_cost==0 || $total_price==0){
|
||||
$profit_loss_ratio = 0;
|
||||
}else{
|
||||
$profit_loss_ratio =round(($total_price / $total_cost ),2);
|
||||
}
|
||||
//今天抽奖人数
|
||||
$today_count_user = db::name('vs_gift_bag_receive_log')
|
||||
->where(['gift_bag_id'=>$gift_bag_id,'createtime'=>['between',[strtotime(date('Y-m-d')),time()]]])
|
||||
->group('user_id')
|
||||
->count();
|
||||
//今日抽奖总次数
|
||||
$today_total_count = db::name('vs_gift_bag_receive_log')
|
||||
->where(['gift_bag_id'=>$gift_bag_id,'createtime'=>['between',[strtotime(date('Y-m-d')),time()]]])
|
||||
->count();
|
||||
//今日抽奖收入
|
||||
$today_total_price = db::name('vs_gift_bag_receive_log')
|
||||
->where(['gift_bag_id'=>$gift_bag_id,'createtime'=>['between',[strtotime(date('Y-m-d')),time()]]])
|
||||
->sum('bag_price');
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists,
|
||||
'bag_list' => $bag_list,
|
||||
'total_data' => [
|
||||
'blind_box_turntable_periods' => $periods, //当前期数
|
||||
'remaining_number' => db::name('vs_room_pan')->where(['room_id'=>$room_id,'gift_bag_id'=>$gift_bag_id])->sum('remaining_number')??'0',
|
||||
'total_count' => $total_count,
|
||||
'total_price' => $total_price,
|
||||
'total_cost' => $total_cost,
|
||||
'profit_loss_ratio' => $profit_loss_ratio,
|
||||
'today_count_user' => $today_count_user,
|
||||
'today_total_count' => $today_total_count,
|
||||
'today_total_price' => $today_total_price,
|
||||
]
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
/*
|
||||
* 盲盒转盘开奖记录
|
||||
*
|
||||
*/
|
||||
public function blind_box_turntable_open_record(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$gift_id = input('gift_id', '');
|
||||
$user_id = input('user_id', '');
|
||||
$room_id = input('room_id', '');
|
||||
$gift_bag_id = input('gift_bag_id', '');
|
||||
$periods = input('periods', '');
|
||||
$stime = input('stime', '');
|
||||
$etime = input('etime', '');
|
||||
$where = [];
|
||||
if($room_id){
|
||||
$where['room_id'] = $room_id;
|
||||
}
|
||||
if($gift_id){
|
||||
$where['gift_id'] = $gift_id;
|
||||
}
|
||||
if($user_id){
|
||||
$user_id = db::name('user')->where('user_code', $user_id)->value('id');
|
||||
$where['user_id'] = $user_id;
|
||||
}
|
||||
if($gift_bag_id){
|
||||
$where['gift_bag_id'] = $gift_bag_id;
|
||||
}else{
|
||||
$where['gift_bag_id'] = ['in',[10,11,12]];
|
||||
}
|
||||
if($periods){
|
||||
$where['periods'] = $periods;
|
||||
}
|
||||
if($stime!==""){
|
||||
$where['createtime'] = ['>=', strtotime($stime)];
|
||||
}
|
||||
if($etime!==""){
|
||||
$where['createtime'] = ['<=', strtotime($etime.'23:59:59')];
|
||||
}
|
||||
if($stime!=="" && $etime!==""){
|
||||
$where['createtime'] = ['between', [strtotime($stime), strtotime($etime.'23:59:59')]];
|
||||
}
|
||||
$count = db::name('vs_gift_bag_receive_pan_log')->where($where)->count();
|
||||
$lists_data = db::name('vs_gift_bag_receive_pan_log')->where($where)->page($page, $page_limit)->order("id desc")->select();
|
||||
$lists = [];
|
||||
foreach ($lists_data as $key => $value) {
|
||||
$lists[$key]['id'] = $value['id'];
|
||||
$lists[$key]['user_id'] = $value['user_id'];
|
||||
$user = db::name('user')->where('id',$value['user_id'])->find();
|
||||
$lists[$key]['user_name'] = "";
|
||||
if($user){
|
||||
$lists[$key]['user_name'] = $user['user_code'].'-'.$user['nickname'];
|
||||
}
|
||||
|
||||
$lists[$key]['gift_user_id'] = $value['gift_user_id'];
|
||||
$gift_user = db::name('user')->where('id',$value['gift_user_id'])->find();
|
||||
$lists[$key]['gift_user_name'] = "";
|
||||
if($gift_user){
|
||||
$lists[$key]['gift_user_name'] = $gift_user['user_code'].'-'.$gift_user['nickname'];
|
||||
}
|
||||
$lists[$key]['gift_bag_type'] = db::name('vs_gift_bag')->where('id',$value['gift_bag_id'])->value('name');
|
||||
$lists[$key]['periods'] = $value['periods'];
|
||||
$room = db::name('vs_room')->where('id',$value['room_id'])->find();
|
||||
$lists[$key]['room_name'] = "";
|
||||
if($room){
|
||||
$lists[$key]['room_name'] = $room['room_number']."-".$room['room_name'];
|
||||
}
|
||||
$lists[$key]['bag_price'] = $value['bag_price']*$value['num'];
|
||||
$lists[$key]['gift_id'] = $value['gift_id'];
|
||||
$lists[$key]['gift_name'] = db::name('vs_gift')->where('gid',$value['gift_id'])->value('gift_name');
|
||||
$lists[$key]['gift_price'] = $value['gift_price'];
|
||||
$lists[$key]['gift_num'] = $value['num'];
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s',$value['createtime']);
|
||||
}
|
||||
$all_lists_data = db::name('vs_gift_bag_receive_pan_log')->where($where)->order("id desc")->select();
|
||||
$total =0;
|
||||
$total_gift_money = 0;
|
||||
$total_money = 0;
|
||||
foreach ($all_lists_data as $key => $value) {
|
||||
$total += $value['num'];//总抽奖次数
|
||||
$total_gift_money += $value['gift_price'] * $value['num']; //总礼物价值(收入)
|
||||
$total_money += $value['bag_price'] * $value['num']; //总抽奖金额(支出)
|
||||
}
|
||||
//统计
|
||||
if($total_gift_money==0 || $total_money==0){
|
||||
$ratio = 0;
|
||||
}else{
|
||||
$ratio =round(($total_gift_money / $total_money),3);
|
||||
}
|
||||
//用户盈亏
|
||||
$profit_loss = $total_gift_money - $total_money;
|
||||
//平台盈亏
|
||||
$platform_profit_loss = $total_money - $total_gift_money;
|
||||
if($profit_loss==0 || $total_money==0){
|
||||
$profit_loss_ratio = 0;
|
||||
$platform_profit_loss_ratio = 0;
|
||||
}else{
|
||||
// 盈亏比
|
||||
$profit_loss_ratio = round(($profit_loss / $total_money),3);
|
||||
//平台盈亏比
|
||||
$platform_profit_loss_ratio = round(($platform_profit_loss / $total_money),3);
|
||||
}
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists,
|
||||
'total_data' => [
|
||||
'total' => $total,
|
||||
'total_money' => $total_money,
|
||||
'total_gift_money' => $total_gift_money,
|
||||
'ratio' => $ratio,
|
||||
'profit_loss' => $profit_loss,
|
||||
'profit_loss_ratio' => $profit_loss_ratio,
|
||||
'platform_profit_loss' => $platform_profit_loss,
|
||||
'platform_profit_loss_ratio' => $platform_profit_loss_ratio,
|
||||
]
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
/*
|
||||
* 寻乐会锁定记录
|
||||
*
|
||||
*/
|
||||
public function xlh_lock_record(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$gift_id = input('gift_id', '');
|
||||
$user_id = input('user_id', '');
|
||||
$room_id = input('room_id', 0);
|
||||
$periods = input('periods', '');
|
||||
$where = [];
|
||||
if($room_id){
|
||||
$where['b.room_id'] = $room_id;
|
||||
}
|
||||
if($gift_id){
|
||||
$where['b.gift_id'] = $gift_id;
|
||||
}
|
||||
if($user_id){
|
||||
$user_id = db::name('user')->where('user_code', $user_id)->value('id');
|
||||
$where['b.user_id'] = $user_id;
|
||||
}
|
||||
if($periods){
|
||||
$where['b.periods'] = $periods;
|
||||
}
|
||||
|
||||
$count = db::name('vs_room_pan_xlh_log')->alias('a')
|
||||
->join('vs_room_pan_xlh b', 'a.xlh_id = b.id')
|
||||
->where($where)->count();
|
||||
$lists_data = db::name('vs_room_pan_xlh_log')->alias('a')
|
||||
->join('vs_room_pan_xlh b', 'a.xlh_id = b.id')
|
||||
->field('a.id,b.periods as periods,a.user_id,a.createtime,b.user_id,b.room_id,b.gift_id,b.num,a.is_send,b.pay_price,b.locking_gift_id')
|
||||
->where($where)
|
||||
->page($page, $page_limit)
|
||||
->order("id desc")
|
||||
->select();
|
||||
$lists = [];
|
||||
foreach ($lists_data as $key => $value) {
|
||||
$lists[$key]['id'] = $value['id'];
|
||||
$lists[$key]['periods'] = $value['periods'];
|
||||
$user = db::name('user')->field('user_code,nickname')->where('id',$value['user_id'])->find();
|
||||
$lists[$key]['user'] = $user['user_code']."-".$user['nickname'];
|
||||
//支付价格
|
||||
$lists[$key]['pay_price'] = $value['pay_price'];
|
||||
$gift = db::name('vs_gift')->field('gid,gift_name,gift_price')->where('gid',$value['locking_gift_id'])->find();
|
||||
$lists[$key]['gift_id'] = $value['locking_gift_id'];
|
||||
$lists[$key]['gift_name'] = $gift['gift_name']??"";
|
||||
$lists[$key]['gift_price'] = $gift['gift_price']??0;
|
||||
$lists[$key]['locking_num'] = $value['num'];
|
||||
$lists[$key]['is_send'] = $value['is_send'];
|
||||
$lists[$key]['is_send_str'] = $value['is_send']==1?"是":"否";
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s',$value['createtime']);
|
||||
$room = db::name('vs_room')->where('id',$value['room_id'])->find();
|
||||
$lists[$key]['room_name'] = "";
|
||||
if($room){
|
||||
$lists[$key]['room_name'] = $room['room_number']."-".$room['room_name'];
|
||||
}
|
||||
}
|
||||
//今日锁定礼物数量
|
||||
$today = strtotime(date('Y-m-d'));
|
||||
$locking_num = db::name('vs_room_pan_xlh_log')->alias('a')
|
||||
->join('vs_room_pan_xlh b', 'a.xlh_id = b.id')
|
||||
->where('a.createtime','>=',$today)->where(['a.is_send'=>1,'b.room_id'=>$room_id])->sum('a.num');
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $lists,
|
||||
'locking_num' => $locking_num
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -54,7 +54,7 @@ class Decorate extends adminApi
|
||||
$return_list[$k]['type_str'] = model('api/Decorate')->TypeArray[$v['type']];
|
||||
$return_list[$k]['base_image'] = $v['base_image'];
|
||||
$return_list[$k]['file_type'] = $v['file_type'];
|
||||
$return_list[$k]['file_type_str'] = $v['file_type'] ? "SVGA" : "MP4";
|
||||
$return_list[$k]['file_type_str'] = $v['file_type']==1 ? "SVGA" : "MP4";
|
||||
$return_list[$k]['play_image'] = $v['play_image'];
|
||||
$return_list[$k]['show_status'] = $v['show_status'];
|
||||
$return_list[$k]['is_buy'] = $v['is_buy'];
|
||||
@@ -327,6 +327,7 @@ class Decorate extends adminApi
|
||||
$type = input('type', '');
|
||||
$where = [];
|
||||
if($user_id!=""){
|
||||
$user_id = db::name('user')->where('user_code', $user_id)->value('id');
|
||||
$where['user_id'] = $user_id;
|
||||
}
|
||||
if($did!=""){
|
||||
@@ -340,7 +341,8 @@ class Decorate extends adminApi
|
||||
$return_list = [];
|
||||
foreach ($lists as $k=>$v){
|
||||
$return_list[$k]['id'] = $v['udid'];
|
||||
$return_list[$k]['user_name'] = $v['user_id']."-".db::name('user')->where(['id'=>$v['user_id']])->value('nickname');
|
||||
$user_data = db::name('user')->where(['id'=>$v['user_id']])->find();
|
||||
$return_list[$k]['user_name'] = $user_data['user_code']."-".db::name('user')->where(['id'=>$v['user_id']])->value('nickname');
|
||||
$return_list[$k]['type'] = model('api/Decorate')->TypeArray[$v['type']];
|
||||
if($v['type'] >= 6){
|
||||
$return_list[$k]['name'] = $v['special_num'];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace app\adminapi\controller;
|
||||
|
||||
ini_set('memory_limit', '512M'); // 临时增加到512MB
|
||||
use app\common\controller\adminApi;
|
||||
use think\Db;
|
||||
|
||||
@@ -54,12 +54,14 @@ class GiveGift extends adminApi
|
||||
$where['from'] = $from;
|
||||
}
|
||||
// 时间筛选优化
|
||||
if(!empty($start_time) && !empty($end_time)){
|
||||
$where['createtime'] = ['between', [strtotime($start_time), strtotime($end_time.' 23:59:59')]];
|
||||
} elseif(!empty($start_time)){
|
||||
$where['createtime'] = ['>=', strtotime($start_time)];
|
||||
} elseif(!empty($end_time)){
|
||||
$where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
if (!empty($start_time) || !empty($end_time)) {
|
||||
if (!empty($start_time) && !empty($end_time)) {
|
||||
$where['createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
|
||||
} elseif (!empty($start_time)) {
|
||||
$where['createtime'] = ['>=', strtotime($start_time)];
|
||||
} elseif (!empty($end_time)) {
|
||||
$where['createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
}
|
||||
//礼物总数
|
||||
$gift_num = db::name('vs_give_gift')->where($where)->sum('number');
|
||||
@@ -73,24 +75,32 @@ class GiveGift extends adminApi
|
||||
$room_owner_earning = 0;
|
||||
|
||||
// 获取所有送礼记录
|
||||
$list = db::name('vs_give_gift')->where($where)->order('id', 'desc')->select();
|
||||
$gift_ids = array_column($list, 'id');
|
||||
if (!empty($gift_ids)) {
|
||||
$lists = db::name('vs_give_gift')->where($where)->order('id', 'desc')->page($page, $page_limit)->select();
|
||||
$count = db::name('vs_give_gift')->where($where)->count();
|
||||
$earning_list = [];
|
||||
if(!empty($where)){
|
||||
$gift_ids = db::name('vs_give_gift')->where($where)->column('id');
|
||||
if (!empty($gift_ids)) {
|
||||
// 批量获取所有收益记录
|
||||
$earning_list = db::name('vs_give_gift_ratio_log')
|
||||
->field('app_earning,gift_user_earning,room_owner_earning')
|
||||
->where('give_gift_id', 'in', $gift_ids)
|
||||
->order('id', 'desc')
|
||||
->select();
|
||||
}
|
||||
}else{
|
||||
// 批量获取所有收益记录
|
||||
$earning_list = db::name('vs_give_gift_ratio_log')
|
||||
->where('give_gift_id', 'in', $gift_ids)
|
||||
->field('app_earning,gift_user_earning,room_owner_earning')
|
||||
->order('id', 'desc')
|
||||
->select();
|
||||
|
||||
// 计算总收益
|
||||
foreach ($earning_list as $earning) {
|
||||
$app_earning += $earning['app_earning'];
|
||||
$receive_earning += $earning['gift_user_earning'];
|
||||
$room_owner_earning += $earning['room_owner_earning'];
|
||||
}
|
||||
}
|
||||
$count = count($list);
|
||||
$lists = $this->array_pagination($list, $page, $page_limit);
|
||||
// 计算总收益
|
||||
foreach ($earning_list as $earning) {
|
||||
$app_earning += $earning['app_earning'];
|
||||
$receive_earning += $earning['gift_user_earning'];
|
||||
$room_owner_earning += $earning['room_owner_earning'];
|
||||
}
|
||||
|
||||
// 提取所有需要关联查询的ID
|
||||
$user_ids = array_merge(
|
||||
|
||||
@@ -88,7 +88,7 @@ class Guild extends adminApi
|
||||
$list[$k]['status_str'] = $v['status'] == 1 ? '正常' : '解散';
|
||||
$list[$k]['createtime'] = date('Y-m-d H:i:s',$v['createtime']);
|
||||
$list[$k]['updatetime'] = date('Y-m-d H:i:s',$v['updatetime']);
|
||||
$list[$k]['user_id'] = $user['user_code'];
|
||||
$list[$k]['user_id'] = $user['user_code']??"";
|
||||
$list[$k]['intro'] = $v['intro'];
|
||||
}
|
||||
// 数组按today_money 排序
|
||||
@@ -170,7 +170,13 @@ class Guild extends adminApi
|
||||
}
|
||||
//会长是否有房间
|
||||
$rid = 0;
|
||||
$room_info = db::name('vs_room')->where('user_id', $user_id)->find();
|
||||
$where = [
|
||||
'user_id' => $user_id,
|
||||
'delete_time' => 0
|
||||
];
|
||||
$where['apply_status'] = 2;//1待审核 2审核通过 3审核失败
|
||||
$where['type_id'] = ['<>',6];
|
||||
$room_info = db::name('vs_room')->where($where)->find();
|
||||
if($room_info){
|
||||
$rid = $room_info['id'];
|
||||
}
|
||||
@@ -288,9 +294,9 @@ class Guild extends adminApi
|
||||
$res = model('Guild')->edit(['id'=>$id],['status'=>2,'delete_time'=>time()]);
|
||||
|
||||
if($res){
|
||||
db('vs_guild_user')->where(['guild_id'=>$id,'quit_type'=>0])->update(['quit_type'=>3,'quit_time'=>time()]);
|
||||
db('vs_guild_user')->where(['guild_id'=>$id,'quit_type'=>0])->update(['quit_type'=>3,'quit_time'=>time(),'delete_time'=>time()]);
|
||||
//解散群
|
||||
model('Tencent')->delete_group('g'.$id);
|
||||
model('api/Tencent')->delete_group('g'.$id);
|
||||
return V(1,"解散成功");
|
||||
}else{
|
||||
return V(0,"解散失败");
|
||||
@@ -336,9 +342,9 @@ class Guild extends adminApi
|
||||
$rum_lists[$k]['id']=$v['id'];
|
||||
$rum_lists[$k]['user_id']=$v['user_id'];
|
||||
$rum_lists[$k]['user_code']=model('api/Decorate')->user_decorate_detail($v['user_id'],6);
|
||||
$rum_lists[$k]['nickname']=$user_info['nickname'];
|
||||
$rum_lists[$k]['charm_level']=$user_info['charm_level'];
|
||||
$rum_lists[$k]['wealth_level']=$user_info['wealth_level'];
|
||||
$rum_lists[$k]['nickname']=$user_info['nickname']?? '';
|
||||
$rum_lists[$k]['charm_level']=$user_info['charm_level']??0;
|
||||
$rum_lists[$k]['wealth_level']=$user_info['wealth_level']??0;
|
||||
//用户流水
|
||||
$consumption_sql = db::name('vs_user_money_log')
|
||||
->whereIn('change_type',$coin_consumption_type_array)
|
||||
@@ -390,15 +396,28 @@ class Guild extends adminApi
|
||||
}
|
||||
$count = db::name($this->table_guild_user)->alias('a')
|
||||
->join('vs_room b', 'a.room_id = b.id', 'left')
|
||||
->where(['a.guild_id'=>$guild_id,'a.quit_type'=>['in',[0,3]]])->where($where)->count();
|
||||
->where(['a.guild_id'=>$guild_id])->where($where)->count();
|
||||
$list = db::name($this->table_guild_user)->alias('a')
|
||||
->join('vs_room b', 'a.room_id = b.id', 'left')
|
||||
->where(['a.guild_id'=>$guild_id,'a.quit_type'=>['in',[0,3]]])->where($where)->page($page, $page_limit)->select();
|
||||
->where(['a.guild_id'=>$guild_id])->where($where)->page($page, $page_limit)->select();
|
||||
if(!$list){
|
||||
return V(0,"暂无数据");
|
||||
}
|
||||
$rum_lists = [];
|
||||
foreach ($list as $k=>$v){
|
||||
if($search_stime!="" && $v['createtime'] < strtotime($search_stime)){
|
||||
$search_stime = $search_stime;
|
||||
}else{
|
||||
$search_stime = date('Y-m-d H:i:s',$v['createtime']) ;
|
||||
}
|
||||
if($v['quit_time']){
|
||||
if($search_etime!="" && $v['quit_time'] > strtotime($search_etime)){
|
||||
$search_etime = $search_etime;
|
||||
}else{
|
||||
$search_etime = date('Y-m-d H:i:s',$v['quit_time']);
|
||||
}
|
||||
}
|
||||
|
||||
$room_info = db::name('vs_room')->where(['id'=>$v['room_id']])->find();
|
||||
$rum_lists[$k]['id']=$v['id'];
|
||||
$rum_lists[$k]['room_id']=$v['room_id'];
|
||||
@@ -617,12 +636,14 @@ class Guild extends adminApi
|
||||
$search_status_time = input('search_status_time', '');
|
||||
$search_end_time = input('search_end_time', '');
|
||||
$search_status = input('search_status', '');
|
||||
$where = ['b.delete_time'=>0];
|
||||
// $where = ['b.delete_time'=>0];
|
||||
$where = [];
|
||||
if($search_user_id){
|
||||
$where['b.user_id'] = $search_user_id;
|
||||
}
|
||||
if($search_guild_id){
|
||||
$where['a.guild_id'] = $search_guild_id;
|
||||
//$where['a.guild_id'] = $search_guild_id;
|
||||
$where['b.guild_special_id'] = $search_guild_id;
|
||||
}
|
||||
if($search_status_time){
|
||||
$where['a.start_time'] = ['>=', $search_status_time];
|
||||
|
||||
@@ -54,6 +54,15 @@ class Index extends adminApi
|
||||
//总待付款笔数
|
||||
$return_data['all_wait_pay_num'] = db::name('vs_user_recharge')->where('pay_status',1)->count();
|
||||
|
||||
//周实时收入金额
|
||||
$return_data['week_money'] = db::name('vs_user_recharge')->where('pay_status',2)->whereTime('pay_time', 'week')->sum('money');
|
||||
//上周收入金额
|
||||
$return_data['last_week_money'] = db::name('vs_user_recharge')->where('pay_status',2)->whereTime('pay_time', 'last week')->sum('money');
|
||||
//月收入金额
|
||||
$return_data['month_money'] = db::name('vs_user_recharge')->where('pay_status',2)->whereTime('pay_time', 'month')->sum('money');
|
||||
//上月收入金额
|
||||
$return_data['last_month_money'] = db::name('vs_user_recharge')->where('pay_status',2)->whereTime('pay_time', 'last month')->sum('money');
|
||||
|
||||
//待办事项
|
||||
//房间审核数
|
||||
$return_data['room_audit_num'] = db::name('vs_room')->where('apply_status',1)->count();
|
||||
@@ -114,17 +123,27 @@ class Index extends adminApi
|
||||
$return_data['register_count'] = db::name('user')->where('status', 1)->where('is_robot', 0)->whereTime('createtime', 'today')->count();
|
||||
//充值会员数
|
||||
$return_data['recharge_count'] = db::name('vs_user_recharge')->where('pay_status',2)->group('user_id')->count();
|
||||
//充值会员百分比
|
||||
$return_data['recharge_count_percent'] = round(($return_data['recharge_count'] / $return_data['member_count']) * 100);
|
||||
//未充值会员数
|
||||
$return_data['no_recharge_count'] = $return_data['member_count'] - $return_data['recharge_count'];
|
||||
$return_data['no_recharge_count_percent'] = round(($return_data['no_recharge_count'] / $return_data['member_count']) * 100);
|
||||
//IOS用户数
|
||||
$return_data['ios_count'] = db::name('user')->where('status', 1)->where('is_robot', 0)->where('system', 'iOS')->count();
|
||||
$return_data['ios_count_percent'] = round(($return_data['ios_count'] / $return_data['member_count']) * 100);
|
||||
//安卓用户数
|
||||
$return_data['android_count'] = $return_data['member_count']-$return_data['ios_count'];
|
||||
$return_data['android_count_percent'] = round(($return_data['android_count'] / $return_data['member_count']) * 100);
|
||||
if(empty($return_data['member_count'])){
|
||||
$return_data['recharge_count_percent'] = 0;
|
||||
$return_data['no_recharge_count'] = 0;
|
||||
$return_data['no_recharge_count_percent'] = 0;
|
||||
$return_data['no_recharge_count'] = 0;
|
||||
$return_data['ios_count_percent'] = 0;
|
||||
$return_data['android_count'] = 0;
|
||||
$return_data['android_count_percent'] = 0;
|
||||
}else{
|
||||
//充值会员百分比
|
||||
$return_data['recharge_count_percent'] = round(($return_data['recharge_count'] / $return_data['member_count']) * 100);
|
||||
//未充值会员数
|
||||
$return_data['no_recharge_count'] = $return_data['member_count'] - $return_data['recharge_count'];
|
||||
$return_data['no_recharge_count_percent'] = round(($return_data['no_recharge_count'] / $return_data['member_count']) * 100);
|
||||
//IOS用户数
|
||||
$return_data['ios_count'] = db::name('user')->where('status', 1)->where('is_robot', 0)->where('system', 'iOS')->count();
|
||||
$return_data['ios_count_percent'] = round(($return_data['ios_count'] / $return_data['member_count']) * 100);
|
||||
//安卓用户数
|
||||
$return_data['android_count'] = $return_data['member_count']-$return_data['ios_count'];
|
||||
$return_data['android_count_percent'] = round(($return_data['android_count'] / $return_data['member_count']) * 100);
|
||||
}
|
||||
|
||||
//礼物打赏实时统计
|
||||
//一个月内的礼物打赏
|
||||
|
||||
@@ -93,18 +93,19 @@ class Level extends adminApi
|
||||
if(!$level_id){
|
||||
return V(0,"添加失败");
|
||||
}
|
||||
//等级特权
|
||||
$decorate = db::name("vs_decorate")->where(['did' => $gift_id, 'delete_time' => 0])->find();
|
||||
if(empty($decorate)){
|
||||
return V(0,"请选择等级特权");
|
||||
}
|
||||
if($gift_id){
|
||||
if(!empty($gift_id)){
|
||||
//等级特权
|
||||
$decorate = db::name("vs_decorate")->where(['did' => $gift_id, 'delete_time' => 0])->find();
|
||||
if(empty($decorate)){
|
||||
return V(0,"请选择等级特权");
|
||||
}
|
||||
db::name('vs_wealth_level_rights')->insert([
|
||||
'level_id' => $level_id,
|
||||
'gift_id' => $gift_id,
|
||||
'createtime' => time()
|
||||
]);
|
||||
}
|
||||
|
||||
return V(1,"成功", ['id'=>$level]);
|
||||
}
|
||||
/*
|
||||
@@ -163,6 +164,8 @@ class Level extends adminApi
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
db::name('vs_wealth_level_rights')->where(['level_id'=>$id])->delete();
|
||||
}
|
||||
$result = db::name($this->table_wealth_level)->where(['id'=>$id])->update($level_data);
|
||||
if(!$result){
|
||||
|
||||
@@ -186,7 +186,7 @@ class Room extends adminApi
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$search_name = input('search_name', '');
|
||||
$where=[];
|
||||
$where['deletetime'] = 0;
|
||||
//标签名称
|
||||
if($search_name!==''){
|
||||
$where['label_name'] = ['like', '%'.$search_name.'%'];
|
||||
@@ -237,7 +237,7 @@ class Room extends adminApi
|
||||
if(!$type_data){
|
||||
return V(0,"房间类型不存在");
|
||||
}
|
||||
$result = db::name($this->table_room_type)->where(['id'=>$type_id])->delete();
|
||||
$result = db::name($this->table_room_type)->where(['id'=>$type_id])->update(['deletetime'=>time()]);
|
||||
if(!$result){
|
||||
return V(0,"删除失败");
|
||||
}
|
||||
@@ -425,6 +425,12 @@ class Room extends adminApi
|
||||
$search_room_id = input('search_room_id', '');
|
||||
$search_user_id = input('search_user_id', '');
|
||||
$search_status = input('search_status', '');
|
||||
$type_id = input('type_id', '');
|
||||
$label_id = input('label_id', '');
|
||||
$is_hot = input('is_hot', '');
|
||||
$is_top = input('is_top', '');
|
||||
$is_recommend = input('is_recommend', '');
|
||||
|
||||
$where=[];
|
||||
//房间号
|
||||
if($search_room_id!==''){
|
||||
@@ -437,6 +443,21 @@ class Room extends adminApi
|
||||
if($search_status!==''){
|
||||
$where['room_status'] = $search_status;
|
||||
}
|
||||
if($type_id!==''){
|
||||
$where['type_id'] = $type_id;
|
||||
}
|
||||
if($label_id!==''){
|
||||
$where['label_id'] = $label_id;
|
||||
}
|
||||
if($is_hot!==''){
|
||||
$where['is_hot'] = $is_hot;
|
||||
}
|
||||
if($is_top!==''){
|
||||
$where['is_top'] = $is_top;
|
||||
}
|
||||
if($is_recommend!==''){
|
||||
$where['is_recommend'] = $is_recommend;
|
||||
}
|
||||
//房间列表只展示 审核通过的房间
|
||||
$where['apply_status'] = 2;//1待审核 2审核通过 3审核失败
|
||||
$where['type_id'] = ['<>',6];
|
||||
@@ -469,6 +490,7 @@ class Room extends adminApi
|
||||
$lists[$key]['room_status_str'] = model('Room')->room_status[$value['room_status']];
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
$lists[$key]['is_robot_num'] = $value['robot_num']==0 ? 1 : 2;
|
||||
$lists[$key]['is_open_blind_box_turntable_str'] = $value['is_open_blind_box_turntable'] == 1 ? '是' : '否';
|
||||
}
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
@@ -655,8 +677,8 @@ class Room extends adminApi
|
||||
}
|
||||
elseif ($type == 3){
|
||||
//周流水
|
||||
//周一
|
||||
$begin_time = strtotime(date('Y-m-d 24:00:00',strtotime('-'.date('w').'days')));
|
||||
//本周一
|
||||
$begin_time = strtotime(date('Y-m-d 00:00:00', strtotime('this week')));
|
||||
$end_time = time();
|
||||
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
|
||||
}
|
||||
@@ -843,7 +865,16 @@ class Room extends adminApi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$is_open_blind_box_turntable = input('is_open_blind_box_turntable', '');//是否开启盲盒转盘:0 否 1是
|
||||
if($is_open_blind_box_turntable !== ""){
|
||||
$data['is_open_blind_box_turntable'] = $is_open_blind_box_turntable;
|
||||
if($is_open_blind_box_turntable == 1){
|
||||
$room_data = db::name('vs_room')->find($room_id);
|
||||
if($room_data['is_open_blind_box_turntable'] == 0){
|
||||
model('Room')->bindPan($room_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
$res = db::name('vs_room')->where('id',$room_id)->update($data);
|
||||
if($res){
|
||||
return V(1,"成功");
|
||||
@@ -916,9 +947,22 @@ class Room extends adminApi
|
||||
if($status){
|
||||
$data['status'] = $status;
|
||||
}
|
||||
$bg_url = db::name('vs_room_background')->where('id',$id)->value('image_url');
|
||||
|
||||
$res = db::name('vs_room_background')->where('id',$id)->update($data);
|
||||
if($res){
|
||||
if($bg_url != $image_url){
|
||||
//查询使用默认背景的房间
|
||||
$room_list = db::name('vs_room')->field('id,room_background')->where(['room_status' => ['<>',3]])->select();
|
||||
if($room_list){
|
||||
foreach ($room_list as $v){
|
||||
//判断是否使用默认背景,room_background 字段值是否是以 get_system_config_value('web_site') 开头
|
||||
if(strpos($v['room_background'],get_system_config_value('web_site')) !== FALSE){
|
||||
db::name('vs_room')->where('id',$v['id'])->update(['room_background' => $image_url]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return V(1,"成功");
|
||||
}
|
||||
else{
|
||||
@@ -969,6 +1013,10 @@ class Room extends adminApi
|
||||
$search_room_number = input('search_room_number', '');
|
||||
$search_onwer_number = input('search_onwer_number', '');
|
||||
$room_status = input('room_status', '');
|
||||
//开始 时间
|
||||
$start_time = input('start_time', '');
|
||||
//结束 时间
|
||||
$end_time = input('end_time', '');
|
||||
|
||||
if($search_room_number!==''){
|
||||
$where['room_number'] = $search_room_number;
|
||||
@@ -979,12 +1027,36 @@ class Room extends adminApi
|
||||
if($room_status!==''){
|
||||
$where['room_status'] = $room_status;
|
||||
}
|
||||
|
||||
// 检查并转换时间格式为时间戳
|
||||
if($start_time !== '' && $end_time !== ''){
|
||||
// 同时有开始和结束时间
|
||||
$startTime = strtotime($start_time);
|
||||
$endTime = strtotime($end_time);
|
||||
if($startTime !== false && $endTime !== false){
|
||||
$where['createtime'] = ['between', [$startTime, $endTime]];
|
||||
}
|
||||
}elseif($start_time !== ''){
|
||||
// 只有开始时间
|
||||
$startTime = strtotime($start_time);
|
||||
if($startTime !== false){
|
||||
$where['createtime'] = ['>=', $startTime];
|
||||
}
|
||||
}elseif($end_time !== ''){
|
||||
// 只有结束时间
|
||||
$endTime = strtotime($end_time);
|
||||
if($endTime !== false){
|
||||
$where['createtime'] = ['<=', $endTime];
|
||||
}
|
||||
}
|
||||
|
||||
$where['type_id'] = 6;
|
||||
$count = db::name('vs_room')->where($where)->count();
|
||||
$lists = db::name('vs_room')->field('id,room_name,room_cover,room_number,user_id,room_status,createtime')
|
||||
->where($where)
|
||||
->order('id desc')
|
||||
->page($page, $page_limit)->select();
|
||||
|
||||
foreach ($lists as &$value) {
|
||||
$guild = model('Guild')->getGuildByUserId($value['user_id']);
|
||||
$value['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
@@ -995,7 +1067,27 @@ class Room extends adminApi
|
||||
$value['room_code'] = model('api/Decorate')->user_decorate_detail($value['id'], 7);
|
||||
//房间状态1正常2封禁3关闭
|
||||
$value['room_status_str'] = $value['room_status'] ==1 ? "正常" : ($value['room_status'] ==2 ? "封禁" : "关闭");
|
||||
|
||||
$cpRoom = db::name('vs_room_cp_movie')->where('room_id',$value['id'])->find();
|
||||
if($cpRoom){
|
||||
if($cpRoom['user_id'] == $value['user_id']){
|
||||
$value['cp_nickname'] = db::name('user')->where('id', $cpRoom['user_id1'])->value('nickname');
|
||||
$value['cp_user_id'] = db::name('user')->where('id', $cpRoom['user_id1'])->value('user_code');
|
||||
}
|
||||
if($cpRoom['user_id1'] == $value['user_id']){
|
||||
$value['cp_nickname'] = db::name('user')->where('id', $cpRoom['user_id'])->value('nickname');
|
||||
$value['cp_user_id'] = db::name('user')->where('id', $cpRoom['user_id'])->value('user_code');
|
||||
}
|
||||
}
|
||||
|
||||
// 流水计算也应使用相同的时间范围
|
||||
$liushuiWhere = ['from_id' => $value['id']];
|
||||
if(isset($where['createtime'])){
|
||||
$liushuiWhere['createtime'] = $where['createtime'];
|
||||
}
|
||||
$value['liushui'] = db::name('vs_give_gift')->where($liushuiWhere)->sum('total_price') * get_system_config_value('coin_charm_exp');
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
@@ -1005,6 +1097,7 @@ class Room extends adminApi
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
|
||||
//Cp电影房封禁
|
||||
public function cp_movie_room_forbid()
|
||||
{
|
||||
@@ -1218,7 +1311,7 @@ class Room extends adminApi
|
||||
if($apply_status!==''){
|
||||
$where['apply_status'] = $apply_status;
|
||||
}else{
|
||||
$where['apply_status'] = ['<>',2];
|
||||
$where['apply_status'] = 1;
|
||||
}
|
||||
|
||||
$count = db::name($this->table)->where($where)->count();
|
||||
@@ -1245,6 +1338,7 @@ class Room extends adminApi
|
||||
//房间审核
|
||||
public function room_audit(){
|
||||
$id = input('id', '');
|
||||
$remark = input('remark', '');
|
||||
if($id == ''){
|
||||
return V(0,"参数错误");
|
||||
}
|
||||
@@ -1252,10 +1346,40 @@ class Room extends adminApi
|
||||
if($apply_status == ''){
|
||||
return V(0,"参数错误");
|
||||
}
|
||||
$result = db::name('vs_room')->where(['id'=>$id])->update(['apply_status'=>$apply_status]);
|
||||
$room_data = db::name('vs_room')->where(['id'=>$id])->find();
|
||||
if(!$room_data){
|
||||
return V(0,"参数错误");
|
||||
}
|
||||
$result = db::name('vs_room')->where(['id'=>$id])->update([
|
||||
'apply_status'=>$apply_status,
|
||||
'is_open_blind_box_turntable'=>1,
|
||||
'updatetime'=>time(),
|
||||
]);
|
||||
if(!$result){
|
||||
return V(0,"修改失败");
|
||||
}
|
||||
|
||||
//发系统信息
|
||||
if($apply_status ==2){
|
||||
$deal_content = '审核通过';
|
||||
}elseif($apply_status ==3){
|
||||
$deal_content = '审核未通过';
|
||||
}
|
||||
if(!empty($remark)){
|
||||
$deal_content .= ',原因:'.$remark;
|
||||
}
|
||||
db::name('system_message')->insert([
|
||||
'title' => '房间审核结果',
|
||||
'content' => '您创建的房间'.$room_data['room_name'].$deal_content,
|
||||
'type' => 1,
|
||||
'admin_id' => Session::get('admin_id'),
|
||||
'receiving_id' => $room_data['user_id'],
|
||||
'createtime' => time(),
|
||||
]);
|
||||
|
||||
//房间绑定盘
|
||||
model('Room')->bindPan($id);
|
||||
|
||||
return V(1,"成功");
|
||||
}
|
||||
|
||||
@@ -1411,10 +1535,10 @@ class Room extends adminApi
|
||||
$where['createtime'] = ['>=',strtotime($stime)];
|
||||
}
|
||||
if(!empty($etime)){
|
||||
$where['createtime'] = ['<=',strtotime($etime.' 23:59:59')];
|
||||
$where['createtime'] = ['<=',strtotime($etime)];
|
||||
}
|
||||
if(!empty($stime) && !empty($etime)){
|
||||
$where['createtime'] = ['between',[strtotime($stime),strtotime($etime.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($stime),strtotime($etime)]];
|
||||
}
|
||||
$room_log_lists = db::name($this->table_room_log)->where($where)->order('id desc')->page($page, $page_limit)->select();
|
||||
$count = db::name($this->table_room_log)->where($where)->count();
|
||||
@@ -1582,4 +1706,183 @@ class Room extends adminApi
|
||||
return V(1,"成功", $result);
|
||||
}
|
||||
|
||||
// 房间红包列表
|
||||
public function room_redpacket_list(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('page_limit', 30);
|
||||
$room_id = input('room_id', '');
|
||||
//红包状态
|
||||
$status = input('status', '');
|
||||
//发红包的时间
|
||||
$stime = input('stime', '');
|
||||
$etime = input('etime', '');
|
||||
$where = [];
|
||||
if($room_id){
|
||||
$where['room_id'] = $room_id;
|
||||
}
|
||||
if($status){
|
||||
$where['status'] = $status;
|
||||
}
|
||||
if($stime){
|
||||
$where['createtime'] = ['>=',strtotime($stime)];
|
||||
}
|
||||
if($etime){
|
||||
$where['createtime'] = ['<=',strtotime($etime)];
|
||||
}
|
||||
$count = db::name("redpacket")->where($where)->count();
|
||||
$room_redpacket_lists = db::name("redpacket")->where($where)->page($page, $page_limit)->order('id desc')->select();
|
||||
//循环数据 获取发红的昵称和头像 时间格式化 状态:0=未开始,1=进行中,2=已结束,3=已退回' 币种(coin_type):1=金币,2=钻石',红包类型(type):1=普通红包,2=口令红包'
|
||||
//多选条件(逗号分隔存值)(conditions) 0=无,1=收藏,2=在麦上
|
||||
if($room_redpacket_lists){
|
||||
foreach ($room_redpacket_lists as $key => $value){
|
||||
$room_redpacket_lists[$key]['nickname'] = db::name('user')->where(['id'=>$value['user_id']])->value('nickname');
|
||||
$room_redpacket_lists[$key]['avatar'] = db::name('user')->where(['id'=>$value['user_id']])->value('avatar');
|
||||
$room_redpacket_lists[$key]['user_code'] = db::name('user')->where(['id'=>$value['user_id']])->value('user_code');
|
||||
$room_redpacket_lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
$room_redpacket_lists[$key]['status_text'] = $value['status'] == 0 ? '未开始' : ($value['status'] == 1 ? '进行中' : ($value['status'] == 2 ? '已结束' : '已退回'));
|
||||
$room_redpacket_lists[$key]['coin_type_text'] = $value['coin_type'] == 1 ? '金币' : ($value['coin_type'] == 2 ? '钻石' : '未知');
|
||||
$room_redpacket_lists[$key]['type_text'] = $value['type'] == 1 ? '普通红包' : ($value['type'] == 2 ? '口令红包' : '未知');
|
||||
|
||||
// 多选条件处理:0=无(不能和其他条件共存),1=收藏,2=在麦上
|
||||
// 可以同时存在,也可以单独存在,同时存在时用逗号分隔
|
||||
$conditions = explode(',',$value['conditions']);
|
||||
// 过滤掉空值元素
|
||||
$conditions = array_filter($conditions, function($item) {
|
||||
return $item !== '' && $item !== null;
|
||||
});
|
||||
// 去除重复的条件
|
||||
$conditions = array_unique($conditions);
|
||||
// 重新索引数组,确保索引连续
|
||||
$conditions = array_values($conditions);
|
||||
|
||||
// 特殊处理:如果包含条件0(无条件),则只保留这一项
|
||||
if (in_array('0', $conditions)) {
|
||||
$room_redpacket_lists[$key]['conditions'] = ['无条件'];
|
||||
} else {
|
||||
// 将数字条件转换为对应的中文描述
|
||||
$conditions_text = array_map(function($item){
|
||||
// 0=无条件,1=收藏,2=在麦上
|
||||
switch($item) {
|
||||
case '0':
|
||||
return '无条件';
|
||||
case '1':
|
||||
return '收藏';
|
||||
case '2':
|
||||
return '在麦上';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
}, $conditions);
|
||||
$room_redpacket_lists[$key]['conditions'] = $conditions_text;
|
||||
}
|
||||
//房间名称
|
||||
$room_redpacket_lists[$key]['room_name'] = db::name('vs_room')->where(['id'=>$value['room_id']])->value('room_name');
|
||||
}
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'page' =>$page,
|
||||
'page_limit' => $page_limit,
|
||||
'count' => $count,
|
||||
'lists' => $room_redpacket_lists
|
||||
];
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
// 获取房间红包详情
|
||||
public function room_redpacket_detail(){
|
||||
// 红包ID
|
||||
$redpacket_id = input('redpacket_id', '');
|
||||
if(empty($redpacket_id)){
|
||||
return V(0, "红包ID不能为空");
|
||||
}
|
||||
|
||||
// 获取红包基本信息
|
||||
$redpacket_info = db::name("redpacket")->where(['id'=>$redpacket_id])->find();
|
||||
if(!$redpacket_info){
|
||||
return V(0, "红包不存在");
|
||||
}
|
||||
|
||||
// 获取发红包用户信息
|
||||
$redpacket_info['nickname'] = db::name('user')->where(['id'=>$redpacket_info['user_id']])->value('nickname');
|
||||
$redpacket_info['avatar'] = db::name('user')->where(['id'=>$redpacket_info['user_id']])->value('avatar');
|
||||
$redpacket_info['user_code'] = db::name('user')->where(['id'=>$redpacket_info['user_id']])->value('user_code');
|
||||
$redpacket_info['createtime_text'] = date('Y-m-d H:i:s', $redpacket_info['createtime']);
|
||||
$redpacket_info['start_time_text'] = date('Y-m-d H:i:s', $redpacket_info['start_time']);
|
||||
$redpacket_info['end_time_text'] = date('Y-m-d H:i:s', $redpacket_info['end_time']);
|
||||
//房间名称
|
||||
$redpacket_info['room_name'] = db::name('vs_room')->where(['id'=>$redpacket_info['room_id']])->value('room_name');
|
||||
|
||||
// 红包状态文字描述
|
||||
$status_map = [
|
||||
0 => '未开始',
|
||||
1 => '进行中',
|
||||
2 => '已结束',
|
||||
3 => '已退回'
|
||||
];
|
||||
$redpacket_info['status_text'] = $status_map[$redpacket_info['status']] ?? '未知';
|
||||
|
||||
// 币种文字描述
|
||||
$coin_type_map = [
|
||||
1 => '金币',
|
||||
2 => '钻石'
|
||||
];
|
||||
$redpacket_info['coin_type_text'] = $coin_type_map[$redpacket_info['coin_type']] ?? '未知';
|
||||
|
||||
// 红包类型文字描述
|
||||
$type_map = [
|
||||
1 => '普通红包',
|
||||
2 => '口令红包'
|
||||
];
|
||||
$redpacket_info['type_text'] = $type_map[$redpacket_info['type']] ?? '未知';
|
||||
|
||||
// 领取条件处理
|
||||
$conditions = explode(',',$redpacket_info['conditions']);
|
||||
$conditions = array_filter($conditions, function($item) {
|
||||
return $item !== '' && $item !== null;
|
||||
});
|
||||
$conditions = array_unique($conditions);
|
||||
$conditions = array_values($conditions);
|
||||
|
||||
// 特殊处理:如果包含条件0(无条件),则只保留这一项
|
||||
if (in_array('0', $conditions)) {
|
||||
$redpacket_info['conditions_text'] = ['无条件'];
|
||||
} else {
|
||||
// 将数字条件转换为对应的中文描述
|
||||
$conditions_text = array_map(function($item){
|
||||
switch($item) {
|
||||
case '0':
|
||||
return '无条件';
|
||||
case '1':
|
||||
return '收藏';
|
||||
case '2':
|
||||
return '在麦上';
|
||||
default:
|
||||
return '未知';
|
||||
}
|
||||
}, $conditions);
|
||||
$redpacket_info['conditions_text'] = $conditions_text;
|
||||
}
|
||||
|
||||
// 领取详情 redpacket_record 表里面的数据
|
||||
// 外键redpacket_id redpacket表的ID,user_id 外键user表的ID amount 抢到的金额 createtime抢红包的时间
|
||||
// 红包领取详情 谁在什么时候 抢红包 抢了多少钱
|
||||
$redpacket_record_lists = db::name("redpacket_record")->where(['redpacket_id'=>$redpacket_id])->order('createtime asc')->select();
|
||||
if($redpacket_record_lists){
|
||||
foreach ($redpacket_record_lists as $key => $value){
|
||||
$redpacket_record_lists[$key]['nickname'] = db::name('user')->where(['id'=>$value['user_id']])->value('nickname');
|
||||
$redpacket_record_lists[$key]['avatar'] = db::name('user')->where(['id'=>$value['user_id']])->value('avatar');
|
||||
$redpacket_record_lists[$key]['user_code'] = db::name('user')->where(['id'=>$value['user_id']])->value('user_code');
|
||||
$redpacket_record_lists[$key]['createtime_text'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
}
|
||||
}
|
||||
|
||||
$return_data = [
|
||||
'redpacket_info' => $redpacket_info,
|
||||
'record_lists' => $redpacket_record_lists
|
||||
];
|
||||
|
||||
return V(1, "成功", $return_data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,10 +37,10 @@ class Statistical extends adminApi
|
||||
$where['createtime'] = ['>=', strtotime($begin_time)];
|
||||
}
|
||||
if($end_time !== ''){
|
||||
$where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
$where['createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
if(!empty($begin_time) && !empty($end_time)){
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
||||
}
|
||||
|
||||
$where['pay_status'] = 2;//1待支付,2已支付
|
||||
@@ -112,10 +112,10 @@ class Statistical extends adminApi
|
||||
$where['createtime'] = ['>=', strtotime($begin_time)];
|
||||
}
|
||||
if($end_time !== ''){
|
||||
$where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
$where['createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
if(!empty($begin_time) && !empty($end_time)){
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
||||
}
|
||||
$count = db::name('vs_give_gift')
|
||||
->where($where)
|
||||
@@ -177,10 +177,10 @@ class Statistical extends adminApi
|
||||
$where['createtime'] = ['>=', strtotime($begin_time)];
|
||||
}
|
||||
if($end_time !== ''){
|
||||
$where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
$where['createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
if(!empty($begin_time) && !empty($end_time)){
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
||||
}
|
||||
// 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮
|
||||
// 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换
|
||||
@@ -239,10 +239,10 @@ class Statistical extends adminApi
|
||||
$where['createtime'] = ['>=', strtotime($begin_time)];
|
||||
}
|
||||
if($end_time !== ''){
|
||||
$where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
$where['createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
if(!empty($begin_time) && !empty($end_time)){
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
||||
}
|
||||
//不为空
|
||||
$where['from'] = 2;
|
||||
@@ -259,9 +259,14 @@ class Statistical extends adminApi
|
||||
->select();
|
||||
foreach ($lists as $key => $value) {
|
||||
$room = db::name('vs_room')->where('id', $value['from_id'])->find();
|
||||
if($room){
|
||||
$lists[$key]['room_name'] = $room['room_name'].'-'.$room['room_number'];
|
||||
$lists[$key]['room_number'] = $room['room_number'];
|
||||
}else{
|
||||
$lists[$key]['room_name'] = "--";
|
||||
$lists[$key]['room_number'] = "--";
|
||||
}
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
$lists[$key]['room_name'] = $room['room_name'].'-'.$room['room_number'];
|
||||
$lists[$key]['room_number'] = $room['room_number'];
|
||||
$lists[$key]['room_cover'] = db::name('vs_room')->where('id', $value['from_id'])->value('room_cover');
|
||||
$label = db::name('vs_room')->where('id', $value['from_id'])->value('label_id');
|
||||
$lists[$key]['label'] = db::name('vs_room_label')->where('id', $label)->value('label_name');
|
||||
@@ -302,10 +307,10 @@ class Statistical extends adminApi
|
||||
$where['createtime'] = ['>=', strtotime($pay_stime)];
|
||||
}
|
||||
if($pay_etime !== ''){
|
||||
$where['createtime'] = ['<=', strtotime($pay_etime.' 23:59:59')];
|
||||
$where['createtime'] = ['<=', strtotime($pay_etime)];
|
||||
}
|
||||
if(!empty($pay_stime) && !empty($pay_etime)){
|
||||
$where['createtime'] = ['between',[strtotime($pay_stime),strtotime($pay_etime.' 23:59:59')]];
|
||||
$where['createtime'] = ['between',[strtotime($pay_stime),strtotime($pay_etime)]];
|
||||
}
|
||||
if($pay_status !== ''){
|
||||
$where['pay_status'] = $pay_status;
|
||||
@@ -325,7 +330,7 @@ class Statistical extends adminApi
|
||||
}
|
||||
|
||||
$count = db::name('vs_user_recharge')->where($where)->count();
|
||||
$lists = db::name('vs_user_recharge')->where($where)->page($page, $page_limit)->select();
|
||||
$lists = db::name('vs_user_recharge')->where($where)->order('rid desc')->page($page, $page_limit)->select();
|
||||
foreach ($lists as $key => $value) {
|
||||
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||||
$lists[$key]['user_name'] = db::name('user')->where('id', $value['user_id'])->value('nickname').'-'.
|
||||
@@ -346,19 +351,21 @@ class Statistical extends adminApi
|
||||
];
|
||||
//总收入
|
||||
$wherew=[];
|
||||
$return_data['total_money'] = db::name('vs_user_recharge')->sum('money');
|
||||
unset($where['pay_status']);
|
||||
unset($where['pay_type']);
|
||||
$return_data['total_money'] = db::name('vs_user_recharge')->where($where)->sum('money');
|
||||
//未支付
|
||||
$return_data['unpaid_money'] = db::name('vs_user_recharge')->where('pay_status',1)->sum('money');
|
||||
$return_data['unpaid_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',1)->sum('money');
|
||||
//已支付
|
||||
$return_data['paid_money'] = db::name('vs_user_recharge')->where('pay_status',2)->sum('money');
|
||||
$return_data['paid_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->sum('money');
|
||||
//微信支付
|
||||
$wherew['pay_type'] = ['in', [1,4]];
|
||||
$return_data['wx_money'] = db::name('vs_user_recharge')->where('pay_status',2)->where($wherew)->sum('money');
|
||||
$return_data['wx_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->where($wherew)->sum('money');
|
||||
//支付宝支付
|
||||
$wherez['pay_type'] = ['in', [2,3]];
|
||||
$return_data['ali_money'] = db::name('vs_user_recharge')->where('pay_status',2)->where($wherez)->sum('money');
|
||||
$return_data['ali_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->where($wherez)->sum('money');
|
||||
//金币数量
|
||||
$return_data['gold_num'] = db::name('vs_user_recharge')->where('pay_status',2)->sum('coin');
|
||||
$return_data['gold_num'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->sum('coin');
|
||||
return V(1,"成功", $return_data);
|
||||
}
|
||||
|
||||
@@ -383,15 +390,16 @@ class Statistical extends adminApi
|
||||
$where['a.createtime'] = ['>=', strtotime($start_time)];
|
||||
}
|
||||
if($end_time !== ''){
|
||||
$where['a.createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
$where['a.createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
if($start_time !== '' && $end_time !== ''){
|
||||
$where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time.' 23:59:59')]];
|
||||
$where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
|
||||
}
|
||||
|
||||
$count = db::name('user_exchange')->where($where)->alias('a')->join('user b', 'a.user_id = b.id')->count();
|
||||
$lists = db::name('user_exchange')->where($where)->alias('a')->join('user b', 'a.user_id = b.id')
|
||||
->field('a.*,b.nickname,b.user_code')
|
||||
->order('a.id desc')
|
||||
->page($page, $page_limit)->select();
|
||||
foreach ($lists as $key => $value) {
|
||||
$lists[$key]['user_name'] = $value['nickname'].'-'.$value['user_code'];
|
||||
@@ -428,10 +436,10 @@ class Statistical extends adminApi
|
||||
$where['a.createtime'] = ['>=', strtotime($start_time)];
|
||||
}
|
||||
if($end_time !== ''){
|
||||
$where['a.createtime'] = ['<=', strtotime($end_time.' 23:59:59')];
|
||||
$where['a.createtime'] = ['<=', strtotime($end_time)];
|
||||
}
|
||||
if($start_time !== '' && $end_time !== ''){
|
||||
$where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time.' 23:59:59')]];
|
||||
$where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
|
||||
}
|
||||
$count = db::name('vs_admin_recharge_log')
|
||||
->alias('a')->join('user b', 'a.user_id = b.id')
|
||||
|
||||
@@ -33,6 +33,7 @@ class SysSet extends adminApi
|
||||
'8' => '房间配置',
|
||||
'9' => '弹窗内容设置',
|
||||
'10' => '邀请奖励',
|
||||
'11' => '二级密码',
|
||||
];
|
||||
|
||||
public function _initialize()
|
||||
|
||||
@@ -159,7 +159,7 @@ class Underage extends adminApi
|
||||
*/
|
||||
public function content_List(){
|
||||
$page = input('page', 1);
|
||||
$page_limit = input('pageSize', 30);
|
||||
$page_limit = input('page_limit', 10);
|
||||
$search_name = input('search_name', '');
|
||||
$where = [];
|
||||
if($search_name){
|
||||
@@ -167,6 +167,7 @@ class Underage extends adminApi
|
||||
}
|
||||
$list = DB::name('vs_underage_mode_content')->where($where)->order('sort,id', 'asc')->page($page, $page_limit)->select();
|
||||
$count = DB::name('vs_underage_mode_content')->where($where)->count();
|
||||
$return_lists = [];
|
||||
foreach ($list as $key => $value) {
|
||||
$return_lists[$key]['id'] = $value['id'];
|
||||
$return_lists[$key]['type_id'] = $value['type_id'];
|
||||
@@ -266,7 +267,7 @@ class Underage extends adminApi
|
||||
$type_id = input('type_id', '');
|
||||
$title = input('title', '');
|
||||
$introduced = input('introduced', '');
|
||||
$content = input('content', '');
|
||||
$content = $_POST['content']??"";
|
||||
$url = input('url', '');
|
||||
$img = input('img', '');
|
||||
$from = input('from', 1);
|
||||
@@ -303,9 +304,6 @@ class Underage extends adminApi
|
||||
$data['content'] = $content;
|
||||
}
|
||||
$result = db::name('vs_underage_mode_content')->where(['id'=>$id])->update($data);
|
||||
if(!$result){
|
||||
return V(0,"修改失败");
|
||||
}
|
||||
return V(1,"成功", ['id'=>$id]);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ namespace app\adminapi\controller;
|
||||
|
||||
use app\admin\model\AdminLog;
|
||||
use app\common\controller\Upload;
|
||||
use Overtrue\Pinyin\Pinyin;
|
||||
use think\Request;
|
||||
|
||||
/**
|
||||
@@ -32,7 +33,25 @@ class UploadFile extends Upload
|
||||
try {
|
||||
// 获取临时路径和原始文件名
|
||||
$filePath = $file->getRealPath();
|
||||
$objectName = $file->getInfo('name');
|
||||
$originalName = $file->getInfo('name');
|
||||
|
||||
// 提取文件扩展名
|
||||
$extension = pathinfo($originalName, PATHINFO_EXTENSION);
|
||||
|
||||
// 处理文件名(中文转拼音) 移除扩展名(如果有的话)
|
||||
$fileName = pathinfo($originalName, PATHINFO_FILENAME);
|
||||
if (preg_match('/[\x{4e00}-\x{9fa5}]+/u', $fileName)) {
|
||||
$pinyin = new Pinyin();
|
||||
$fileName = $pinyin->permalink($fileName, ''); // 转换为无分隔符的拼音
|
||||
}
|
||||
|
||||
// 去除文件名中的空格
|
||||
$fileName = str_replace(' ', '', $fileName);
|
||||
|
||||
// 添加唯一标识符(时间戳+随机数)
|
||||
$uniqueId = time() . mt_rand(1000, 9999);
|
||||
$objectName = $fileName . '_' . $uniqueId . '.' . $extension;
|
||||
|
||||
// 调用父类方法上传到 OSS
|
||||
$result = $this->uploadFile($objectName, $filePath);
|
||||
if (!$result) {
|
||||
|
||||
@@ -74,8 +74,8 @@ class User extends adminApi
|
||||
}elseif($v=='coin2'){
|
||||
$where['c.coin'] = ['<=',$input_data];
|
||||
}elseif($v=='createtime'){
|
||||
$where['a.createtime'] = ['>=',strtotime($input_data.' 00:00:00')];
|
||||
$where['a.createtime'] = ['<=',strtotime($input_data.' 23:59:59')];
|
||||
$where['a.createtime'] = ['>=',strtotime($input_data)];
|
||||
$where['a.createtime'] = ['<=',strtotime($input_data)];
|
||||
}else{
|
||||
$where['a.'.$v] = $input_data;
|
||||
}
|
||||
@@ -231,7 +231,8 @@ class User extends adminApi
|
||||
'type' => $type,
|
||||
'type_text' => $type_text,
|
||||
];
|
||||
$res = Db::name('block')->where($map)->delete();
|
||||
Db::name('block')->where($map)->delete();
|
||||
Db::name('sms_error')->where(['mobile' => $user_info['mobile']])->delete();
|
||||
}
|
||||
return V(1,"成功", null);
|
||||
}
|
||||
@@ -735,7 +736,12 @@ class User extends adminApi
|
||||
* 用户列表
|
||||
*/
|
||||
public function get_user_list(){
|
||||
$user = db::name('user')->field('id,nickname,avatar')->where(['status'=>1,'is_robot'=>0,'delete_time'=>0])->select();
|
||||
$user_code = input('user_code', 0);
|
||||
$where = [];
|
||||
if($user_code){
|
||||
$where['user_code'] = $user_code;
|
||||
}
|
||||
$user = db::name('user')->field('id,nickname,avatar')->where($where)->where(['status'=>1,'is_robot'=>0,'delete_time'=>0])->select();
|
||||
return V(1,"操作成功", $user);
|
||||
}
|
||||
}
|
||||
@@ -69,7 +69,7 @@ class Version extends adminApi
|
||||
$version = input('version', '');
|
||||
$type = input('type', '');
|
||||
$downloadurl = input('downloadurl', '');
|
||||
$content = input('content', '');
|
||||
$content = $_POST['content'] ?? '';
|
||||
$enforce = input('enforce', '');
|
||||
$version_code = input('version_code', '');
|
||||
$status = input('status', 1);
|
||||
@@ -101,7 +101,7 @@ class Version extends adminApi
|
||||
$version = input('version', '');
|
||||
$type = input('type', '');
|
||||
$downloadurl = input('downloadurl', '');
|
||||
$content = input('content', '');
|
||||
$content = $_POST['content'] ?? '';
|
||||
$enforce = input('enforce', '');
|
||||
$version_code = input('version_code', '');
|
||||
$status = input('status', 1);
|
||||
|
||||
@@ -60,10 +60,10 @@ class Withdrawal extends adminApi
|
||||
$where['a.createtime'] = ['>=', strtotime($search_stime)];
|
||||
}
|
||||
if($search_etime !== ''){
|
||||
$where['a.createtime'] = ['<=', strtotime($search_etime.' 23:59:59')];
|
||||
$where['a.createtime'] = ['<=', strtotime($search_etime)];
|
||||
}
|
||||
if(!empty($search_stime) && !empty($search_etime)){
|
||||
$where['a.createtime'] = ['between',[strtotime($search_stime),strtotime($search_etime.' 23:59:59')]];
|
||||
$where['a.createtime'] = ['between',[strtotime($search_stime),strtotime($search_etime)]];
|
||||
}
|
||||
$count = db::name('vs_user_withdrawal')->alias('a')
|
||||
->join('user b', 'a.user_id = b.id', 'left')
|
||||
@@ -75,6 +75,7 @@ class Withdrawal extends adminApi
|
||||
->field('a.*,b.nickname,b.user_code')
|
||||
->order('a.createtime desc')
|
||||
->where($where)
|
||||
->page($page, $page_limit)
|
||||
->select();
|
||||
$data_lists = [];
|
||||
foreach ($lists as $key => $value) {
|
||||
@@ -255,19 +256,23 @@ class Withdrawal extends adminApi
|
||||
//查询该用户云账户提现金额
|
||||
$had_money = db::name('vs_user_withdrawal')->where(['user_id'=>$withdraw_info['user_id'],'deal_type'=>2,'status'=>6])->where('pay_time','month')->sum('general_money');
|
||||
$max_month_money = 98000;
|
||||
if(($had_money+$withdraw_info['general_money']) >= 98000){
|
||||
if(($had_money+$withdraw_info['general_money']) >= $max_month_money){
|
||||
return ['code' => 0, 'msg' => '单人单月云账户提现金额最大为98000元!', 'data' => null];
|
||||
}
|
||||
//查询该用户信息
|
||||
$user_info = model('api/user')->get_user_info($withdraw_info['user_id']);
|
||||
$user_info = model('api/user')->get_user_info($withdraw_info['user_id'], ['user','user_auth']);
|
||||
if(empty($user_info)){
|
||||
return ['code' => 0, 'msg' => '用户信息错误!', 'data' => null];
|
||||
}
|
||||
|
||||
$real_name = $user_info['real_name'];
|
||||
$id_card = $user_info['card_id'];
|
||||
$order_id = $withdraw_info['order_sn'];
|
||||
$order_amount = $withdraw_info['general_money'];
|
||||
$phone = $user_info['mobile'];
|
||||
if(empty($phone)) {
|
||||
return ['code' => 0, 'msg' => '请先绑定手机号', 'data' => null];
|
||||
}
|
||||
if (empty($real_name) || empty($id_card)) {
|
||||
return ['code' => 0, 'msg' => '请先实名认证', 'data' => null];
|
||||
}
|
||||
@@ -281,7 +286,11 @@ class Withdrawal extends adminApi
|
||||
}
|
||||
$card_no = $user_info['alipay_account'];
|
||||
$yun_pay = new YunPay($order_id, $real_name, $id_card, $card_no, $order_amount,$phone);
|
||||
$result = $yun_pay->alipay();
|
||||
$user_data = [
|
||||
'nickname' => $user_info['nickname'],
|
||||
'user_id' => $withdraw_info['user_id'],
|
||||
];
|
||||
$result = $yun_pay->alipay($user_data);
|
||||
} elseif ($withdraw_info['type'] == 3) {
|
||||
if(empty($user_info['bank_card_number'])){
|
||||
return ['code' => 0, 'msg' => '请先绑定银行卡号', 'data' => null];
|
||||
|
||||
Reference in New Issue
Block a user