<?php
namespace Biz\Money;

/**
 * 资金操作相关类
 */
class Moneycopy {
	/**
	 * 资金明细表
	 * @var string
	 */
	private $money_table = 'fund_detailed';
	/**
	 * 用户详情表
	 * @var string
	 */
	private $account_detailed = 'account_detailed';
	/**
	 * 用户银行绑定记录表
	 * @var string
	 */
	private $bank_table = 'account_bank';
	/**
	 * 用户表
	 * @var string
	 */
	private $account_table = 'account';
	/**
	 * 交易密码表
	 * @var string
	 */
	private $pay_password = 'pay_password';
	/**
	 * 代理信息表
	 * @var string
	 */
	private $agent = 'agent_detailed';
	/**
	 * 代理资金表
	 * @var string
	 */
	private $agent_money = 'agent_money';
	/**
	 * 佣金记录表
	 * @var string
	 */
	private $money_reward = 'money_reward';
	/**
	 * 资金明细表
	 * @var string
	 */
	private $money_details = 'money_details';
	/**
	 * 中奖记录表
	 * @var string
	 */
	private $prize_table = 'money_prize';
	/**
	 * 提现记录表
	 * @var string
	 */
	private $money_take = 'money_take';
	/**
	 * 充值记录
	 * @var string
	 */
	private $money_recharge = 'money_recharge';
	/**
	 * 反水记录表
	 * @var string
	 */
	private $money_back = 'money_back';
	/**
	 * 回水记录表
	 * @var string
	 */
	private $money_return = 'money_return';
	//private $game;
	public function init() {

	}

	/**
	 * 绑定银行卡
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $bank_address     开户银行地址
	 * @param  [type] $bank_name        银行名称
	 * @param  [type] $bank_no          银行卡号
	 * @param  [type] $bank_user        银行卡用户
	 * @param  [type] $pay_pwd          支付密码
	 * @param  [type] $sure_pwd         确认密码
	 * @return [type]                   [description]
	 */
	public function bind_bank($account_identity, $bank_address, $bank_name, $bank_no, $bank_user, $pay_pwd, $sure_pwd) {
		//判断重要参数是否为空
		if (empty($account_identity)) {
			//Render('null','-2001',lang()->get('user not login'));
			return '-2001';
		}
		if (empty($bank_address)) {
			//Render('null','-2002',lang()->get('bank_address missing'));
			return '-2002';
		}
		if (empty($bank_name)) {
			//Render('null','-2003',lang()->get('bank_name missing'));
			return '-2003';
		}
		if (empty($bank_no)) {
			//Render('null','-2004',lang()->get('bank_number missing'));
			return '-2004';
		}
		if (empty($bank_user)) {
			//Render('null','-2005',lang()->get('bank_user missing'));
			return '-2005';
		}
		if (empty($pay_pwd) || empty($sure_pwd)) {
			//Render('null','-2006',lang()->get('password missing'));
			return '-2006';
		}
		//判断两次交易密码是否一致
		if ($pay_pwd != $sure_pwd) {
			//Render('null','-2007',lang()->get('two password not equal'));
			return '-2007';
		}
		//验证用户是否已设置交易密码
		$enc = lm($this->pay_password, 'commons')->select('encryption')->where('account_identity', $account_identity)->first()->toArray();
		$VerPwd = md5(md5($enc["encryption"] . $pay_pwd));
		$judge = lm($this->pay_password, 'commons')->where(['account_identity' => $account_identity, 'pay_password' => $VerPwd])->first();
		if (empty($judge)) {
			//Render('null','-2008',lang()->get('pay_pwd not set'));
			return '-2008';
		}
		//验证交易密码
		if (!$this->verifyPayPwd($account_identity, $pay_pwd)) {
			return '-2020';
		}
		//验证用户是否已经绑定了该银行卡
		$res = lm($this->bank_table, 'commons')->where(['account_identity' => $account_identity, 'bank_number' => $bank_no])->first();
		if ($res) {
			return '-2033';
		}
		//为用户绑定银行卡
		$data = array(
			'identity' => UUID(),
			'account_identity' => $account_identity,
			'bank_address' => $bank_address,
			'bank_name' => $bank_name,
			'account_name' => $bank_user,
			'bank_number' => $bank_no,
			'band_time' => date('Y-m-d H:i:s', time()),
		);
		$res = lm($this->bank_table, 'commons')->insert($data);
		if ($res) {
			//Render('null','1',lang()->get('success'));
			return 1;
		} else {
			//Render('null','-2009',lang()->get('fail'));
			return '-2009';
		}
	}
	/**
	 * 设置默认银行卡或者解绑银行卡
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $bank_no          银行卡号
	 * @param  [type] $pay_pwd          交易密码
	 * @param  [type] $type             类型 1.设置默认银行卡，-1，解除该银行卡绑定
	 * @return [type]                   [description]
	 */
	public function bankStatus($account_identity, $bank_no, $pay_pwd, $type) {
		if ($type == 1) {
			$type = 2;
		}
		if (!$this->verifyPayPwd($account_identity, $pay_pwd)) {
			return '-2020';
		}
		$res = lm($this->bank_table, 'commons')->where(['account_identity' => $account_identity, 'bank_number' => $bank_no])->update(['status' => $type]);
		if ($res) {
			return '1';
		} else {
			return '-2016';
		}
	}
	/**
	 * 设置交易密码
	 * @param [type] $account_identity 用户id
	 * @param [type] $pay_pwd 			密码
	 * @param [type] $sure_pwd         确认密码
	 */
	public function setPayPwd($account_identity, $pay_pwd, $sure_pwd) {
		//判断重要参数是否为空
		if (empty($account_identity)) {
			//Render('null','-2010',lang()->get('user not login'));
			return '-2010';
		}
		if (empty($pay_pwd) || empty($sure_pwd)) {
			//Render('null','-2011',lang()->get('password missing'));
			return '-2006';
		}
		//判断两次交易密码是否一致
		if ($pay_pwd != $sure_pwd) {
			//Render('null','-2012',lang()->get('two password not equal'));
			return '-2007';
		}
		//检查用户是否已经设置密码
		$judge = lm($this->pay_password, 'commons')->where(['account_identity' => $account_identity])->first();
		if ($judge) {
			return '-2017';
		}
		//为用户设置交易密码
		$pwd = GenPassword($pay_pwd);
		$data = array(
			'identity' => UUID(),
			'pay_password' => $pwd['password'],
			'encryption' => $pwd['encryption'],
			'account_identity' => $account_identity,
		);
		$res = lm($this->pay_password, 'commons')->insert($data);
		if ($res) {
			//Render('null','1',lang()->get('success'));
			return '1';
		} else {
			//Render('null','-2013',lang()->get('fail'));
			return '-2013';
		}
	}

	/**
	 * 投注追号
	 * @param  [type] $user_id 用户id
	 * @param  [type] $money   投注追号金额
	 * @param  array  $extra   其他数据
	 * @return [type]          [description]
	 */
	public function betting($user_id, $money, $extra = array()) {
		$type = 1;
		//处理数据
		if (isset($extra['type_name']) && !empty($extra['type_name'])) {
			$game = new \Biz\Game\GameQuery;
			$res = $game->getGameInfo($extra['type_name']);
			$extra['game_type'] = $res['identity'];
			unset($extra['type_name']);
		}
		$data = $extra;
		return $this->updateMoney($user_id, $money, $type, $data);
	}
	/**
	 * 中奖
	 */
	public function prize($user_id, $money, $game_type, $buy_identity) {
		$type = 0;
		$data['money_type'] = 7;
		$data['identity'] = UUID();
		$data['order_id'] = OrderID();
		$data['game_type'] = $game_type;
		$data['buy_identity'] = $buy_identity;
		return $this->updateMoney($user_id, $money, $type, $data);
	}

	/**
	 * 充值
	 * @param $user_id 用户id
	 * @param $money 充值金额
	 * @param array $extra 其他参数数组
	 */
	public function addMoney($user_id, $money, $extra = array()) {
		$type = 0;
		$data = $extra;
		$data['money_type'] = 3;
		//$data['identity']= UUID();
		$data['order_id'] = OrderID();
		return $this->updateMoney($user_id, $money, $type, $data);
	}
	/**
	 * 提现
	 * @param  array  $user_id 用户id
	 * @param  array  $money 提现金额
	 * @param  array  $pay_pwd 交易密码
	 * @return [type]       [description]
	 */
	public function takeMoney($user_id, $money, $pay_pwd, $bank_no) {
		if ($money < 100) {
			return '-2112';
		}
		$account = $this->getAccount($user_id);
		if (!$this->verifyAccount($account['available_cash'], $account['cash'], $account['frozen_cash'])) {
			return '-2021';
		}
		if (!$this->verifyMoney($money, $account['available_cash'])) {
			return '-2022';
		}
		//验证交易密码
		if (!$this->verifyPayPwd($user_id, $pay_pwd)) {
			return '-2020';
		}
		$data['account_identity'] = $user_id;
		$data['account_name'] = $account['account_name'];
		$data['identity'] = UUID();
		$data['order_id'] = OrderID();
		$data['money_time'] = date('Y-m-d H:i:s', time());
		$data['money_date'] = date('Y-m-d', time());
		$data['money_type'] = 4;
		$data['remarks'] = $bank_no;
		$data['money'] = $money;
		$res = lm($this->money_table, 'commons')->insert($data);
		if ($res) {
			//Render('null','1',lang()->get('success'));
			return '1';
		} else {
//			Render('null','-2014',lang()->get('cash fail'));
			return '-2014';
		}
	}

	/**
	 * 更新资金
	 * @param  [type]  $user_id 用户id
	 * @param  [type]  $money   操作金额
	 * @param  integer $type    变化资金类型
	 * @param  array   $extra   扩展数组
	 * @return [type]           [description]
	 */
	public function updateMoney($user_id, $money, $type = 0, $extra = array()) {
		if (empty($extra['game_type'])) {
			$extra['game_type'] = 1;
		}
		$extra['buy_identity'] = isset($extra['buy_identity']) ? $extra['buy_identity'] : '';
		$account = $this->getAccount($user_id); //获取用户信息
		//验证账户异常
		if (!$this->verifyAccount($account['available_cash'], $account['cash'], $account['frozen_cash'])) {
			return 'error-2021';
		}
		//验证用户金额
		if (!$this->verifyMoney($money, $account['available_cash'])) {
			return 'error-2022';
		}
		//判断是那种更新
		if ($type == 0) {
			//增加资金
			$nowMoney = $account['available_cash'] + $money;
			$now_allMoney = $account['cash'] + $money;
		} else {
			//资金减少
			$nowMoney = $account['available_cash'] - $money;
			$now_allMoney = $account['cash'] - $money;
		}
		//更新用户余额
		$res = lm($this->account_detailed, 'Commons')
			->where('account_identity', $user_id)
			->update(
				['cash' => $now_allMoney, 'available_cash' => $nowMoney]
			);
		if (!$res) {
//	  	Render('null','-2015',lang()->get('change fail'));
			return 'error-2016';
		}
		//查询剩余金额
		$extra['money_cash'] = lm($this->account_detailed, 'Commons')->where('account_identity', $user_id)->value('cash');
//		$data = array(
//			'identity' => UUID(),
//			'account_identity' => $user_id,
//			'account_name' => $account['account_name'],
//			'money_type' => $extra['money_type'],
//			'money' => $money,
//			'remarks' => $extra['buy_identity'],
//			'order_id' => $extra['order_id'],
//			'money_time' => date('Y-m-d H:i:s', time()),
//			'money_date' => date('Y-m-d', time()),
//			'game_type' => $extra['game_type'],
//			'cur_cash' => $nowMoney,
//			'status' => 1,
//		);
//		$result = lm($this->money_table, 'commons')->insert($data);
		$data = array(
			'info_identity' => UUID(),
			'trade_id' => $extra['order_number'],
			'account_name' => $account['account_name'],
			'account_identity'=> account_identity,
			'money_type' => $extra['money_type'],//1.增加 2.减少
			'money' => $money,
			'money_time'=>$extra['money_time'],
			'money_cash' => $extra['money_cash'],//剩余金额
			'trade_type' => $extra['trade_type'],//交易类型
			'trade_desc' => $extra['trade_desc'],//交易描述
			'reason' => $extra['reason'],//理由
//			'status' => $extra['status'], //1.成功，2失败
		);
		$result = lm('Money_details', 'commons')->insert($data);
		if (!$result) {
//	  	Render('null','2014',lang()->get('change fail'));
			return 'error-2016';
		}
		//Render('null','1',lang()->get('success'));
		return '1';
	}
	/**
	 * 撤单
	 * @param  [type] $user_id  用户id
	 * @param  [type] $order_id 订单id
	 * @param  [type] $money 	操作金额
	 * @return [type]           [description]
	 */
	public function cancel($user_id, $order_id) {
		$money = lm($this->money_table, 'commons')->where('order_id', $order_id)->first()->money;
		$account = $this->getAccount($user_id);
		$nowMoney = $account['available_cash'] + $money;
		$now_allMoney = $account['cash'] + $money;
		//更新用户金额
		$res = lm($this->account_detailed, 'Commons')
			->where('account_identity', $user_id)
			->update(
				['cash' => $now_allMoney, 'available_cash' => $nowMoney]
			);
		if ($res) {
			return '-2034';
		}
		//修改状态
		$res = lm($this->money_table, 'commons')->where('order_id', $order_id)->update(['state' => '0']);
		if ($res) {
			return '-2034';
		}
		return '1';
	}

	/**
	 * 验证账户金额是否足够
	 * @param  [type] $money          操作所需金额
	 * @param  [type] $available_cash 账户可用金额
	 * @return [type]                 [description]
	 */
	public function verifyMoney($money, $available_cash) {
		if ($available_cash > $money) {
			return true;
		} else {
			return false;
		}
	}
	/**
	 * 验证账户金额是否异常
	 * @param  [type] $available_cash 账户可用金额
	 * @param  [type] $cash           账户总金额
	 * @param  [type] $frozen_cash    冻结金额
	 * @return [type]                 true or FALSE
	 */
	public function verifyAccount($available_cash, $cash, $frozen_cash) {
		if ($cash == $available_cash + $frozen_cash) {
			return true;
		} else {
			return false;
		}
	}
	/**
	 * 验证交易密码
	 * @param  [type] $account_identity 用户唯一id
	 * @param  [type] $pwd              密码
	 * @return [type]                   true or false
	 */
	public function verifyPayPwd($account_identity,$pwd) {
		$enc = lm($this->pay_password,'commons')->select('encryption')->where('account_identity', $account_identity)->first();
		dump($enc);die;
//		->toArray()
		$VerPwd = md5(md5($enc["encryption"] . $pwd));
		$res = lm($this->pay_password,'commons')->where(['account_identity' => $account_identity, 'pay_password' => $VerPwd])->first();
		if ($res) {
			return true;
		} else {
			return false;
		}
	}
	/**
	 * 获取用户信息
	 * @param  [type] $account_identity 用户唯一id
	 * @return [type]                   用户资金相关数组
	 */
	public function getAccount($account_identity) {
		$data = array();
		$res = lm($this->account_detailed, 'Commons')
			->select('available_cash', 'cash', 'frozen_cash', 'account_identity')
			->where('account_identity', $account_identity)
			->first()
			->toArray();
		$res2 = lm($this->account_table, 'commons')->select('account')->where('identity', $account_identity)->first()->toArray();
		$data = $res;
		$data['account_name'] = $res2['account'];
		return $data;
	}
	/**
	 * 根据代理id获取代理信息
	 * @param  [string] $agent_id 代理id
	 * @return [array]          代理相关信息
	 */
	public function getAgent($agent_id) {
		$res = lm($this->agent, 'Commons')
			->select('agent_user', 'agent_identity', 'take_money')
			->where('agent_identity', $agent_id)
			->first();
		if ($res) {
			$agent = $res->toArray();
		} else {
			return '-2001';
		}
		return $agent;
	}
	/**
	 * 新中奖信息
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $money            金额
	 * @param  [type] $game_name        游戏英文名
	 * @return [type]                   [description]
	 */
	public function newPrize($account_identity, $money, $game_name, $buy_id) {
		$game = new \Biz\Game\GameQuery;
		//获取游戏信息
		$game = $game->getGameInfo($game_name);
		//获取用户信息
		$account = $this->getAccount($account_identity);
		//生成订单id
		$order_id = OrderID();
		//生成信息id
		$info_id = UUID();
		//将中奖插入中奖记录
		$data = array(
			'game_name' => $game['name'],
			'buy_id' => $buy_id,
			'account_name' => $account['account_name'],
			'account_identity' => $account_identity,
			'order_id' => $order_id,
			'info_identity' => $info_id,
			'money' => $money,
			'money_time' => date('Y-m-d H:i:s', time()),
		);
		$res = lm($this->prize_table, 'Commons')->insert($data);
		if ($res) {
			$type = 4;
			return $this->insertMoney($account_identity, $money, $order_id, $type);
		} else {
			return '-2113';
		}
	}
	/**
	 * 申请提现接口
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $money            金额
	 * @param  [type] $bank_no          银行卡号
	 * @param  [type] $pwd              支付密码
	 * @return [type]                   [description]
	 */
	public function apply_money($account_identity, $money, $bank_no, $pwd) {
		//验证交易密码
		/*if (!$this->verifyPayPwd($account_identity, $pwd)) {
			return -2020;
		}*/
		//获取用户信息
		$account = $this->getAccount($account_identity);
		//获取用户银行卡信息
		$bank_info = $this->getBankInfo($account_identity, $bank_no);
		//生成订单id
		$order_id = OrderID();
		//插入提现申请记录
		$data = array(
			'info_identity' => UUID(),
			'order_id' => $order_id,
			'account_identity' => $account_identity,
			'account_name' => $account['account_name'],
			'money' => $money,
			'apply_time' => date('Y-m-d H:i:s', time()),
			'bank_no' => $bank_no,
			'bank_address' => $bank_info['bank_address'],
			'bank_user' => $bank_info['account_name'],
			'status' => 1,
		);
		$res = lm($this->money_take, 'Commons')->insert($data);
		if ($res) {
			return $this->insertMoney($account_identity, $money, $order_id, 5);
		} else {
			return -2113;
		}
	}
	/**
	 * 通过审核
	 * @param  [type] $identity 信息id
	 * @return [type]           [description]
	 */
	public function pass_take($identity) {
		# code...
	}
	/**
	 * 完成提现
	 * @param  [type] $identity 信息id
	 * @return [type]           [description]
	 */
	public function give_take($identity) {

	}
	/**
	 * 购买
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $money            金额
	 * @param  [type] $order_id         订单号
	 * @param  [type] $type             购买类型，1，投注 2，追号
	 * @return [type]                   [description]
	 */
	public function buy_money($account_identity, $money, $order_id, $type) {
		return $this->insertMoney($account_identity, $money, $order_id, $type);
	}
	/**
	 * 充值记录
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $money            金额
	 * @param  [type] $type             充值方式
	 * @return [type]                   [description]
	 */
	public function recharge_money($account_identity, $money, $type) {
		$type = 6;
		//获取用户信息
		$account = $this->getAccount($account_identity);
		//生成订单id
		$order_id = OrderID();
		//充值记录
		$data = array(
			'info_identity' => UUID(),
			'order_id' => $order_id,
			'begin_time' => date('Y-m-d H:i:s', time()),
			'money' => $money,
			'account_name' => $account['account_name'],
			'account_identity' => $account_identity,
			'status' => 1,
			'recharge_type' => $type,
		);
		$res = lm($this->money_recharge, 'Commons')->insert($data);
		if ($res) {
			return $this->insertMoney($account_identity, $money, $order_id, 6);
		} else {
			return -2113;
		}
	}
	/**
	 * 反水记录增加
	 * @param  string $account_identity 用户id
	 * @param  [type] $money            金额
	 * @param  string $game_name        游戏名
	 * @param  string $buy_id           购买记录id
	 * @param  [type] $ratio            反水比例
	 * @return [type]                   [description]
	 */
	public function back_money($account_identity, $money, $game_name, $buy_id, $ratio) {
		//获取用户信息
		$account = $this->getAccount($account_identity);
		//获取游戏信息
		$game = new \Biz\Game\GameQuery;
		$game_info = $game->getGameInfo($game_name);
		//生成订单id
		$order_id = OrderID();
		//插入反水信息
		$data = array(
			'info_identity' => UUID(),
			'order_id' => $order_id,
			'account_name' => $account['account_name'],
			'account_identity' => $account_identity,
			'game_name' => $game_info['name'],
			'game_id' => $game_info['identity'],
			'buy_identity' => $buy_id,
			'money' => $money,
			'ratio' => $ratio,
			'money_time' => date('Y-m-d H:i:s', time()),
		);
		$res = lm($this->money_back, 'Commons')->insert($data);
		if ($res) {
			return $this->insertMoney($account_identity, $money, $order_id, 7);
		} else {
			return -2113;
		}
	}
	/**
	 * 回水操作
	 * @param  string $account_identity 用户id
	 * @param  string $money            金额
	 * @param  string $ratio            回水比例
	 * @param  string $total_money      亏损总金额
	 * @return [type]                   [description]
	 */
	public function return_money($account_identity, $money, $ratio, $total_money) {
		//获取用户信息
		$account = $this->getAccount($account_identity);
		//生成订单id
		$order_id = OrderID();
		//加入回水记录
		$data = array(
			'info_identity' => UUID(),
			'order_id' => $order_id,
			'account_name' => $account['account_name'],
			'account_identity' => $account_identity,
			'money' => $money,
			'ratio' => $ratio,
			'total_money' => $total_money,
			'money_time' => date('Y-m-d H:i:s'),
		);
		$res = lm($this->money_return, 'Commons')->insert($data);
		if ($res) {
			return $this->insertMoney($account_identity, $money, $order_id, 8);
		} else {
			return -2113;
		}
	}
	/**
	 * 管理员扣款
	 * @param  [type] $account_identity 用户id
	 * @param  [type] $money            金额
	 * @return [type]                   [description]
	 */
	public function cut_money($account_identity, $money) {
		//生成订单id
		$order_id = OrderID();
		return $this->insertMoney($account_identity, $money, $order_id, 9);
	}
	/**
	 * 资金记录修改
	 * @param  string $account_identity 用户id
	 * @param  string $money            金额
	 * @param  订单号 $order_id         订单号
	 * @param  int    $type             交易类型
	 * @return [type]                   [description]
	 */
	public function insertMoney($account_identity, $money, $order_id, $type) {
		//获取用户信息
		$account = $this->getAccount($account_identity);
		//获取money_type
		$m_type = $this->getMtype($type);
		//总资金记录表
		if ($m_type == 1) {
			$nowMoney = $account['available_cash'] + $money;
			$nowCash = $account['cash'] + $money;
		} else {
			$nowMoney = $account['available_cash'] - $money;
			$nowCash = $account['cash'] - $money;
		}
		//获取描述信息
		$trade_desc = $this->getDesc($account['account_name'], $money, $order_id, $type);
		//获取状态
		//$status = $this->getStatus($type);
		$data2 = array(
			'info_identity' => UUID(),
			'trade_id' => $order_id,
			'account_name' => $account['account_name'],
			'account_identity' => $account_identity,
			'money' => $money,
			'money_time' => date('Y-m-d H:i:s', time()),
			'money_type' => $m_type,
			'money_cash' => $nowMoney,
			//'status' => $status,
			'trade_type' => $type,
			'trade_desc' => $trade_desc,
		);
		$res2 = lm($this->money_details, 'Commons')->insert($data2);
		if ($res2) {
			//更新用户余额
			$update = array(
				'available_cash' => $nowMoney,
				'cash' => $nowCash,
			);
			$res3 = lm($this->account_detailed, 'Commons')->where('account_identity', $account_identity)->update($update);
			if ($res3) {
				return 1;
			} else {
				return -2113;
			}
		} else {
			return -2113;
		}
	}
	/**
	 * 获取描述信息
	 * @param  string $account_name 用户名
	 * @param  string $money        金额
	 * @param  string $order_id     订单号
	 * @param  int 	$type         操作类型
	 * @return [type]               [description]
	 */
	public function getDesc($account_name, $money, $order_id, $type) {
		switch ($type) {
		case 1:
			return $account_name . '投注' . $money . '元。' . '订单号' . $order_id;
			break;
		case 2:
			return $account_name . '追号' . $money . '元。' . '订单号' . $order_id;
			break;
		case 3:
			return $account_name . '撤单' . '订单号' . $order_id;
			break;
		case 4:
			return $account_name . '中奖' . $money . '元。' . '订单号' . $order_id;
			break;
		case 5:
			return $account_name . '申请提现' . $money . '元。' . '订单号' . $order_id;
			break;
		case 6:
			return $account_name . '充值' . $money . '元。' . '订单号' . $order_id;
			break;
		case 7:
			return $account_name . '反水' . $money . '元。' . '订单号' . $order_id;
			break;
		case 8:
			return $account_name . '回水' . $money . '元。' . '订单号' . $order_id;
			break;
		case 9:
			return $account_name . '管理员扣款' . $money . '元。' . '订单号' . $order_id;
			break;
		case 10:
			return $account_name . '佣金提成' . $money . '元。' . '订单号' . $order_id;
			break;
		default:
			return '';
			break;
		}
	}
	/**
	 * 获取状态
	 * @param  [type] $type 操作类型
	 * @return [type]       [description]
	 */
	public function getStatus($type) {
		$arr = array(
			'1' => '投注',
			'2' => '追号',
			'3' => '撤单',
			'4' => '派奖',
			'5' => '审核中',
			'6' => '待支付',
			'7' => '成功',
			'8' => '成功',
			'9' => '扣款',
			'10' => '佣金提成',
		);
		return $arr[$type];

	}
	/**
	 * 返回money_type
	 * @param  [type] $type 类型
	 * @return [type]       [description]
	 */
	public function getMtype($type) {
		$arr = array(
			'1' => 2,
			'2' => 2,
			'3' => 1,
			'4' => 1,
			'5' => 2,
			'6' => 1,
			'7' => 1,
			'8' => 1,
			'9' => 2,
			'10' => 1,
		);
		return $arr[$type];
	}
	/**
	 * 获取用户绑定银行卡信息
	 * @param  [type] $account_identity 用户唯一id
	 * @param  [type] $bank_no          银行卡号
	 * @return [type]                   [description]
	 */
	public function getBankInfo($account_identity, $bank_no) {
		$res = lm($this->bank_table, 'Commons')
			->select('bank_number', 'account_name', 'bank_address')
			->where(['account_identity' => $account_identity, 'bank_number' => $bank_no])
			->first();
		if ($res) {
			$data = $res->toArray();
		} else {
			return -2114;
		}
		return $data;
	}

}
?>