get('user_id')); if($user_id > 0){ // 获取查询代理信息 $user_info = Db::name('user')->where('id',$user_id)->find(); if(empty($user_info)){ die('用户错误'); } }else{ die('用户错误'); } $timeLength = Request::instance()->get('time_length'); if(isset($timeLength)){ $timeLength = intval(Request::instance()->get('time_length')); }else{ $timeLength = 1; } $where = array(); if($timeLength == 1 || $timeLength == 2 || $timeLength == 3){ if($timeLength == 1 || $timeLength == 2){ if($timeLength == 1){ //上周时间 $weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))); $weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))); }elseif($timeLength == 2){ //本周时间 $weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))); $weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))); } $startTime = strtotime($weekStart); $endTime = strtotime($weekEnd); $where['create_time'] = array('between',[$startTime,$endTime]); }else{ $weekStart = ''; $weekEnd = ''; } }else{ die('请选择结算周期'); } $where['is_checkout'] = 0; $where['user_id'] = $user_info['id']; // 洗码总量 $user_info['ximaliang'] = Db::name('xima')->where($where)->sum('ximaliang'); // 未结码量 //$user_info['maliang_unbalanced'] = Db::name('xima')->where($where)->sum('maliang_true'); $user_info['maliang_unbalanced'] = Db::name('xima')->where($where)->sum('maliang'); // 最近洗码时间 if($user_info['last_xima_time'] > 0){ $user_info['last_xima_time'] = date('Y-m-d H:i:s',$user_info['last_xima_time']); }else{ $user_info['last_xima_time'] = '-'; } // 渲染参数和模板 $this->assign('time_start',$weekStart); $this->assign('time_end',$weekEnd); $this->assign('time_length',$timeLength); $this->assign('user_info',$user_info); return $this->fetch(); } // 处理洗码 public function do_xima(){ if(Request::instance()->post()){ //防止重复提交 $allowSubmit = Session::get('allowSubmit'); if($allowSubmit == 'YES'){ Session::delete('allowSubmit'); }else{ Session::delete('allowSubmit'); return json(array('code' => 0, 'msg' => "请勿重复提交")); } // 登录用户信息 $user_info = Session::get('user_info'); $account_type = $user_info['account_type']; $user_info = Db::name('user')->where('id',$user_info['id'])->find(); $user_info['account_type'] = $account_type; // 接收洗码用户ID $user_id = Request::instance()->post('user_id'); $type_xima = Request::instance()->post('type_xima'); $timeLength = Request::instance()->post('time_length'); if($timeLength != 1 && $timeLength != 2 && $timeLength != 3){ return json(array('code'=>0,'msg'=>'洗码出错')); } $startDate = Request::instance()->post('time_start'); $endDate = Request::instance()->post('time_end'); if($user_id > 0){ // 查询要洗码的用户信息 $user = Db::name('user')->where('id',$user_id)->find(); }else{ die(json_encode(['code'=>0,'msg'=>'洗码用户错误'])); } if(!in_array($type_xima,[1,2])){ die(json_encode(['code'=>0,'msg'=>'请选择洗码方式'])); } // 判断是不是直属 if($user['agent_parent_id'] != $user_info['id']){ die(json_encode(['code'=>0,'msg'=>'账号'.$user['username'].'不是您的直属下级,无法洗码'])); } $ximaWhere = array(); if($timeLength == 1 || $timeLength == 2){ $startTime = strtotime($startDate); $endTime = strtotime($endDate); if($startTime > 0 && $endTime > 0){ $ximaWhere['create_time'] = array('between',[$startTime,$endTime]); }else{ return json(array('code'=>0,'msg'=>'请正确选择洗码时间')); } } $ximaWhere['user_id'] = $user['id']; $ximaWhere['is_checkout'] = 0; // 未结码量 $ximaliang_unbalanced = Db::name('xima')->where($ximaWhere)->sum('ximaliang'); $maliang_unbalanced = Db::name('xima')->where($ximaWhere)->sum('maliang'); // 验证码量 if($maliang_unbalanced <= 0){ die(json_encode(['code'=>0,'msg'=>'未结码量必须要大于0!'])); } // 处理洗码(更新洗码时间) if($type_xima == 1){ $moneycontrol = $user_info['money'] - $maliang_unbalanced; if($moneycontrol < 0){ die(json_encode(['code'=>0,'msg'=>'余额不足!'])); } Db::name('user')->where(['id'=>$user_info['id']])->update(['money'=>$moneycontrol]); $money = $user['money'] + $maliang_unbalanced; $result = Db::name('user')->where(['id'=>$user['id']])->update(['money'=>$money,'last_xima_time'=>time()]); }else{ $result = Db::name('user')->where(['id'=>$user['id']])->update(['last_xima_time'=>time()]); } if(!$result){ die(json_encode(['code'=>0,'msg'=>'洗码失败!'])); } // 更新洗码表状态 Db::name('xima')->where($ximaWhere)->update(['is_checkout'=>1,'checkout_time'=>time()]); // 处理洗码 $dataXima = array(); $dataXima['user_id'] = $user['id']; $dataXima['username'] = $user['username']; $dataXima['admin_or_agent'] = 2; $dataXima['connection_id'] = $user_info['id']; $dataXima['connection_username'] = $user_info['username']; $dataXima['ximaliang'] = $ximaliang_unbalanced; $dataXima['maliang'] = $maliang_unbalanced; if($user['type_xima'] == 1){ $dataXima['agent_ximalv'] = $user['agent_ximalv'].'/'.$user['agent_ximalv_dt'].'/'.$user['agent_ximalv_nn']; }elseif($user['type_xima'] == 2){ $dataXima['agent_ximalv'] = $user['agent_ximalv_single'].'/'.$user['agent_ximalv_dt_single'].'/'.$user['agent_ximalv_nn_single']; }else{ $dataXima['agent_ximalv'] = '0/0/0'; } $dataXima['create_time'] = time(); if($type_xima == 1){ $dataXima['old_money'] = $user['money']; $dataXima['new_money'] = $user['money'] + $maliang_unbalanced; $dataXima['connection_old_money'] = $user_info['money']; $dataXima['connection_new_money'] = $user_info['money'] - $maliang_unbalanced; }else{ $dataXima['old_money'] = $user['money']; $dataXima['new_money'] = $user['money']; $dataXima['connection_old_money'] = $user_info['money']; $dataXima['connection_new_money'] = $user_info['money']; } $dataXima['type'] = $type_xima; Db::name('xima_log')->insert($dataXima); if($type_xima == 1){ // 处理下分 下级 $dataRecharge = array(); $dataRecharge['type'] = 2; $dataRecharge['amount'] = $maliang_unbalanced; $dataRecharge['mode'] = 1; $dataRecharge['agent_or_admin'] = 2; $dataRecharge['controller_id'] = $user_info['id']; $dataRecharge['controller_username'] = $user_info['username']; $dataRecharge['controller_nickname'] = $user_info['nickname']; $dataRecharge['controller_type'] = '代理系统操作'; $dataRecharge['user_id'] = $user['id']; $dataRecharge['user_type'] = $user['agent']; $dataRecharge['user_agent_level'] = $user['agent_level']; $dataRecharge['username_for'] = $user['username']; $dataRecharge['nickname_for'] = $user['nickname']; $dataRecharge['user_parent_id'] = $user['agent_parent_id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user['money']; $dataRecharge['new_money'] = $user['money'] + $maliang_unbalanced; $dataRecharge['controller_old_money'] = $user_info['money']; $dataRecharge['controller_new_money'] = $user_info['money'] - $maliang_unbalanced; $dataRecharge['controller_system'] = 1; if($timeLength == 3){ $dataRecharge['remake'] = '洗码上分,洗码时间范围为全部洗码'; }else{ $dataRecharge['remake'] = '洗码上分,洗码时间范围为'.$startDate.'至'.$endDate; } Db::name('recharge')->insert($dataRecharge); // 处理下分(上级) $dataRecharge = array(); $dataRecharge['type'] = 2; $dataRecharge['amount'] = $maliang_unbalanced; $dataRecharge['mode'] = 2; $dataRecharge['agent_or_admin'] = 2; $dataRecharge['controller_id'] = $user_info['id']; $dataRecharge['controller_username'] = $user_info['username']; $dataRecharge['controller_nickname'] = $user_info['nickname']; $dataRecharge['controller_type'] = '代理系统操作'; $dataRecharge['user_id'] = $user_info['id']; $dataRecharge['user_type'] = $user_info['agent']; $dataRecharge['user_agent_level'] = $user_info['agent_level']; $dataRecharge['username_for'] = $user_info['username']; $dataRecharge['nickname_for'] = $user_info['nickname']; $dataRecharge['user_parent_id'] = $user_info['agent_parent_id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user_info['money']; $dataRecharge['new_money'] = $user_info['money'] - $maliang_unbalanced; $dataRecharge['controller_old_money'] = $user_info['money']; $dataRecharge['controller_new_money'] = $user_info['money'] - $maliang_unbalanced; $dataRecharge['controller_system'] = 1; $dataRecharge['remake'] = '下级洗码结算(上分),上级余额相应处理'; Db::name('recharge')->insert($dataRecharge); } die(json_encode(['code'=>1,'msg'=>'洗码成功'])); }else{ die(json_encode(['code'=>0,'msg'=>'操作错误!'])); } } // 结算显示表 public function cs(){ Session::set('allowSubmit',"YES"); // 接收洗码用户ID $user_id = Request::instance()->get('user_id'); if($user_id > 0){ $user_info = Db::name('user')->where('id',$user_id)->find(); if(empty($user_info)){ die('用户错误'); } }else{ die('用户错误!'); } $startDate = Request::instance()->get('startDate'); $endDate = Request::instance()->get('endDate'); $where = array(); if(isset($startDate) && isset($endDate)){ $startTime = strtotime($startDate); $endTime = strtotime($endDate); $where['create_time'] = array('between',[$startTime,$endTime]); $this->assign('startDate',$startDate); $this->assign('endDate',$endDate); } $where['user_id'] = $user_info['id']; $where['is_checkout'] = 0; // 总赢 $user_info['win_total'] = Db::name('cs')->where($where)->sum('win_total'); // 未结占成 $user_info['cs_unbalanced'] = Db::name('cs')->where($where)->sum('share_amount'); // 分担码量 $user_info['share_maliang'] = Db::name('cs')->where($where)->sum('share_maliang'); // 最近结算时间 if($user_info['last_cs_time'] > 0){ $user_info['last_cs_time'] = date('Y-m-d H:i:s',$user_info['last_cs_time']); }else{ $user_info['last_cs_time'] = '-'; } // 渲染参数和模板 $this->assign('user_info',$user_info); return $this->fetch(); } // 处理结算 public function do_cs(){ if(Request::instance()->post()){ //防止重复提交 $allowSubmit = Session::get('allowSubmit'); if($allowSubmit == 'YES'){ Session::delete('allowSubmit'); }else{ Session::delete('allowSubmit'); return json(array('code' => 0, 'msg' => "请勿重复提交")); } // 登录用户信息 $user_info = Session::get('user_info'); $account_type = $user_info['account_type']; $user_info = Db::name('user')->where('id',$user_info['id'])->find(); $user_info['account_type'] = $account_type; // 接收洗码用户ID $user_id = Request::instance()->post('user_id'); $type_cs = Request::instance()->post('type_cs'); if($user_id > 0){ // 查询要洗码的用户信息 $user = Db::name('user')->where('id',$user_id)->find(); }else{ die(json_encode(['code'=>0,'msg'=>'结算用户错误!'])); } if(!in_array($type_cs,[1,2])){ die(json_encode(['code'=>0,'msg'=>'请选择结算方式!'])); } // 判断是不是直属 if($user['agent_parent_id'] != $user_info['id']){ die(json_encode(['code'=>0,'msg'=>'账号'.$user['username'].'不是您的直属下级,无法结算'])); } $startDate = Request::instance()->post('startDate'); $endDate = Request::instance()->post('endDate'); $where = array(); if(isset($startDate) && isset($endDate)){ $startTime = strtotime($startDate); $endTime = strtotime($endDate); if($startTime > 0 && $endTime > 0){ $where['create_time'] = array('between',[$startTime,$endTime]); } } $where['user_id'] = $user['id']; $where['is_checkout'] = 0; // 总赢 $win_total = Db::name('cs')->where($where)->sum('win_total'); $cs_unbalanced = Db::name('cs')->where($where)->sum('share_amount'); $share_maliang = Db::name('cs')->where($where)->sum('share_maliang'); // 验证码量 if($cs_unbalanced == 0 && $share_maliang == 0){ die(json_encode(['code'=>0,'msg'=>'结算占成收益不能为0'])); } // 处理结算(更新结算时间) if($type_cs == 1){ $moneycontrol = $user_info['money'] - $cs_unbalanced + $share_maliang; if($moneycontrol < 0){ die(json_encode(['code'=>0,'msg'=>'余额不足!'])); } Db::name('user')->where(['id'=>$user_info['id']])->update(['money'=>$moneycontrol]); $money = $user['money'] + $cs_unbalanced - $share_maliang; $result = Db::name('user')->where(['id'=>$user['id']])->update(['money'=>$money,'last_cs_time'=>time()]); }else{ $result = Db::name('user')->where(['id'=>$user['id']])->update(['last_cs_time'=>time()]); } if(!$result){ die(json_encode(['code'=>0,'msg'=>'结算失败!'])); } // 更新占成状态 Db::name('cs')->where($where)->update(['is_checkout'=>1,'checkout_time'=>time()]); // 处理结算 $dataCs = array(); $dataCs['user_id'] = $user['id']; $dataCs['username'] = $user['username']; $dataCs['admin_or_agent'] = 2; $dataCs['connection_id'] = $user_info['id']; $dataCs['connection_username'] = $user_info['username']; $dataCs['share_amount'] = $cs_unbalanced; $dataCs['share_maliang'] = $share_maliang; $dataCs['agent_cs'] = $user_info['agent_cs']; $dataCs['create_time'] = time(); if($type_cs == 1){ $dataCs['old_money'] = $user['money']; $dataCs['new_money'] = $user['money'] + $cs_unbalanced - $share_maliang; $dataCs['connection_old_money'] = $user_info['money']; $dataCs['connection_new_money'] = $user_info['money'] - $cs_unbalanced + $share_maliang; }else{ $dataCs['old_money'] = $user['money']; $dataCs['new_money'] = $user['money']; $dataCs['connection_old_money'] = $user_info['money']; $dataCs['connection_new_money'] = $user_info['money']; } $dataCs['type'] = $type_cs; Db::name('cs_log')->insert($dataCs); // 确定是上分还是下分 $scoreAmount = 0; if($cs_unbalanced > 0){ $mode = 1; $scoreAmount = $cs_unbalanced - $share_maliang; }elseif($cs_unbalanced < 0){ $mode = 2; $scoreAmount = to_number($cs_unbalanced - $share_maliang); } if($type_cs == 1){ // 处理上分(下级) $dataRecharge = array(); $dataRecharge['type'] = 3; $dataRecharge['amount'] = $scoreAmount; $dataRecharge['mode'] = $mode; $dataRecharge['agent_or_admin'] = 2; $dataRecharge['controller_id'] = $user_info['id']; $dataRecharge['controller_username'] = $user_info['username']; $dataRecharge['controller_nickname'] = $user_info['nickname']; $dataRecharge['controller_type'] = '代理系统操作'; $dataRecharge['user_id'] = $user['id']; $dataRecharge['user_type'] = $user['agent']; $dataRecharge['user_agent_level'] = $user['agent_level']; $dataRecharge['username_for'] = $user['username']; $dataRecharge['nickname_for'] = $user['nickname']; $dataRecharge['user_parent_id'] = $user['agent_parent_id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user['money']; $dataRecharge['new_money'] = $user['money'] + $cs_unbalanced - $share_maliang; $dataRecharge['controller_old_money'] = $user_info['money']; $dataRecharge['controller_new_money'] = $user_info['money'] - $cs_unbalanced + $share_maliang; $dataRecharge['controller_system'] = 1; if(isset($startDate) && isset($endDate)){ $dataRecharge['remake'] = '占股结算上分,结算时间范围为全部结算'; }else{ $dataRecharge['remake'] = '占股结算上分,结算时间范围为'.$startDate.'至'.$endDate; } Db::name('recharge')->insert($dataRecharge); // 处理下分(上级级) $dataRecharge = array(); $dataRecharge['type'] = 3; $dataRecharge['amount'] = $scoreAmount; $dataRecharge['mode'] = $mode == 1 ? 2 : 1; $dataRecharge['agent_or_admin'] = 2; $dataRecharge['controller_id'] = $user_info['id']; $dataRecharge['controller_username'] = $user_info['username']; $dataRecharge['controller_nickname'] = $user_info['nickname']; $dataRecharge['controller_type'] = '代理系统操作'; $dataRecharge['user_id'] = $user_info['id']; $dataRecharge['user_type'] = $user_info['agent']; $dataRecharge['user_agent_level'] = $user_info['agent_level']; $dataRecharge['username_for'] = $user_info['username']; $dataRecharge['nickname_for'] = $user_info['nickname']; $dataRecharge['user_parent_id'] = $user_info['agent_parent_id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user_info['money']; $dataRecharge['new_money'] = $user_info['money'] - $cs_unbalanced + $share_maliang; $dataRecharge['controller_old_money'] = $user_info['money']; $dataRecharge['controller_new_money'] = $user_info['money'] - $cs_unbalanced + $share_maliang; $dataRecharge['controller_system'] = 1; $dataRecharge['remake'] = '下级洗码结算(上下分),上级余额相应处理'; Db::name('recharge')->insert($dataRecharge); } die(json_encode(['code'=>1,'msg'=>'结算成功'])); }else{ die(json_encode(['code'=>0,'msg'=>'操作错误!'])); } } // 返水显示表 public function rebate(){ Session::set('allowSubmit',"YES"); $user_id = intval(Request::instance()->get('user_id')); if($user_id > 0){ // 获取查询代理信息 $user_info = Db::name('user')->where('id',$user_id)->find(); if(empty($user_info)){ die('用户错误'); } }else{ die('用户错误'); } $gameType = intval(Request::instance()->get('game_type')); if(!in_array($gameType,[1,2])){ die('结算类型错误'); } $timeLength = Request::instance()->get('time_length'); if(isset($timeLength)){ $timeLength = intval(Request::instance()->get('time_length')); }else{ $timeLength = 1; } $where = array(); if($timeLength == 1 || $timeLength == 2 || $timeLength == 3){ if($timeLength == 1 || $timeLength == 2){ if($timeLength == 1){ //上周时间 $weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))); $weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))); }elseif($timeLength == 2){ //本周时间 $weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))); $weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))); } $startTime = strtotime($weekStart); $endTime = strtotime($weekEnd); $where['create_time'] = array('between',[$startTime,$endTime]); }else{ $weekStart = ''; $weekEnd = ''; } }else{ die('请选择结算周期'); } $where['game_type'] = $gameType; $where['is_checkout'] = 0; $where['user_id'] = $user_info['id']; // 下注金额 $user_info['amount'] = Db::name('rebate')->where($where)->sum('amount'); // 未结返水金额 $user_info['rebate_unbalanced'] = Db::name('rebate')->where($where)->sum('rebate_amount_actual'); // pre(Db::name('rebate')->getLastSql()); // 最近返水时间 if($user_info['last_rebate_time'] > 0){ $user_info['last_rebate_time'] = date('Y-m-d H:i:s',$user_info['last_rebate_time']); }else{ $user_info['last_rebate_time'] = '-'; } // 渲染参数和模板 $this->assign('time_start',$weekStart); $this->assign('time_end',$weekEnd); $this->assign('time_length',$timeLength); $this->assign('user_info',$user_info); $this->assign('game_type',$gameType); return $this->fetch(); } // 处理返水 public function do_rebate(){ if(Request::instance()->post()){ //防止重复提交 $allowSubmit = Session::get('allowSubmit'); if($allowSubmit == 'YES'){ Session::delete('allowSubmit'); }else{ Session::delete('allowSubmit'); return json(array('code' => 0, 'msg' => "请勿重复提交")); } // 登录用户信息 $user_info = Session::get('user_info'); $account_type = $user_info['account_type']; $user_info = Db::name('user')->where('id',$user_info['id'])->find(); $user_info['account_type'] = $account_type; // 接收洗码用户ID $user_id = Request::instance()->post('user_id'); $gameType = intval(Request::instance()->post('game_type')); if(!in_array($gameType,[1,2])){ return json(array('code'=>0,'msg'=>'结算类型错误')); } $timeLength = Request::instance()->post('time_length'); if($timeLength != 1 && $timeLength != 2 && $timeLength != 3){ return json(array('code'=>0,'msg'=>'返水出错')); } $startDate = Request::instance()->post('time_start'); $endDate = Request::instance()->post('time_end'); if($user_id > 0){ // 查询要洗码的用户信息 $user = Db::name('user')->where('id',$user_id)->find(); }else{ die(json_encode(['code'=>0,'msg'=>'返水用户错误'])); } $rebateWhere = array(); if($timeLength == 1 || $timeLength == 2){ $startTime = strtotime($startDate); $endTime = strtotime($endDate); if($startTime > 0 && $endTime > 0){ $rebateWhere['create_time'] = array('between',[$startTime,$endTime]); }else{ return json(array('code'=>0,'msg'=>'请正确选择返水时间')); } } $rebateWhere['game_type'] = $gameType; $rebateWhere['user_id'] = $user['id']; $rebateWhere['is_checkout'] = 0; // 下注金额 $amount = Db::name('rebate')->where($rebateWhere)->sum('amount'); $rebate_amount_unbalanced = Db::name('rebate')->where($rebateWhere)->sum('rebate_amount_actual'); // 验证返水 if($rebate_amount_unbalanced <= 0){ die(json_encode(['code'=>0,'msg'=>'未结返水必须要大于0!'])); } // 处理返水 $money = $user['money'] + $rebate_amount_unbalanced; $result = Db::name('user')->where(['id'=>$user['id']])->update(['money'=>$money,'last_rebate_time'=>time()]); if(!$result){ die(json_encode(['code'=>0,'msg'=>'返水失败!'])); } // 更新返水表状态 Db::name('rebate')->where($rebateWhere)->update(['is_checkout'=>1,'checkout_time'=>time()]); // 处理返水 $dataRebate = array(); $dataRebate['game_type'] = $gameType; $dataRebate['user_id'] = $user['id']; $dataRebate['username'] = $user['username']; $dataRebate['admin_or_agent'] = 2; $dataRebate['controller_id'] = $user_info['id']; $dataRebate['controller_username'] = $user_info['username']; $dataRebate['amount'] = $amount; $dataRebate['rebate_amount'] = $rebate_amount_unbalanced; $dataRebate['rebate_rate'] = $user['rebate_rate']; $dataRebate['create_time'] = time(); $dataRebate['old_money'] = $user['money']; $dataRebate['new_money'] = $money; Db::name('rebate_log')->insert($dataRebate); // 处理上分 $dataRecharge = array(); $dataRecharge['type'] = 2; $dataRecharge['money'] = $rebate_amount_unbalanced; $dataRecharge['user_id'] = $user['id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user['money']; $dataRecharge['new_money'] = $money; Db::name('user_recharge')->insert($dataRecharge); die(json_encode(['code'=>1,'msg'=>'返水成功'])); }else{ die(json_encode(['code'=>0,'msg'=>'操作错误!'])); } } // 添加充值提现页面 public function recharge(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); Session::set('allowSubmit',"YES"); // 获取管理员信息 $user = Session::get('user_info'); $account_type = $user['account_type']; $user = Db::name('user')->where('id',$user['id'])->find(); $user['account_type'] = $account_type; if($user['account_type'] == 1){ return $lang['illegal_request']; } $user = Db::name('user')->where('id',$user['id'])->find(); $agentParentMoney = $user['money']; // 接收需要修改的代理ID $id = Request::instance()->get('id'); $user_info = Db::name('user')->where('id',$id)->find(); //送分限制 $agent_parent_id_path_arr = explode(',',$user_info['agent_parent_id_path']); $agent_id_intersect = array_intersect(LEVEL_AGENT_ID,$agent_parent_id_path_arr); if(!empty($agent_id_intersect) && $user_info['agent'] == 0 && $user['agent_parent_id'] == 0){ $this->assign('intersect',1); }else{ $this->assign('intersect',0); } //渲染参数和模板 $this->assign('user_info',$user_info); $this->assign('agentParentMoney',$agentParentMoney); return $this->fetch(); } // 处理充值提现 public function do_recharge(){ $langType = cookie('think_var'); $lang = Lang::get('agent'); $jsonlang = json_encode($lang); $this->assign('langType',$langType); $this->assign('lang',$lang); $this->assign('jsonlang',$jsonlang); $user_info = Session::get('user_info'); $account_type = $user_info['account_type']; $user_info = Db::name('user')->where('id',$user_info['id'])->find(); $user_info['account_type'] = $account_type; if($user_info['account_type'] == 1){ die(json_encode(['code'=>0,'msg'=>$lang['illegal_request']])); } if(Request::instance()->post()){ //防止重复提交 $allowSubmit = Session::get('allowSubmit'); if($allowSubmit == 'YES'){ Session::delete('allowSubmit'); }else{ Session::delete('allowSubmit'); return json(array('code' => 0, 'msg' => $lang['do_not_resubmit'])); } // 接收数据 $userId = Request::instance()->post('userId'); $recharge = Request::instance()->post('recharge'); $rechargeMoney = round(Request::instance()->post('rechargeMoney'),2); $rechargeGive = intval(Request::instance()->post('recharge_give')); $remake = Request::instance()->post('remake'); if(isset($rechargeGive) && $rechargeGive == 1 && $recharge == 1){ $type = 5; }else{ $type = 1; } // 数据验证 if($userId <= 0){ die(json_encode(['code'=>0,'msg'=>$lang['error_id']])); } if($rechargeMoney <= 0){ die(json_encode(['code'=>0,'msg'=>$lang['amount_big_than_0']])); } if($recharge == 1 && $rechargeMoney > $user_info['money']){ die(json_encode(['code'=>0,'msg'=>$lang['recharge_exceeds_limit'].' '.$user_info['money']])); } $user = Db::name('user')->where('id',$userId)->find(); if($recharge == 2 && $rechargeMoney > $user['money']){ die(json_encode(['code'=>0,'msg'=>$lang['insufficient_balance'].' '.$user['money'].'!'])); } if($recharge == 1){ $msgSuccess = $lang['recharged_successfully']; $msgFail = $lang['recharged_failed']; }elseif($recharge == 2){ $msgSuccess = $lang['withdrawal_successful']; $msgFail = $lang['withdrawal_failed']; }else{ die(json_encode(['code'=>0,'msg'=>$lang['wrong_r_w_type']])); } // 用户更新余额 $dataUser = array(); $dataUser['id'] = $user['id']; if($recharge == 1){ $dataUser['money'] = $user['money'] + $rechargeMoney; $dataUser['last_recharge'] = $rechargeMoney; $dataUser['last_recharge_time'] = time(); $dataUser['recharge_count'] = $user['recharge_count'] + 1; $dataUser['recharge_total_amount'] = $user['recharge_total_amount'] + $rechargeMoney; }elseif($recharge == 2){ $dataUser['money'] = $user['money'] - $rechargeMoney; } $updateResultUser = Db::name('user')->where('id',$user['id'])->update($dataUser); if(!$updateResultUser){ die(json_encode(['code'=>0,'msg'=>$msgFail])); } // 管理员更新余额 $dataController = array(); $dataController['id'] = $user_info['id']; if($recharge == 1){ $dataController['money'] = $user_info['money'] - $rechargeMoney; $dataController['last_recharge_out'] = $rechargeMoney; $dataController['last_recharge_out_time'] = time(); $dataController['recharge_out_count'] = $user_info['recharge_out_count'] + 1; $dataController['recharge_out_total_amount'] = $user_info['recharge_out_total_amount'] + $rechargeMoney; }elseif($recharge == 2){ $dataController['money'] = $user_info['money'] + $rechargeMoney; } $updateResultController = Db::name('user')->where('id',$user_info['id'])->update($dataController); if(!$updateResultController){ // 恢复用户的余额(回滚) $dataUser = array(); $dataUser['id'] = $user['id']; $dataUser['money'] = $user['money']; $dataUser['last_recharge'] = $user['last_recharge']; $dataUser['last_recharge_time'] = $user['last_recharge_time']; $dataUser['recharge_count'] = $user['recharge_count']; $dataUser['recharge_total_amount'] = $user['recharge_total_amount']; Db::name('user')->where('id',$user['id'])->update($dataUser); die(json_encode(['code'=>0,'msg'=>$msgFail])); } // 记录充值/提现 $dataRecharge = array(); $dataRecharge['type'] = $type; $dataRecharge['amount'] = $rechargeMoney; $dataRecharge['mode'] = $recharge; $dataRecharge['agent_or_admin'] = 2; $dataRecharge['controller_id'] = $user_info['id']; $dataRecharge['controller_username'] = $user_info['username']; $dataRecharge['controller_nickname'] = $user_info['nickname']; $dataRecharge['controller_type'] = '代理系统操作'; $dataRecharge['user_id'] = $user['id']; $dataRecharge['user_type'] = $user['agent']; $dataRecharge['user_agent_level'] = $user['agent_level']; $dataRecharge['username_for'] = $user['username']; $dataRecharge['nickname_for'] = $user['nickname']; $dataRecharge['user_parent_id'] = $user['agent_parent_id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user['money']; $dataRecharge['new_money'] = $dataUser['money']; $dataRecharge['controller_old_money'] = $user_info['money']; $dataRecharge['controller_new_money'] = $dataController['money']; $dataRecharge['controller_system'] = 1; $dataRecharge['remake'] = $remake; $result = Db::name('recharge')->insert($dataRecharge); if($result){ die(json_encode(['code'=>1,'msg'=>$msgSuccess])); }else{ // 恢复用户的余额 $dataUser = array(); $dataUser['id'] = $user['id']; $dataUser['money'] = $user['money']; $dataUser['last_recharge'] = $user['last_recharge']; $dataUser['last_recharge_time'] = $user['last_recharge_time']; $dataUser['recharge_count'] = $user['recharge_count']; $dataUser['recharge_total_amount'] = $user['recharge_total_amount']; Db::name('user')->where('id',$user['id'])->update($dataUser); // 恢复管理员的余额 $dataController = array(); $dataController['id'] = $user_info['id']; $dataController['money'] = $user_info['money']; $dataController['last_recharge'] = $user_info['last_recharge']; $dataController['last_recharge_time'] = $user_info['last_recharge_time']; $dataController['recharge_count'] = $user_info['recharge_count']; $dataController['recharge_total_amount'] = $user_info['recharge_total_amount']; Db::name('user')->where('id',$user_info['id'])->update($dataController); die(json_encode(['code'=>1,'msg'=>$msgFail])); } }else{ die(json_encode(['code'=>0,'msg'=>$lang['operation_error']])); } } // 抽水显示表 public function commission(){ Session::set('allowSubmit',"YES"); // 接收洗码用户ID $user_id = Request::instance()->get('user_id'); if($user_id > 0){ // 获取查询代理信息 $user_info = Db::name('user')->where('id',$user_id)->find(); }else{ die('代理抽水用户错误!'); } // 抽水数据 $user_info['amount_commission'] = Db::name('agent_commission')->where(['agent_id'=>$user_info['id'],'is_checkout'=>0])->sum('amount'); $user_info['agent_commission'] = Db::name('agent_commission')->where(['agent_id'=>$user_info['id'],'is_checkout'=>0])->order('id desc')->value('agent_commission'); $user_info['money_commission'] = Db::name('agent_commission')->where(['agent_id'=>$user_info['id'],'is_checkout'=>0])->sum('money_commission'); // 最近抽水时间 if($user_info['last_commission_time'] > 0){ $user_info['last_commission_time'] = date('Y-m-d H:i:s',$user_info['last_commission_time']); }else{ $user_info['last_commission_time'] = '-'; } $user_info['agent_commission'] = round($user_info['agent_commission'],2); // 渲染参数和模板 $this->assign('user_info',$user_info); return $this->fetch(); } // 处理抽水 public function do_commission(){ if(Request::instance()->post()){ //防止重复提交 $allowSubmit = Session::get('allowSubmit'); if($allowSubmit == 'YES'){ Session::delete('allowSubmit'); }else{ Session::delete('allowSubmit'); return json(array('code' => 0, 'msg' => "请勿重复提交")); } // 登录用户信息 $user_info = Session::get('user_info'); $account_type = $user_info['account_type']; $user_info = Db::name('user')->where('id',$user_info['id'])->find(); $user_info['account_type'] = $account_type; // 接收抽水用户ID $user_id = Request::instance()->post('user_id'); $type_commission = Request::instance()->post('type_commission'); if($user_id > 0){ // 查询要抽水的用户信息 $user = Db::name('user')->where('id',$user_id)->find(); }else{ die(json_encode(['code'=>0,'msg'=>'抽水用户错误!'])); } if(!in_array($type_commission,[1,2])){ die(json_encode(['code'=>0,'msg'=>'请选择抽水方式!'])); } // 判断是不是直属 if($user['agent_parent_id'] != $user_info['id']){ die(json_encode(['code'=>0,'msg'=>'账号'.$user['username'].'不是您的直属下级,无法操作'])); } // 抽水数据 $amount_commission = Db::name('agent_commission')->where(['agent_id'=>$user['id'],'is_checkout'=>0])->sum('amount'); $agent_commission = Db::name('agent_commission')->where(['agent_id'=>$user['id'],'is_checkout'=>0])->order('id desc')->value('agent_commission'); $money_commission = Db::name('agent_commission')->where(['agent_id'=>$user['id'],'is_checkout'=>0])->sum('money_commission'); // 验证抽水 if($money_commission == 0){ die(json_encode(['code'=>0,'msg'=>'抽水金额不能为0!'])); } // 处理抽水(更新抽水时间) if($type_commission == 1){ $moneycontrol = $user_info['money'] - $money_commission; if($moneycontrol < $money_commission){ die(json_encode(['code'=>0,'msg'=>'余额不足!'])); } Db::name('user')->where(['id'=>$user_info['id']])->update(['money'=>$moneycontrol]); $money = $user['money'] + $money_commission; $result = Db::name('user')->where(['id'=>$user['id']])->update(['money'=>$money,'last_commission_time'=>time()]); }else{ $result = Db::name('user')->where(['id'=>$user['id']])->update(['last_commission_time'=>time()]); } if(!$result){ die(json_encode(['code'=>0,'msg'=>'抽水失败!'])); } // 更新抽水状态 Db::name('agent_commission')->where(['agent_id'=>$user['id'],'is_checkout'=>0])->update(['is_checkout'=>1,'checkout_time'=>time()]); // 处理抽水 $dataCommission = array(); $dataCommission['user_id'] = $user['id']; $dataCommission['username'] = $user['username']; $dataCommission['agent_id'] = $user['id']; $dataCommission['agent_username'] = $user['username']; $dataCommission['controller_id'] = $user_info['id']; $dataCommission['controller_username'] = $user_info['username']; $dataCommission['amount'] = $amount_commission; $dataCommission['agent_commission'] = $agent_commission; $dataCommission['money_commission'] = $money_commission; $dataCommission['type'] = $type_commission; $dataCommission['create_time'] = time(); Db::name('agent_commission_log')->insert($dataCommission); // 确定是充值还是提现 if($money_commission > 0){ $mode = 1; }elseif($money_commission < 0){ $mode = 2; $money_commission = to_number($money_commission); } if($type_commission == 1){ // 处理充值 $dataRecharge = array(); $dataRecharge['type'] = 6; $dataRecharge['amount'] = $money_commission; $dataRecharge['mode'] = $mode; $dataRecharge['agent_or_admin'] = 2; $dataRecharge['controller_id'] = $user_info['id']; $dataRecharge['controller_username'] = $user_info['username']; $dataRecharge['controller_nickname'] = $user_info['nickname']; $dataRecharge['controller_type'] = '代理系统操作'; $dataRecharge['user_id'] = $user['id']; $dataRecharge['user_type'] = $user['agent']; $dataRecharge['user_agent_level'] = $user['agent_level']; $dataRecharge['username_for'] = $user['username']; $dataRecharge['nickname_for'] = $user['nickname']; $dataRecharge['user_parent_id'] = $user['agent_parent_id']; $dataRecharge['create_time'] = time(); $dataRecharge['old_money'] = $user['money']; $dataRecharge['new_money'] = $user['money'] + $money_commission; $dataRecharge['controller_old_money'] = $user_info['money']; $dataRecharge['controller_new_money'] = $user_info['money'] - $money_commission; $dataRecharge['controller_system'] = 1; Db::name('recharge')->insert($dataRecharge); } die(json_encode(['code'=>1,'msg'=>'抽水成功'])); }else{ die(json_encode(['code'=>0,'msg'=>'操作错误!'])); } } }