This commit is contained in:
songliang 2023-07-16 15:03:45 +08:00
parent a458be812e
commit ae8a42ad24

View File

@ -77,6 +77,7 @@ class ShopBuyGoodsDirect
$id = $order['id'];
$goods_num = $order['goods_num'];
$o_status = $order['status'];
$address = $order['address'];
if ($o_status != 0) {
$this->_rspErr(1, "order status error, status: {$o_status}");
@ -87,28 +88,32 @@ class ShopBuyGoodsDirect
switch ($status) {
case "9":
$buyStatus = 1;
// 充值成功,开始首充奖励
$this->beginFirstTupop($address);
break;
case "99":
case "98":
$buyStatus = 2;
break;
default:
error_log("buyGoodsDirect-------" . $order_id . "---" . $status);
error_log("buyGoodsDirect--- " . $order_id . " --- " . $status);
$this->_rspErr(1, "status error, status: {$status}");
return;
break;
}
SqlHelper::update($conn, 't_shop_buy_order', array('idx' => $order_id), array('status' => $buyStatus));
// 以下是看商品表中是否配置了充值额外奖励
$goods = ShopGoods::get($id);
error_log("buyGoodsDirect---" . json_encode($goods));
$goods_num = $order['goods_num'];
$bundle_size = $goods['bonus_num'] ? $goods['bonus_num'] : 0;
$item_num = $goods_num * $bundle_size;
$item_id = $goods['bonus'];
$meta = Item::get($item_id);
error_log("buyGoodsDirect---" . $item_id . "---" . $item_num . "---" . $bundle_size . "---" . $meta['name']);
if ($meta && $item_num > 0) {
$address = $order['address'];
// $address = $order['address'];
$account_id = $this->getAccountId($address);
if ($item_id == V_ITEM_DIAMOND) {
@ -119,6 +124,8 @@ class ShopBuyGoodsDirect
LogService::productDiamond(['account_id' => $account_id], $event);
}
error_log("buyGoodsDirect---" . $address . "---" . $item_id . "---" . $item_num);
$this->_addGoods($address, array(
'goods_id' => $item_id,
'goods_num' => $item_num,
@ -159,14 +166,47 @@ class ShopBuyGoodsDirect
}
}
private function _rspOk() {
private function beginFirstTupop($address)
{
$conn = myself()->_getMysql('');
$exist = SqlHelper::selectOne(
$conn,
't_first_topup',
array('address'),
array('address' => $address)
);
if ($exist) {
return;
}
// 开始首充奖励活动进程
$chk = SqlHelper::insert(
$conn,
't_first_topup',
array(
'address' => $address,
'createtime' => myself()->_getNowTime(),
'status1' => 0,
'status2' => 0,
'status3' => 0,
)
);
if (!$chk) {
return;
}
}
private function _rspOk()
{
echo json_encode(array(
'errcode' => 0,
'errmsg' => "callback success",
));
}
private function _rspErr($errcode, $errmsg) {
private function _rspErr($errcode, $errmsg)
{
if (SERVER_ENV != _ONLINE) {
error_log(json_encode(array(
'errcode' => $errcode,