|
|
|
@ -31,6 +31,12 @@ class Pay
|
|
|
|
|
*/
|
|
|
|
|
private $apitype;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 推广员服务
|
|
|
|
|
* @var PromoteService
|
|
|
|
|
*/
|
|
|
|
|
private $promoteService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 构造方法,用于构造上传实例
|
|
|
|
|
* @param string $driver 要使用的支付驱动
|
|
|
|
@ -49,6 +55,7 @@ class Pay
|
|
|
|
|
/* 设置支付驱动 */
|
|
|
|
|
$class = strpos($driver, '\\') ? $driver : 'Think\\Pay\\Driver\\' . ucfirst(strtolower($driver));
|
|
|
|
|
$this->setDriver($class, $config);
|
|
|
|
|
$this->promoteService = new PromoteService();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function isKBCPartner($promoteId)
|
|
|
|
@ -324,15 +331,26 @@ class Pay
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getMarketAdminId($promoteId)
|
|
|
|
|
public function getPromoteById($promoteId)
|
|
|
|
|
{
|
|
|
|
|
$promote = M('promote', 'tab_')->field(['id', 'chain', 'level', 'admin_id'])->where(['id' => $promoteId])->find();
|
|
|
|
|
$marketAdminId = 0;
|
|
|
|
|
if ($promote) {
|
|
|
|
|
$topPromote = (new PromoteService)->getTopPromote($promote);
|
|
|
|
|
$marketAdminId = $topPromote['admin_id'];
|
|
|
|
|
return $this->promoteService->getPromoteById($promoteId, ['top']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getMarketAdminId($promote)
|
|
|
|
|
{
|
|
|
|
|
return $this->promoteService->getMarketAdminIdByPromote($promote);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getIsCheckValue($promote, $gameId)
|
|
|
|
|
{
|
|
|
|
|
if (is_null($promote)) {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
if ($this->promoteService->isGameIdSettle($promote, $gameId)) {
|
|
|
|
|
return 1;
|
|
|
|
|
} else {
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
return $marketAdminId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -340,6 +358,8 @@ class Pay
|
|
|
|
|
*/
|
|
|
|
|
private function add_spend(Pay\PayVo $vo, $param=array(), $payConf = array())
|
|
|
|
|
{
|
|
|
|
|
$promote = $this->getPromoteById($vo->getPromoteId());
|
|
|
|
|
|
|
|
|
|
$spend = M("spend", "tab_");
|
|
|
|
|
$spend_data['user_id'] = $vo->getUserId();
|
|
|
|
|
$spend_data['user_account'] = $vo->getAccount();
|
|
|
|
@ -371,7 +391,8 @@ class Pay
|
|
|
|
|
$spend_data['extend'] = $vo->getExtend();
|
|
|
|
|
$spend_data['spend_ip'] = get_client_ip();
|
|
|
|
|
$spend_data['sdk_version'] = $vo->getSdkVersion();
|
|
|
|
|
$spend_data['market_admin_id'] = $this->getMarketAdminId($vo->getPromoteId());
|
|
|
|
|
$spend_data['market_admin_id'] = $this->getMarketAdminId($promote);
|
|
|
|
|
$spend_data['is_check'] = $this->getIsCheckValue($promote, $vo->getGameId());
|
|
|
|
|
/* if ($isKBCPartner) {
|
|
|
|
|
$spend_data['partner_type'] = 1;
|
|
|
|
|
} */
|
|
|
|
@ -399,6 +420,9 @@ class Pay
|
|
|
|
|
$uc_user = $uc->get_user_from_uid($vo->getUserId());
|
|
|
|
|
$uc_id = $uc->uc_deposit($vo->getUserId(), $vo->getAccount(), $vo->getUserNickName(), $vo->getGameId(), $vo->getGameAppid(), $vo->getGameName(), 0, '', $vo->getPromoteId(), $vo->getPromoteName(), "", $vo->getOrderNo(), $vo->getFee(), time(), $vo->getExtend(), $vo->getPayWay(), get_client_ip(), '', 5, $uc_user['platform'], '', '');
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
$promote = $this->getPromoteById($vo->getPromoteId());
|
|
|
|
|
|
|
|
|
|
$deposit = M("deposit", "tab_");
|
|
|
|
|
// $ordercheck = $deposit->where(array('pay_order_number'=>$data["order_no"]))->find();
|
|
|
|
|
// if($ordercheck)$this->error("订单已经存在,请刷新充值页面重新下单!");
|
|
|
|
@ -418,7 +442,7 @@ class Pay
|
|
|
|
|
$deposit_data['pay_source'] = 2;
|
|
|
|
|
$deposit_data['create_time'] = NOW_TIME;
|
|
|
|
|
$deposit_data['sdk_version'] = $vo->getSdkVersion();
|
|
|
|
|
$deposit_data['market_admin_id'] = $this->getMarketAdminId($vo->getPromoteId());
|
|
|
|
|
$deposit_data['market_admin_id'] = $this->getMarketAdminId($promote);
|
|
|
|
|
/* if ($isKBCPartner) {
|
|
|
|
|
$deposit_data['partner_type'] = 1;
|
|
|
|
|
} */
|
|
|
|
|