...
This commit is contained in:
parent
8f06131b7a
commit
cf33b30174
@ -28,7 +28,7 @@ require_once('services/BlockChainService.php');
|
|||||||
require_once('phpcommon/bignumber.php');
|
require_once('phpcommon/bignumber.php');
|
||||||
|
|
||||||
require_once('services/LogService.php');
|
require_once('services/LogService.php');
|
||||||
require_once('ShopAddItemService.php');
|
require_once('services/callback/ShopAddItemService.php');
|
||||||
|
|
||||||
// use phpcommon;
|
// use phpcommon;
|
||||||
use phpcommon\HttpClient;
|
use phpcommon\HttpClient;
|
||||||
@ -193,9 +193,16 @@ class ShopController extends BaseAuthedController
|
|||||||
{
|
{
|
||||||
$id = getReqVal('id', 0);
|
$id = getReqVal('id', 0);
|
||||||
$token_type = getReqVal('token_type', '');
|
$token_type = getReqVal('token_type', '');
|
||||||
$goods_num = getReqVal('goods_num', 0);
|
$goods_num = getReqVal('goods_num', 1);
|
||||||
|
|
||||||
|
if ($goods_num <= 0) {
|
||||||
|
$this->_rspErr(1, 'goods_num is invalid');
|
||||||
|
}
|
||||||
|
|
||||||
$goods = mt\ShopGoods::get($id);
|
$goods = mt\ShopGoods::get($id);
|
||||||
|
if ($goods['shop_id'] == 9 && $goods_num > 1) {
|
||||||
|
$this->_rspErr(1, 'goods_num is invalid');
|
||||||
|
}
|
||||||
|
|
||||||
$conn = myself()->_getMysql('');
|
$conn = myself()->_getMysql('');
|
||||||
|
|
||||||
@ -363,6 +370,25 @@ class ShopController extends BaseAuthedController
|
|||||||
public function inappPurchaseDiamonds()
|
public function inappPurchaseDiamonds()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// {
|
||||||
|
// channel: 'google',
|
||||||
|
// sign: '123456677' // 签名字段
|
||||||
|
// records: [{
|
||||||
|
// productId: '2999', // 从google play console获取的product id
|
||||||
|
// gameOrderId: '1231321312', // 开始支付时, 从游戏相关服务那获得的订单id
|
||||||
|
// orderId: 'GPA.3355-1172-9416-16839', // 从google develope API 获取的订单id
|
||||||
|
// status: 9, // 订单状态, 上报的订单状态一般只有2种情况, 9: 支付成功, 96: 用户退款
|
||||||
|
// }]
|
||||||
|
// }
|
||||||
|
// let reportData: any = {
|
||||||
|
// channel: 'google',
|
||||||
|
// records,
|
||||||
|
// }
|
||||||
|
// const hashSort = 'iG4Rpsa)6U31$H#^T85$^^3'
|
||||||
|
// const signStr = 'channel=google&' + records.map(record =>Object.keys(record).sort().map(key => `${key}=${record[key]}`).join('&')).join('&')
|
||||||
|
|
||||||
|
// const sign = hmacsha256(signStr, hashSort)
|
||||||
|
|
||||||
// 有三种情况:
|
// 有三种情况:
|
||||||
// 1. 从商城购买钻石,有订单号
|
// 1. 从商城购买钻石,有订单号
|
||||||
// 2. 站外充值钻石,没有订单号
|
// 2. 站外充值钻石,没有订单号
|
||||||
@ -372,6 +398,22 @@ class ShopController extends BaseAuthedController
|
|||||||
|
|
||||||
error_log('----- inappPurchaseDiamonds -----');
|
error_log('----- inappPurchaseDiamonds -----');
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'channel' => 'google',
|
||||||
|
'sign' => '123456677',
|
||||||
|
'records' => [[
|
||||||
|
'productId' => '2999', // 从google play console获取的product id
|
||||||
|
'gameOrderId' => '299', // 开始支付时, 从游戏相关服务那获得的订单id
|
||||||
|
'orderId' => 'GPA.3355-1172-9416-16839', // 从google develope API 获取的订单id
|
||||||
|
'status' => 9, // 订单状态, 上报的订单状态一般只有2种情况, 9: 支付成功, 96: 用户退款
|
||||||
|
]]
|
||||||
|
];
|
||||||
|
|
||||||
|
$order_id = $data['records'][0]['gameOrderId'];
|
||||||
|
$data_str = json_encode($data);
|
||||||
|
$data_json = json_decode($data_str, true);
|
||||||
|
error_log('----- inappPurchaseDiamonds -----' . json_encode($data));
|
||||||
|
|
||||||
$conn = myself()->_getMysql('');
|
$conn = myself()->_getMysql('');
|
||||||
|
|
||||||
$order = SqlHelper::selectOne($conn, 't_shop_buy_order', array('address', 'id', 'item_id', 'goods_num', 'status'), array('idx' => $order_id));
|
$order = SqlHelper::selectOne($conn, 't_shop_buy_order', array('address', 'id', 'item_id', 'goods_num', 'status'), array('idx' => $order_id));
|
||||||
@ -388,13 +430,14 @@ class ShopController extends BaseAuthedController
|
|||||||
$item_num = $goods_num * $bundle_size;
|
$item_num = $goods_num * $bundle_size;
|
||||||
$item_id = $goods['goods_id'];
|
$item_id = $goods['goods_id'];
|
||||||
$address = $order['address'];
|
$address = $order['address'];
|
||||||
|
$account_id = $this->getAccountId($address);
|
||||||
|
|
||||||
if ($item_id == V_ITEM_DIAMOND) {
|
if ($item_id == V_ITEM_DIAMOND) {
|
||||||
$event = [
|
$event = [
|
||||||
'name' => LogService::RECHARGE_DIAMOND,
|
'name' => LogService::RECHARGE_DIAMOND,
|
||||||
'val' => $item_num
|
'val' => $item_num
|
||||||
];
|
];
|
||||||
LogService::productDiamond($event);
|
LogService::productDiamond(['account_id' => $account_id], $event);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_addGoods($address, array(
|
$this->_addGoods($address, array(
|
||||||
@ -406,6 +449,18 @@ class ShopController extends BaseAuthedController
|
|||||||
$this->_rspOk();
|
$this->_rspOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getAccountId($address)
|
||||||
|
{
|
||||||
|
$row = SqlHelper::ormSelectOne(
|
||||||
|
myself()->_getMysql($address),
|
||||||
|
't_user',
|
||||||
|
array(
|
||||||
|
'address' => $address
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return $row['account_id'];
|
||||||
|
}
|
||||||
|
|
||||||
private function _addGoods($address, $goods)
|
private function _addGoods($address, $goods)
|
||||||
{
|
{
|
||||||
$itemService = new ShopAddItemService();
|
$itemService = new ShopAddItemService();
|
||||||
|
@ -10,7 +10,7 @@ use phpcommon\SqlHelper;
|
|||||||
|
|
||||||
class BuyRecord extends BaseModel {
|
class BuyRecord extends BaseModel {
|
||||||
|
|
||||||
public static function genOrderId($gameId, $funcId, $time, $buyerAddress)
|
public static function genOrderId($gameId, $funcId, $time, $®)
|
||||||
{
|
{
|
||||||
SqlHelper::insert
|
SqlHelper::insert
|
||||||
(myself()->_getMarketMysql(),
|
(myself()->_getMarketMysql(),
|
||||||
|
@ -82,10 +82,10 @@ class LogService extends BaseService
|
|||||||
TGLog::writeToLog(self::PRONAME,self::GAMEID,$logInfo);
|
TGLog::writeToLog(self::PRONAME,self::GAMEID,$logInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function productDiamond($event,$param = [])
|
public static function productDiamond($base, $event,$param = [])
|
||||||
{
|
{
|
||||||
$logInfo = self::goldRecord();
|
$logInfo = self::diamondRecord($base['account_id']);
|
||||||
$data = self::userInfo();
|
$data = self::userInfoByAccountId($base['account_id']);
|
||||||
$data['type'] = self::PRODUCT_TYPE;
|
$data['type'] = self::PRODUCT_TYPE;
|
||||||
$data['event_name'] = $event['name'];
|
$data['event_name'] = $event['name'];
|
||||||
$data['event_type'] = self::DIAMOND_TYPE;
|
$data['event_type'] = self::DIAMOND_TYPE;
|
||||||
@ -117,6 +117,24 @@ class LogService extends BaseService
|
|||||||
return $info;
|
return $info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function userInfoByAccountId($account_id) {
|
||||||
|
$user = User::find($account_id);
|
||||||
|
$info = array(
|
||||||
|
'account_id' => $user['account_id'], //账号id
|
||||||
|
'channel' => $user['channel'], //账号channel
|
||||||
|
'openid' => 'unknown',
|
||||||
|
'adress' => $user['address'], //账号openid
|
||||||
|
'name' => $user['name'], //用户名字
|
||||||
|
'rank' => $user['rank'], //段位
|
||||||
|
'gold' => $user['gold'], //金币
|
||||||
|
'diamond' => $user['diamond'], //钻石
|
||||||
|
'account_register_time' => $user['createtime'], //账号注册时间
|
||||||
|
'ip' => $_SERVER['REMOTE_ADDR'], //用户ip
|
||||||
|
'_os' => getReqVal('_os', ''),
|
||||||
|
'_net' => getReqVal('_net', ''),
|
||||||
|
);
|
||||||
|
return $info;
|
||||||
|
}
|
||||||
private static function goldRecord()
|
private static function goldRecord()
|
||||||
{
|
{
|
||||||
// $logInfo['log_class'] = $logInfo['log_class'];
|
// $logInfo['log_class'] = $logInfo['log_class'];
|
||||||
@ -132,4 +150,16 @@ class LogService extends BaseService
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function diamondRecord($account_id)
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
"#account_id" => $account_id,
|
||||||
|
"#event_name"=> "diamond_record",
|
||||||
|
"#ip"=> $_SERVER['REMOTE_ADDR'],
|
||||||
|
"#time"=> myself()->_getNowTime(),
|
||||||
|
"#type"=> "track",
|
||||||
|
"properties"=>''
|
||||||
|
];
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,6 +76,7 @@ class BuyShopGoodsCbService
|
|||||||
|
|
||||||
$order_id = $order['order_id'];
|
$order_id = $order['order_id'];
|
||||||
$address = $order['address'];
|
$address = $order['address'];
|
||||||
|
$account_id = $this->getAccountId($address);
|
||||||
$item_id = $order['item_id'];
|
$item_id = $order['item_id'];
|
||||||
$item_num = $order['item_num'];
|
$item_num = $order['item_num'];
|
||||||
$id = null;
|
$id = null;
|
||||||
@ -89,7 +90,7 @@ class BuyShopGoodsCbService
|
|||||||
'name' => LogService::CEBG_TO_DIAMOND,
|
'name' => LogService::CEBG_TO_DIAMOND,
|
||||||
'val' => $item_num
|
'val' => $item_num
|
||||||
];
|
];
|
||||||
LogService::productDiamond($event);
|
LogService::productDiamond(['account_id' => $account_id], $event);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_addGoods($address, array(
|
$this->_addGoods($address, array(
|
||||||
@ -110,6 +111,7 @@ class BuyShopGoodsCbService
|
|||||||
$item_id = $order['item_id'];
|
$item_id = $order['item_id'];
|
||||||
$item_num = $order['item_num'];
|
$item_num = $order['item_num'];
|
||||||
$address = $order['address'];
|
$address = $order['address'];
|
||||||
|
$account_id = $this->getAccountId($address);
|
||||||
$idx = $ext_data['idx'];
|
$idx = $ext_data['idx'];
|
||||||
$grid = $ext_data['grid'];
|
$grid = $ext_data['grid'];
|
||||||
$count = $ext_data['count'];
|
$count = $ext_data['count'];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user