diff --git a/application/adminapi/controller/Guild.php b/application/adminapi/controller/Guild.php index fb171afd..aa71ffdd 100644 --- a/application/adminapi/controller/Guild.php +++ b/application/adminapi/controller/Guild.php @@ -214,6 +214,7 @@ class Guild extends adminApi $insert_data['room_id'] = $rid; $insert_data['status'] = 1; $insert_data['is_deacon'] = 1; + $insert_data['apply_time'] = time(); $insert_data['createtime'] = time(); $insert_data['is_show_room'] = 1; //结算比例 @@ -510,17 +511,15 @@ class Guild extends adminApi foreach ($list as $k=>$v){ $search_stime = $search_stime_str; $search_etime = $search_etime_str; -// $search_stime = date('Y-m-d H:i:s','1761554521'); -// $search_etime = date('Y-m-d H:i:s','1766564906'); if($search_stime!=""){ - if($v['apply_time'] && $search_stime < $v['apply_time']) { + if($v['apply_time'] && strtotime($search_stime) < $v['apply_time']) { $search_stime = date('Y-m-d H:i:s',$v['apply_time']); } }else{ $search_stime = date('Y-m-d H:i:s',$v['apply_time']); } if($search_etime!=""){ - if($v['quit_time'] && ($search_etime > $v['quit_time'])){ + if($v['quit_time'] && (strtotime($search_etime) > $v['quit_time'])){ $search_etime = date('Y-m-d H:i:s',$v['quit_time']); } }else{ diff --git a/application/adminapi/controller/SingerSong.php b/application/adminapi/controller/SingerSong.php index 2d0db5d5..244f40d6 100644 --- a/application/adminapi/controller/SingerSong.php +++ b/application/adminapi/controller/SingerSong.php @@ -19,13 +19,17 @@ class SingerSong extends adminApi $search = input('search', ''); $status = input('status', ''); $where=[]; + $wheres = []; //搜索信息有值且是纯数字 if(is_numeric($search)){ - $where['ss.user_id'] = $search; - $wheres['user_id'] = $search; + $where['u.user_code'] = $search; + $user_id = db::name('user')->where('user_code', $search)->value('id'); + $wheres['user_id'] = $user_id; } if($search && !is_numeric($search)){ - $where['u.nickname'] = ['like', '%'.$search.'%'];; + $where['u.nickname'] = ['like', '%'.$search.'%']; + $user_id = db::name('user')->where('nickname', $search)->value('id'); + $wheres['user_id'] = $user_id; } if($start_time && $end_time){ $where['ss.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]]; @@ -34,9 +38,6 @@ class SingerSong extends adminApi if($status){ $where['ss.status'] = $status; $wheres['status'] = $status; - }else{ - $where = []; - $wheres = []; } $count = db::name('vs_singer')->where($wheres)->count(); diff --git a/application/adminapi/model/Room.php b/application/adminapi/model/Room.php index 366f070b..21ec9011 100644 --- a/application/adminapi/model/Room.php +++ b/application/adminapi/model/Room.php @@ -73,15 +73,17 @@ class Room extends Model public function getRoomFlow($room_id,$stime='',$etime=''){ $give_where = []; $give_where['from_id'] = $room_id; - $give_where['from'] = ["in",[2,3,6]]; +// $give_where['from'] = ["in",[2,3,6]]; + $give_where['from'] = 2; if(!empty($stime)){ $give_where['createtime'] = ['>=',strtotime($stime)]; } if(!empty($etime)){ - $give_where['createtime'] = ['<=',strtotime($etime)]; + $give_where['createtime'] = ['<',strtotime($etime)]; } if(!empty($stime) && !empty($etime)){ - $give_where['createtime'] = ['between',[strtotime($stime),strtotime($etime)]]; +// $give_where['createtime'] = ['between',[strtotime($stime),strtotime($etime)]]; + $give_where['createtime'] = [['>=',strtotime($stime)],['<',strtotime($etime)]]; } $total_price = db::name('vs_give_gift')->where($give_where) ->sum('total_price'); diff --git a/application/api/model/GiveGift.php b/application/api/model/GiveGift.php index 1233b054..64b598e4 100644 --- a/application/api/model/GiveGift.php +++ b/application/api/model/GiveGift.php @@ -1005,7 +1005,7 @@ class GiveGift extends Model return false; } //记录公会流水 - if($from_type==2){ + if($from_type==2 && $from_id > 0){ model('api/Guild')->guild_flow($from_id,$gift_price,$res); } //查询是否第一次送礼 diff --git a/application/api/model/Guild.php b/application/api/model/Guild.php index 227c5022..c91a2a27 100644 --- a/application/api/model/Guild.php +++ b/application/api/model/Guild.php @@ -1265,12 +1265,15 @@ class Guild extends Model //公会流水记录 public function guild_flow($room_id,$flow_price,$give_gift_id=0){ + if($room_id<=0 || $flow_price<=0){ + return ['code' => 0, 'msg' => '参数错误', 'data' => null]; + } $guild_user_info = Db::name('vs_guild_user')->where(['room_id' => $room_id, 'delete_time' => 0, 'status' => 1, 'quit_time' => 0])->find(); if ($guild_user_info) { //记录流水 $data = [ 'guild_id' => $guild_user_info['guild_id'], - 'room_id' => $room_id, + 'room_id' => $guild_user_info['room_id'], 'give_gift_id' => $give_gift_id, 'flow_price' => $flow_price, 'day' => date('Y-m-d'), diff --git a/application/cron/controller/Test.php b/application/cron/controller/Test.php index 1e5ee531..693e177e 100644 --- a/application/cron/controller/Test.php +++ b/application/cron/controller/Test.php @@ -25,7 +25,7 @@ class Test // $this->xlh_gift_send(); // echo "\n"; // -// $this->clean_guild_flow(); + $this->clean_guild_flow(); } @@ -507,15 +507,66 @@ class Test //清洗公会流水 public function clean_guild_flow() - {die; + { echo "开始清洗公会流水: \n"; - $guild = db::name('vs_guild')->where(['status' => 1])->select(); + $guild = db::name('vs_guild')->select(); foreach ($guild as $value) { echo "================================\n"; echo "开始清洗公会({$value['id']})流水 \n"; $guild_user = db::name('vs_guild_user')->where(['guild_id' => $value['id'],'status' => 1,'apply_time'=>['>',0],'room_id' => ['>',0]])->select(); $transaction = 0; foreach ($guild_user as $v) { + $week_start_time_seach = "1761554521"; + $week_end_time_seach = "1766667632"; + if($v['apply_time'] && $week_start_time_seach < $v['apply_time']){ + $week_start_time_seach = $v['apply_time']; + } + if($v['quit_time'] && ($week_end_time_seach > $v['quit_time'])){ + $week_end_time_seach = $v['quit_time']; + } + $transaction_one = db::name('vs_give_gift') + ->where('from_id',$v['room_id']) + ->where(['createtime'=>['>=',$week_start_time_seach]]) + ->where(['createtime'=>['<',$week_end_time_seach]]) + ->where(['from'=>2]) + ->sum('total_price'); + +// Db::name('vs_guild_user')->where(['id' => $v['id']])->setInc('coin', $transaction_one); + if($transaction_one>0){ + $data = [ + 'guild_id' => $value['id'], + 'room_id' => $v['room_id'], + 'give_gift_id' => 0, + 'flow_price' => $transaction_one, + 'day' => "", + 'createtime' => time(), + ]; +// $res = Db::name('vs_guild_flow')->insert($data); + } + $transaction += $transaction_one; + echo " 公会房间(". $v['room_id'] .")流水:" . $transaction_one . "\n"; + } +// Db::name('vs_guild')->where(['id' => $value['id']])->setInc('income', $transaction); + echo "清洗公会房间流水完成:" . count($guild_user) . "\n"; + } + echo "清洗公会流水完成: ".count($guild)."\n"; + } + + //清洗公会流水 + public function clean_guild_flow1() + {die; + echo "开始清洗公会流水: \n"; + $guild = db::name('vs_guild')->where(['status' => 1])->select(); + foreach ($guild as $value) { + echo "================================\n"; + //echo "开始清洗公会({$value['id']})流水 \n"; + $guild_user = db::name('vs_guild_user')->where(['guild_id' => $value['id'],'status' => 1,'apply_time'=>['>',0],'room_id' => ['>',0]])->select(); + $transaction = 0; + $transaction_one_all = 0; + foreach ($guild_user as $v) { + $guild_flow_price = Db::name('vs_guild_flow')->where(['guild_id' => $value['id'],'room_id' => $v['room_id']])->sum('flow_price'); + $transaction += $guild_flow_price; + $week_start_time_seach = "1761554521"; $week_end_time_seach = "1766564906"; if($v['apply_time'] && $week_start_time_seach < $v['apply_time']){ @@ -526,33 +577,26 @@ class Test } $transaction_one = db::name('vs_give_gift') ->where('from_id',$v['room_id']) - ->where(['from'=>['in',[2,3,6]],'createtime' => ['between', [$week_start_time_seach, $week_end_time_seach]]]) + ->where(['from'=>2,'createtime' => ['between', [$week_start_time_seach, $week_end_time_seach]]]) ->sum('total_price'); -// db::name('vs_guild_user')->where(['id' => $v['id']])->update([ -// 'coin' => $transaction_one, -// ]); -// Db::name('vs_guild_user')->where(['id' => $v['id']])->setInc('coin', $transaction_one); -// $data = [ -// 'guild_id' => $value['id'], -// 'room_id' => $v['room_id'], -// 'give_gift_id' => 0, -// 'flow_price' => $transaction_one, -// 'day' => "", -// 'createtime' => time(), -// ]; -// $res = Db::name('vs_guild_flow')->insert($data); - - $transaction += $transaction_one; - echo " 公会房间(". $v['room_id'] .")流水:" . $transaction_one . "\n"; + if($guild_flow_price != $transaction_one){ + echo "公会房间(". $v['room_id'] .")流水与公会用户流水不一致:" . $guild_flow_price . "--" . $transaction_one . "\n"; + $flow_price_cha = $v['coin']-$guild_flow_price; + echo "差:".($flow_price_cha) . "\n"; +// Db::name('vs_guild_user')->where(['id' => $v['id']])->setDec('coin', $flow_price_cha); + } + $transaction_one_all= $transaction_one_all+$transaction_one; } -// db::name('vs_guild')->where(['id' => $value['id']])->update([ -// 'income' => $transaction, -// ]); -// Db::name('vs_guild')->where(['id' => $value['id']])->setInc('income', $transaction); - echo "清洗公会房间流水完成:" . count($guild_user) . "\n"; + if($transaction != $transaction_one_all){ + echo "公会流水与公会用户流水不一致:" . $transaction . "--" . $value['income'] . "\n"; + $transaction_cha = $value['income']-$transaction; + echo $value['id']."差:".($transaction_cha) . "\n"; +// Db::name('vs_guild')->where(['id' => $value['id']])->setDec('income', $transaction_cha); + } +// echo "清洗公会房间流水完成:" . count($guild_user) . "\n"; } - echo "清洗公会流水完成: ".count($guild)."\n"; +// echo "清洗公会流水完成: ".count($guild)."\n"; } } \ No newline at end of file