-1, "msg" => "登录数据不能为空"))); exit; } $promote = new PromoteApi(); $result = $promote->login($user['account'], $user['password']); if ($result > 0) { $map['account'] = $user['account']; $data['last_login_time'] = time(); $entity = new_get_promote_entity($result); M("Promote", "tab_")->where($map)->save($data); $data['id'] = $result; $data['nickname'] = $entity['nickname']; $data['last_login_time'] = !empty($entity['last_login_time']) ? date('Y-m-d H:i:s', $entity['last_login_time']) : date('Y-m-d H:i:s', time()); $data['real_name'] = $entity['real_name']; $data['phone'] = $entity['mobile_phone']; $data['email'] = $entity['email']; echo base64_encode(json_encode(array("status" => 1, "msg" => "登录成功", "data" => $data))); } else { $msg = ""; switch ($result) { case -1: $msg = "账号不存在"; break; case -2: $msg = "密码错误"; break; case -3: $msg = "账号被禁用,请联系管理员"; break; case -4: $msg = "审核中,请联系管理员"; break; default: $msg = "未知错误!请联系管理员"; break; } echo base64_encode(json_encode(array("status" => -1, "msg" => $msg))); } } //注册明细 public function reg_details() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; if (is_array(get_child_ids($map['promote_id']))) { foreach (get_child_ids($map['promote_id']) as $key => $value) { $asd[] = implode(",", $value); } $map['promote_id'] = array('in', implode(',', $asd)); } if (isset($user['user_account']) && $user['user_account'] != "") { $map['account'] = array('like', '%' . $user['user_account'] . '%'); } if (isset($user['fgame_name']) && $user['fgame_name'] != "") { $map['fgame_name'] = array('like', '%' . $user['fgame_name'] . '%'); } if (isset($user['time_start']) && isset($user['time_end']) && $user['time_start'] != "" && $user['time_end'] != "") { $map['register_time'] = array('BETWEEN', array(strtotime($user['time_start']), strtotime($user['time_end']) + 24 * 60 * 60 - 1)); } elseif (isset($user['time_start']) && $user['time_start'] != "") { $map['register_time'] = array('gt', strtotime($user['time_start'])); } elseif (isset($user['time_end']) && $user['time_end'] != "") { $map['register_time'] = array('lt', strtotime($user['time_end']) + 24 * 60 * 60 - 1); } if (isset($user['limit'])) { $limit = $user['limit']; } else { $limit = 1; } $model = array('m_name' => 'user', 'field' => 'id,account,register_time,fgame_name,promote_account', 'map' => $map, 'list_row' => 10, 'order' => 'register_time desc',); $user1 = A('User', 'Event'); $res = $user1->user_join($model, $limit); $res_data['count'] = M('user', 'tab_')->where($map)->count(); $time = total(1); $res_data['today_register'] = M('user', 'tab_')->where($map)->where("register_time" . $time)->count(); echo base64_encode(json_encode(array("status" => 1, "data" => $res, "res_data" => $res_data))); } //流水信息 public function get_liushui() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $today_amount = $this->get_amount("today", $user['id']) ? $this->get_amount("today", $user['id']) : '0'; $yes_amount = $this->get_amount('yes', $user['id']) ? $this->get_amount('yes', $user['id']) : '0'; $this_mon_amount = $this->get_amount('thismonth', $user['id']) ? $this->get_amount('thismonth', $user['id']) : '0'; $total_amount = $this->get_amount('total', $user['id']) ? $this->get_amount('total', $user['id']) : '0'; $amount['today'] = $today_amount; $amount['yes'] = $yes_amount; $amount['thismonth'] = $this_mon_amount; $amount['total'] = $total_amount; echo base64_encode(json_encode(array("status" => 1, "data" => $amount))); } //获取可以代充的游戏 public function get_promote_game() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; $map['status'] = 1; $list = M('apply', 'tab_')->field('tab_game.id,tab_game.game_name')->join('tab_game on tab_game.id=tab_apply.game_id')->where($map)->order('apply_time desc')->select(); if (!$list) { echo base64_encode(json_encode(array("status" => -1, "data" => "", "msg" => "失败"))); } else { echo base64_encode(json_encode(array("status" => 1, "data" => $list, "msg" => "成功"))); } } //流水信息 public function get_amount($time, $id) { switch ($time) { case 'today': $time1 = total(1); break; case 'yes': $time1 = total(5); break; case 'thismonth': $time1 = total(3); break; case 'total': $ids = M('Promote', 'tab_')->where('parent_id=' . $id)->getfield("id", true); if (empty($ids)) { $ids = $id; } else { array_unshift($ids, $id); } if (count($ids) > 1) { $map1['promote_id'] = array('in', $ids); } else { $map1['promote_id'] = $ids; } $map1['pay_status'] = 1; $map1['is_check'] = array('neq', 2); $amount = M('spend', 'tab_')->where($map1)->sum('pay_amount'); return $amount; } $ids = M('Promote', 'tab_')->where(array('parent_id' => $id))->getfield("id", true); if (empty($ids)) { $ids = $id; } else { array_unshift($ids, $id); } if (count($ids) > 1) { $map1['promote_id'] = array('in', $ids); } else { $map1['promote_id'] = $ids; } $map1['pay_status'] = 1; $map1['is_check'] = array('neq', 2); $amount = M('spend', 'tab_')->where($map1)->where(array('pay_time' . $time1))->sum('pay_amount'); return $amount; } //申请游戏 public function apply() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $game = M('Game', 'tab_'); $gdata = $game->where(array('id' => $user['game_id']))->find(); $ratio = $gdata['ratio']; $money = $gdata['money']; $data['game_id'] = $user['game_id']; $data['game_name'] = get_game_name($user['game_id']); $data['promote_id'] = $user["pid"]; $data['promote_account'] = get_promote_name($user["pid"]); $data['apply_time'] = time(); if(C('SET_AUTO_PACK') == 1){ $data['status'] = 1; $data['enable_status'] = 2; }else{ $data['status'] = 0; $data['enable_status'] = 0; } $data['sdk_version'] = $user['sdk_version']; $data['ratio'] = $ratio; $data['money'] = $money; $res = M('Apply', 'tab_')->add($data); if ($res) { echo base64_encode(json_encode(array("status" => 1, "msg" => "申请成功"))); } else { echo base64_encode(json_encode(array("status" => -1, "msg" => "申请失败"))); exit; } } //充值明细 public function pay_details() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map2['promote_id'] = $user['promote_id']; if (substr($user['promote_id'],-3) == 'all'){ if (is_array(get_child_ids($user['promote_id']))) { foreach (get_child_ids($user['promote_id']) as $key => $value) { $asd[] = implode(",", $value); } $map2['promote_id'] = array('in', implode(',', $asd)); } else { $map2['promote_id'] = $user['promote_id']; } }else{ $map2['promote_id'] = $user['promote_id']; } if (isset($user['time_start']) && isset($user['time_end']) && $user['time_start'] != "" && $user['time_end'] != "") { $map2['pay_time'] = array('BETWEEN', array(strtotime($user['time_start']), strtotime($user['time_end']) + 24 * 60 * 60 - 1)); } elseif ($user['time_start'] && $user['time_start'] != "") { $map2['pay_time'] = array('gt', strtotime($user['time_start'])); } elseif ($user['time_end'] && $user['time_end'] != "") { $map2['pay_time'] = array('lt', strtotime($user['time_end']) + 24 * 60 * 60 - 1); } if (isset($user['user_account']) && $user['user_account'] != "") { $map2['user_account'] = array('like', "%" . $user['user_account'] . "%");; } if (isset($user['game_name']) && $user['game_name'] != "") { $map2['game_name'] = array('like', '%' . $user['game_name'] . '%'); } $map2['is_check'] = array('neq', 2); $map2['pay_status'] = 1; if (isset($user['limit'])) { $limit = $user['limit']; } else { $limit = 1; } $model = array('m_name' => 'spend', 'field' => 'id,user_account,game_name,pay_amount,cost,pay_time,pay_way', 'map' => $map2, 'list_row' => 10, 'order' => 'pay_time desc',); $user1 = A('User', 'Event'); $list = $user1->user_join($model, $limit); foreach ($list as &$value) { $value['pay_way'] = get_pay_way($value['pay_way']); } $list_data['all_sum'] = M('spend', 'tab_')->where($map2)->sum('pay_amount') ? M('spend', 'tab_')->where($map2)->sum('pay_amount') : 0; $time1 = total(1); $list_data['count'] = M('spend', 'tab_')->where($map2)->where("pay_time" . $time1)->sum('pay_amount') ? M('spend', 'tab_')->where($map2)->where("pay_time" . $time1)->sum('pay_amount') : 0; echo base64_encode(json_encode(array("status" => 1, "data" => $list, "list_data" => $list_data))); } //充值详情 public function pay_piece() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $arr = M('spend', 'tab_')->where($map)->field('user_account,pay_order_number,order_number,game_name,pay_amount,pay_way,pay_time,cost,promote_account,pay_status ')->find(); $arr['pay_way'] = get_pay_way($arr['pay_way']); $arr['pay_time'] = date('Y-m-d H:i:s', $arr['pay_time']); echo base64_encode(json_encode(array("status" => 1, "data" => $arr))); } //获取二级推广账号 public function get_child_id() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map1['parent_id'] = $user['promote_id']; $map1['id'] = $user['promote_id']; $map1['_logic'] = 'OR'; $arr1 = M('promote', 'tab_')->where($map1)->field('id,account')->order('id asc')->select(); echo base64_encode(json_encode(array("status" => 1, "data" => $arr1))); } //获取二级推广账号 (不包含本身渠道) public function get_child_promote() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map1['parent_id'] = $user['promote_id']; // $map1['id'] = $user['promote_id']; // $map1['_logic'] = 'OR'; $arr1 = M('promote', 'tab_')->where($map1)->field('id,account')->order('id asc')->select(); echo base64_encode(json_encode(array("status" => 1, "data" => $arr1))); } //我的结算 public function settlement() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; if (isset($user['game_name']) && $user['game_name'] != "") { $map['game_name'] = array('like', '%' . $user['game_name'] . '%'); } if (isset($user['limit']) && $user['limit'] != "") { $limit = $user['limit']; } if (isset($user['ti_status']) && $user['ti_status'] != "" && $user['ti_status'] != -2) { $map['ti_status'] = $user['ti_status']; } $res = M('Settlement', 'tab_')->where($map)->field('id,game_name,promote_account,sum_money,ti_status')->page($limit, 10)->select(); unset($map['ti_status']); $res_data['all_sum'] = M('Settlement', 'tab_')->where($map)->sum('sum_money') ? M('Settlement', 'tab_')->where($map)->sum('sum_money') : 0; $res_data['all_success_sum'] = M('Settlement', 'tab_')->where($map)->where('ti_status=1')->sum('sum_money') ? M('Settlement', 'tab_')->where($map)->where('ti_status=1')->sum('sum_money') : 0; $res_data['all_error_sum'] = M('Settlement', 'tab_')->where($map)->where('ti_status!=1')->sum('sum_money') ? M('Settlement', 'tab_')->where($map)->where('ti_status!=1')->sum('sum_money') : 0; echo base64_encode(json_encode(array("status" => 1, "data" => $res, "res_data" => $res_data))); } public function settle_status() { $res_data[0] = array("id" => "-2", "status" => "请选择提现状态"); $res_data[1] = array("id" => "-1", "status" => "未申请"); $res_data[2] = array("id" => "0", "status" => "申请中"); $res_data[3] = array("id" => "1", "status" => "已通过"); $res_data[4] = array("id" => "2", "status" => "未通过"); echo base64_encode(json_encode(array("sta" => 1, "res_data" => $res_data))); } //结算单详情 public function settle_details() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $res = M('settlement', 'tab_')->where($map)->field('settlement_number,game_name,pattern,total_money,total_number,ratio,money,sum_money,status,promote_account')->find(); $res['pattern'] = get_pattern($res['pattern']); echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //申请提现 public function ap_withdraw() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $with = M("withdraw", "tab_"); $seet = M("settlement", "tab_")->where($map)->find(); $with_map['settlement_number'] = $seet['settlement_number']; $fid = $with->where($with_map)->find(); if ($fid == null) { $add['settlement_number'] = $seet['settlement_number']; $add['sum_money'] = $seet['sum_money']; $add['promote_id'] = $seet['promote_id']; $add['promote_account'] = $seet['promote_account']; $add['create_time'] = time(); $add['status'] = 0; $with->add($add); M("settlement", "tab_")->where($map)->save(array('ti_status' => 0)); echo base64_encode(json_encode(array("status" => 1, "msg" => "申请成功"))); } else { echo base64_encode(json_encode(array("status" => 0, "msg" => "申请失败"))); exit; } } //代充记录 public function agent_pay_record() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; if (substr($user['promote_id'],-3) == 'all'){ if (is_array(get_child_ids($map['promote_id']))) { foreach (get_child_ids($map['promote_id']) as $key => $value) { $asd[] = implode(",", $value); } $map['promote_id'] = array('in', implode(',', $asd)); } else { $map['promote_id'] = $user['promote_id']; } }else{ $map['promote_id'] = $user['promote_id']; } if (isset($user['game_name']) && $user['game_name'] != "") { $map['game_name'] = array('like', '%' . $user['game_name'] . '%'); } if (isset($user['user_account']) && $user['user_account'] != "") { $map['user_account'] = array('like', '%' . $user['user_account'] . '%'); } if (isset($user['starttime']) && isset($user['endtime']) && $user['starttime'] != "" && $user['endtime'] != "") { $map['create_time'] = array('BETWEEN', array(strtotime($user['starttime']), strtotime($user['endtime'])+ 24 * 60 * 60 - 1)); } elseif (isset($user['starttime']) && $user['starttime'] != "") { $map['create_time'] = array('gt', strtotime($user['starttime'])); } elseif (isset($user['endtime']) && $user['endtime'] != "") { $map['create_time'] = array('lt', strtotime($user['endtime'])+ 24 * 60 * 60 - 1); } if (isset($user['limit'])) { $limit = $user['limit']; } else { $limit = 1; } $model = array('m_name' => 'agent', 'field' => 'id,game_name,amount,real_amount,user_account,create_time', 'map' => $map, 'list_row' => 10, 'order' => 'create_time desc',); $user1 = A('User', 'Event'); $res = $user1->user_join($model, $limit); foreach ($res as $key => $value) { $res[$key]['user_account'] = $res[$key]['user_account'] ? $res[$key]['user_account'] : ""; } $res_data['all_amount'] = M('agent', 'tab_')->where($map)->sum('amount') ? M('agent', 'tab_')->where($map)->sum('amount') : 0; $res_data['all_real_amount'] = M('agent', 'tab_')->where($map)->sum('real_amount') ? M('agent', 'tab_')->where($map)->sum('real_amount') : 0; $res_data['data_amount'] = M('agent', 'tab_')->where($map)->count() ? M('agent', 'tab_')->where($map)->count() : 0; echo base64_encode(json_encode(array("status" => 1, "data" => $res, "res_data" => $res_data))); } //代充详情 public function agent_pay_details() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $res = M('agent', 'tab_')->where($map)->field('pay_order_number,game_name,user_account,amount,real_amount,pay_way,create_time,pay_status')->find(); $res['create_time'] = date('Y-m-d H:i:s', $res['create_time']); $res['pay_status'] = $res['pay_status'] == 1 ? "成功" : "失败"; $res['pay_way'] = get_pay_way($res['pay_way']); echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //我的资料 public function my_profile() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $res = M('promote', 'tab_')->where($map)->field('id,account,real_name,mobile_phone,email')->find(); echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //修改资料(1:资料,2:密码,3:二级密码) public function modify_profile() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "data" => "数据不能为空"))); exit; } $map['id'] = $user['id']; switch ($user['type']) { case '1': $con['id'] = $user['id']; $result = M('user', 'tab_')->where($con)->field('account')->find(); $map['account'] = $result['account']; $map['real_name'] = $user['real_name']; $map['mobile_phone'] = $user['phone']; $map['email'] = $user['email']; $res = M('promote', 'tab_')->save($map); if ($res) { echo base64_encode(json_encode(array("status" => 1, "data" => "修改成功"))); } else { echo base64_encode(json_encode(array("status" => -1, "data" => "修改失败"))); exit; } break; case '2': $use = new UserApi(); $find = M('promote', 'tab_')->where($map)->field('password')->find(); if (think_ucenter_md5($user['password'], UC_AUTH_KEY) != $find['password']) { echo base64_encode(json_encode(array("status" => -1, "data" => "旧密码错误"))); exit; } else if ($user['new_pass'] != $user['confirm_pass']) { echo base64_encode(json_encode(array("status" => -2, "data" => "确认密码与新密码不同"))); exit; } else { $data['password'] = think_ucenter_md5($user['new_pass'], UC_AUTH_KEY); $res = M('promote', 'tab_')->where($map)->save($data); if ($res) { echo base64_encode(json_encode(array("status" => 1, "data" => "修改成功"))); } else { echo base64_encode(json_encode(array("status" => -1, "data" => "修改失败"))); exit; } } break; case '3': $use = new UserApi(); $find = M('promote', 'tab_')->where($map)->field('second_pwd')->find(); if (think_ucenter_md5($user['second_pwd'], UC_AUTH_KEY) != $find['second_pwd']) { echo base64_encode(json_encode(array("status" => -1, "data" => "旧密码错误"))); exit; } else if ($user['new_second_pass'] != $user['confirm_second_pass']) { echo base64_encode(json_encode(array("status" => -2, "data" => "确认密码与新密码不同"))); exit; } else { $data['second_pwd'] = think_ucenter_md5($user['new_second_pass'], UC_AUTH_KEY); $res = M('promote', 'tab_')->where($map)->save($data); if ($res) { echo base64_encode(json_encode(array("status" => 1, "data" => "修改成功"))); } else { echo base64_encode(json_encode(array("status" => -1, "data" => "修改失败"))); exit; } } break; } } //获取下级玩家id public function get_son_players() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "data" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; $res = M('user', 'tab_')->where($map)->field('id,account')->select(); echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //获取玩家平台币 public function get_players_balance() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "data" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $res = M('user', 'tab_')->where($map)->field('balance')->find(); echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //获取会长余额 public function get_promoter_balance() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "data" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $res = M('promote', 'tab_')->where($map)->field('balance_coin')->find(); echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } private function pay($param = array()) { $out_trade_no = "AG_" . date('Ymd') . date('His') . sp_random_string(4); $user = get_user_entity($param['account'], true); switch ($param['apitype']) { case 'swiftpass': $pay = new \Think\Pay($param['apitype'], $param['config']); break; default: $pay = new \Think\Pay($param['apitype'], C($param['config'])); break; } $vo = new \Think\Pay\PayVo(); $vo->setFee($param['price'])//支付金额 ->setTitle("代充")->setBody("代充")->setOrderNo($out_trade_no)->setService($param['server'])->setSignType($param['signtype'])->setPayMethod("mobile")->setTable("agent")->setPayWay($param['payway'])->setGameId($param['game_id'])->setGameName($param['game_name'])->setGameAppid($param['game_appid'])->setUserId($param['user_id'])->setAccount($user['account'])->setUserNickName($user['nickname'])->setPromoteId($user['promote_id'])->setPromoteName($user['promote_account'])->setExtend($param['extend'])->setSdkVersion($param['sdk_version'])->setParam($param['zhekou'])->setMoney($param['amount']); return $pay->buildRequestForm($vo); } //会长代充,平台币方式 public function agent_pay() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $promote_id = $user['promote_id']; $game_id = $user['game_id']; $account = $user['account']; $map5['account'] = $account; $user_id = M('user', 'tab_')->where($map5)->field('id')->find(); if ($user_id == null) { echo base64_encode(json_encode(array("status" => -5, "msg" => "不存在该玩家"))); exit; } $user_id = $user_id['id']; $user_nickname = M('user', 'tab_')->where($map5)->field('nickname')->find(); $user_nickname = $user_nickname['nickname']; $amount = $user['pay_amount']; $real_amount = $user['real_pay_amount']; $type = $user['pay_type']; $map1['id'] = $game_id; $game_appid = M('game', 'tab_')->where($map1)->field('game_appid')->find(); $game_appid = $game_appid['game_appid']; $promote_account = get_promote_account($promote_id); $map2['id'] = $game_id; $game_name = M('game', 'tab_')->where($map2)->field('game_name')->find(); $game_name = $game_name['game_name']; $map3['promote_id'] = $promote_id; $map3['game_id'] = $game_id; $zhekou = $this->get_in_discount($map3); $map4['game_id'] = $game_id; $map4['user_account'] = $account; $res_player_game = M('user_play', 'tab_')->where($map4)->find(); if ($res_player_game == null) { echo base64_encode(json_encode(array("status" => -4, "msg" => "该玩家没有玩过该游戏"))); exit; } switch ($type) { case 'ptb'://平台币 $map10['id'] = $promote_id; $own_amount = M('promote', 'tab_')->where($map10)->field('balance_coin')->find(); $own_amount = $own_amount['balance_coin']; if ($real_amount > $own_amount) { echo base64_encode(json_encode(array("status" => -3, "msg" => "充值金额大于拥有平台币"))); exit; } $map4['id'] = $promote_id; $res4 = M("Promote", "tab_")->field('second_pwd')->where($map4)->find(); if ($this->think_ucenter_md5($user['code'], UC_AUTH_KEY) != $res4['second_pwd']) { echo base64_encode(json_encode(array("status" => -6, "msg" => "二级密码验证失败"))); exit; } $own_amount = $own_amount - $real_amount; $data['balance_coin'] = $own_amount; $res1 = M('promote', 'tab_')->where($map10)->save($data); if ($res1) { $map5['account'] = $account; $before_amount = M('user', 'tab_')->where($map5)->field('balance')->find(); $before_amount = $before_amount['balance']; $before_amount = $before_amount + $amount; $data2['balance'] = $before_amount; $res2 = M('user', 'tab_')->where($map5)->save($data2); if ($res2) { $data3['order_no'] = "AG_" . date('Ymd') . date('His') . sp_random_string(4); $data3['game_id'] = $game_id; $data3['game_appid'] = $game_appid; $data3['game_name'] = $game_name; $data3['promote_id'] = $promote_id; $data3['promote_account'] = $promote_account; $data3['user_id'] = $user_id; $data3['user_account'] = $account; $data3['user_nickname'] = $user_nickname; $data3['amount'] = $amount; $data3['real_amount'] = $real_amount; $data3['pay_way'] = 4;//平台币 $data3['zhekou'] = $zhekou; $this->add_agent($data3); echo base64_encode(json_encode(array("status" => 1, "msg" => "代充成功"))); } else { echo base64_encode(json_encode(array("status" => -2, "msg" => "代充失败"))); exit; } } else { echo base64_encode(json_encode(array("status" => -1, "msg" => "代充失败"))); exit; } break; case 'zfb': $map4['id'] = $promote_id; $res4 = M("Promote", "tab_")->field('second_pwd')->where($map4)->find(); if ($this->think_ucenter_md5($user['code'], UC_AUTH_KEY) !== $res4['second_pwd']) { echo base64_encode(json_encode(array("status" => -6, "msg" => "二级密码验证失败"))); exit; } $request['promote_id'] = $promote_id; $request['promote_account'] = $promote_account; $request['account'] = $account; $request['game_id'] = $game_id; $request['game_name'] = $game_name; $request['price'] = $real_amount; $request['amount'] = $amount; $request['pay_way'] = 1; $request['user_id'] = $user_id; $request['zhekou'] = $zhekou; $request['game_appid'] = $game_appid; $request['apitype'] = "alipay"; $request['config'] = "alipay"; $request['signtype'] = "MD5"; $request['server'] = "mobile.securitypay.pay"; $request['payway'] = 1; $data22 = $this->pay($request); $md5_sign = $this->encrypt_md5(base64_encode($data22['arg']), "mengchuang"); $data_pay = array("status" => 1, "orderInfo" => base64_encode($data22['arg']), "out_trade_no" => $data22['out_trade_no'], "order_sign" => $data22['sign'], "md5_sign" => $md5_sign); echo base64_encode(json_encode($data_pay)); break; } } public function add_agent($data) { $agent = M("agent", "tab_"); $ordercheck = $agent->where(array('pay_order_number' => $data["order_no"]))->find(); if ($ordercheck) $this->error("订单已经存在,请刷新充值页面重新下单!"); $agnet_data['order_number'] = ""; $agnet_data['pay_order_number'] = $data["order_no"]; $agnet_data['game_id'] = $data["game_id"]; $agnet_data['game_appid'] = $data["game_appid"]; $agnet_data['game_name'] = $data["game_name"]; $agnet_data['promote_id'] = $data["promote_id"]; $agnet_data['promote_account'] = $data["promote_account"]; $agnet_data['user_id'] = $data["user_id"]; $agnet_data['user_account'] = $data["user_account"]; $agnet_data['user_nickname'] = $data["user_nickname"]; $agnet_data['pay_type'] = 0;//代充 转移 $agnet_data['amount'] = $data["amount"]; $agnet_data['real_amount'] = $data["real_amount"]; $agnet_data['pay_status'] = 1; $agnet_data['pay_way'] = $data['pay_way']; $agnet_data['create_time'] = time(); $agnet_data['zhekou'] = $data['zhekou']; $agent->create($agnet_data); $resutl = $agent->add(); } //获取折扣后的真实价格 public function get_real_amount() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; $map['game_id'] = $user['game_id']; $res = M('promote_welfare', 'tab_')->where($map)->find(); if (null !== $res) { $discount_ = $res['promote_discount']; } else { $map2['id'] = $user['game_id']; $discount = M('game', 'tab_')->where($map2)->field('discount')->find(); $discount_ = $discount['discount']; } $real_amount = $user['amount'] * $discount_ / 10; echo base64_encode(json_encode(array("status" => 1, "data" => $real_amount, "data2" => $user['amount']))); } //获取折扣信息 public function get_discount() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['game_id'] = $user['game_id']; $map['promote_id'] = $user['promote_id']; $data = M('promote_welfare', 'tab_')->where($map)->find(); if (empty($data)) { $map1['id'] = $user['game_id']; $game = M('game', 'tab_')->where($map1)->find(); $discount_ = $game['discount']; } else { $discount = discount_data($data); $discount_ = $discount['promote_discount']; } echo base64_encode(json_encode(array("status" => 1, "data" => $discount_))); } //内部用的 public function get_in_discount($user) { $map['promote_id'] = $user['promote_id']; $map['game_id'] = $user['game_id']; $res = M('promote_welfare', 'tab_')->where($map)->find(); if (null !== $res) { $discount_ = $res['promote_discount']; } else { $map2['id'] = $user['game_id']; $discount = M('game', 'tab_')->where($map2)->field('discount')->find(); $discount_ = $discount['discount']; } return $discount_; } //获取子渠道的id和账号 public function get_son_promoter() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $parent_id = M('Promote','tab_')->where(array('id'=>$user['id']))->getField('parent_id'); $map2['parent_id'] = $user['id']; if (empty($parent_id)){ $map2['id'] = $user['id']; $map2['_logic'] = 'OR'; } $res = M('promote', 'tab_')->where($map2)->field('id,account')->select(); $count = count($res); if ($count == 1){ $res = null; } if (!empty($res)){ $all = array(['id'=>$user['id'].",all",'account'=>'全部渠道']); $res = array_merge($all,$res); } echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //会长转移 public function balance_transfer() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['main_id']; $map2['id'] = $user['sub_id']; $map3['id'] = $user['sub_id']; $con = M('promote', 'tab_')->where($map3)->find(); if (!$con) { echo base64_encode(json_encode(array("status" => -5, "msg" => "转移账号不存在"))); exit; } $money_t = $user['amount']; $money = M('promote', 'tab_')->where($map)->field('balance_coin')->find(); $money = $money['balance_coin']; $money2 = M('promote', 'tab_')->where($map2)->field('balance_coin')->find(); $money2 = $money2['balance_coin']; if ($money_t > $money) { echo base64_encode(json_encode(array("status" => -2, "msg" => "您的余额不足"))); exit; } $data['balance_coin'] = $money - $money_t; $res = M('promote', 'tab_')->where($map)->save($data); if ($res) { $data2['balance_coin'] = $money2 + $money_t; $res2 = M('promote', 'tab_')->where($map2)->save($data2); if ($res2) { $data3['main_balance_coin'] = number_format($data['balance_coin'], 2, '.', '');; $data3['sub_balance_coin'] = number_format($data2['balance_coin'], 2, '.', '');; echo base64_encode(json_encode(array("status" => 1, "msg" => "转移成功", "data1" => $data3))); $data['promote_id'] = $user['main_id']; $data['promote_type'] = 1; $data['num'] = $money_t; $data['create_time'] = time(); $data['op_id'] = 0; $data['type'] = 2; $data['source_id'] = $user['sub_id']; M('promote_coin', 'tab_')->add($data); $data2['promote_id'] = $user['sub_id']; $data2['promote_type'] = 2; $data2['num'] = $money_t; $data2['create_time'] = time(); $data2['op_id'] = 0; $data2['type'] = 1; $data2['source_id'] = $user['main_id']; M('Promote_coin', 'tab_')->add($data2); } else { echo base64_encode(json_encode(array("status" => -2, "msg" => "转移失败"))); exit; } } else { echo base64_encode(json_encode(array("status" => -2, "msg" => "转移失败"))); exit; } } //获取会长联系人电话邮箱 public function promote_info() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['id']; $res = M('promote', 'tab_')->field('real_name,mobile_phone,email')->where($map)->find(); if ($res['real_name'] == null) { $res['real_name'] = ''; } if ($res['mobile_phone'] == null) { $res['mobile_phone'] = ''; } if ($res['email'] == null) { $res['email'] = ''; } echo base64_encode(json_encode(array("status" => 1, "data" => $res))); } //渠道转移记录 public function promote_transfe() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['promote_id'] = $user['promote_id']; $map['source_id'] = array('gt',0); if (isset($user['child_promote_id']) && substr($user['child_promote_ud'],-3)=='all') { if ($map['promote_id'] == $user['child_promote_id']) { unset($user['child_promote_id']); } else { $map['source_id'] = $user['child_promote_id']; } }elseif(isset($user['child_promote_id'])){ $map['source_id'] = $user['child_promote_id']; } if (isset($user['start_time']) && isset($user['end_time']) && $user['start_time'] != "" && $user['end_time'] != "") { $map['create_time'] = array('BETWEEN', array(strtotime($user['start_time']), strtotime($user['end_time']) + 24 * 60 * 60 - 1)); } elseif (isset($user['start_time']) && $user['start_time'] != "") { $map['create_time'] = array('gt', strtotime($user['start_time'])); } elseif (isset($user['end_time']) && $user['end_time'] != "") { $map['create_time'] = array('lt', strtotime($user['end_time']) + 24 * 60 * 60 - 1); } $page = $user['limit'] ? $user['limit'] : 1; $res = M('PromoteCoin', 'tab_')->field('id,source_id,num,create_time')->where($map)->order('create_time desc')->page($page, 8)->select(); foreach ($res as &$value) { $value['promote_id'] = get_promote_account($value['source_id']); } $all_list = M('PromoteCoin', 'tab_')->where($map)->count(); $time = date("Y-m-d", time()); $time = strtotime($time); $map['create_time'] = array('gt', $time); $today_list = M('PromoteCoin', 'tab_')->where($map)->count(); echo base64_encode(json_encode(array("status" => 1, "data" => $res, "all_list" => $all_list, "today_list" => $today_list))); } function think_ucenter_md5($str, $key = 'ThinkUCenter') { return '' === $str ? '' : md5(sha1($str) . $key); } //验证会长二级密码 public function promote_code() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); $use = new UserApi(); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['promote_id']; $res = M('Promote', 'tab_')->field('second_pwd')->where($map)->find(); if ($this->think_ucenter_md5($user['second_pwd'], UC_AUTH_KEY) == $res['second_pwd']) { echo base64_encode(json_encode(array("status" => 1, "msg" => "验证成功"))); } else { echo base64_encode(json_encode(array("status" => 0, "msg" => "验证失败"))); } } //设置会长二级密码 public function set_promote_code() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['promote_id']; $res1 = M('Promote', "tab_")->field('second_pwd')->where($map)->find(); if ($res1['second_pwd'] != null) { echo base64_encode(json_encode(array("status" => -2, "msg" => "该渠道已经设置二级密码了"))); exit; } $use = new UserApi(); $data = array("second_pwd" => $this->think_ucenter_md5($user['second_pwd'], UC_AUTH_KEY),); $res = M('Promote', "tab_")->where($map)->save($data); if ($res) { echo base64_encode(json_encode(array("status" => 1, "msg" => "二级密码设置成功"))); exit; } else { echo base64_encode(json_encode(array("status" => 0, "msg" => "二级密码设置失败"))); exit; } } /** * [判断该渠道是否设置了二级密码] * @author 幽灵[syt] */ public function get_promote_code_status() { $user = json_decode(base64_decode(file_get_contents("php://input")), true); if (empty($user)) { echo base64_encode(json_encode(array("status" => -1, "msg" => "数据不能为空"))); exit; } $map['id'] = $user['promote_id']; $res1 = M('Promote', "tab_")->field('second_pwd')->where($map)->find(); if ($res1['second_pwd'] != null) { echo base64_encode(json_encode(array("status" => 1, "msg" => "该渠道已经设置二级密码"))); exit; } else { echo base64_encode(json_encode(array("status" => 0, "msg" => "该渠道没有设置二级密码"))); exit; } } }