|
@@ -1,13 +1,13 @@
|
|
<?php
|
|
<?php
|
|
|
|
|
|
-namespace Collection\Lib;
|
|
|
|
|
|
+namespace User\Lib;
|
|
|
|
|
|
use Dever;
|
|
use Dever;
|
|
|
|
|
|
class Ticket
|
|
class Ticket
|
|
{
|
|
{
|
|
# 发起支付
|
|
# 发起支付
|
|
- public function action($parent_uid, $uid, $buy_id, $source)
|
|
|
|
|
|
+ public function action($parent_uid, $uid, $buy_id, $object_id, $system_source)
|
|
{
|
|
{
|
|
if (!$uid) {
|
|
if (!$uid) {
|
|
Dever::alert('错误的用户信息');
|
|
Dever::alert('错误的用户信息');
|
|
@@ -25,75 +25,50 @@ class Ticket
|
|
if (!$cate) {
|
|
if (!$cate) {
|
|
Dever::alert('购买失败');
|
|
Dever::alert('购买失败');
|
|
}
|
|
}
|
|
-
|
|
|
|
- $user = Dever::db('passport/user')->one($uid);
|
|
|
|
-
|
|
|
|
- if ($source == 'ios') {
|
|
|
|
- $method = 'app';
|
|
|
|
- $account_id = 3;
|
|
|
|
- } elseif ($source == 'android') {
|
|
|
|
- $method = 'app';
|
|
|
|
- $account_id = 3;
|
|
|
|
- } elseif ($source == 'applet') {
|
|
|
|
- # 小程序支付
|
|
|
|
- $method = 'applet';
|
|
|
|
- $account_id = 2;
|
|
|
|
- } else {
|
|
|
|
- # 网页支付
|
|
|
|
- $method = 'page';
|
|
|
|
- $account_id = 1;
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
+ $order_data['uid'] = $uid;
|
|
|
|
+ $order_data['status'] = 1;
|
|
|
|
+ $order_data['cate_id'] = $cate['id'];
|
|
|
|
+ $order_data['info_id'] = $info['id'];
|
|
|
|
+ $order_data['buy_id'] = $buy['id'];
|
|
|
|
+ $order_data['buy_num'] = $buy['num'];
|
|
|
|
+ $order_data['name'] = Dever::load("collection/lib/buy.getName", $buy);
|
|
|
|
+ $order_data['cash'] = Dever::load("collection/lib/buy.getPrice", $buy);
|
|
|
|
+
|
|
|
|
+ $order_data['system_source'] = $system_source;
|
|
|
|
+ $order_data['order_id'] = $this->getOrderId();
|
|
|
|
+
|
|
if ($parent_uid) {
|
|
if ($parent_uid) {
|
|
$order_data['parent_uid'] = $parent_uid;
|
|
$order_data['parent_uid'] = $parent_uid;
|
|
}
|
|
}
|
|
-
|
|
|
|
- if ($type) {
|
|
|
|
- $order_data['type'] = $type;
|
|
|
|
|
|
+ if ($object_id) {
|
|
|
|
+ $order_data['object_id'] = $object_id;
|
|
}
|
|
}
|
|
|
|
|
|
- if ($type_id) {
|
|
|
|
- $order_data['type_id'] = $type_id;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- $order_data['uid'] = $uid;
|
|
|
|
- $order_data['status'] = 1;
|
|
|
|
- $order_data['info_id'] = $goods['id'];
|
|
|
|
- $order_data['sku_id'] = $sku;
|
|
|
|
- $order_data['name'] = $goods['name'];
|
|
|
|
- $order_data['cash'] = $goods['price'];
|
|
|
|
- $order_data['num'] = $num;
|
|
|
|
- $order_data['source'] = $source;
|
|
|
|
- $order_data['order_id'] = $this->getOrderId();
|
|
|
|
- $id = Dever::db('goods/order')->insert($order_data);
|
|
|
|
|
|
+ $id = Dever::db('user/ticket_order')->insert($order_data);
|
|
|
|
|
|
if (!$id) {
|
|
if (!$id) {
|
|
Dever::alert('支付失败');
|
|
Dever::alert('支付失败');
|
|
}
|
|
}
|
|
|
|
|
|
- $refer = 'test';
|
|
|
|
-
|
|
|
|
- //$param参数
|
|
|
|
$param = array
|
|
$param = array
|
|
(
|
|
(
|
|
- 'account_id' => $account_id,
|
|
|
|
'project_id' => 1,
|
|
'project_id' => 1,
|
|
|
|
+ 'channel_id' => $cate['pay_channel'],
|
|
|
|
+ 'system_source' => $system_source,
|
|
'uid' => $uid,
|
|
'uid' => $uid,
|
|
- 'username' => $user['username'],
|
|
|
|
'name' => $order_data['name'],
|
|
'name' => $order_data['name'],
|
|
- 'cash' => $order_data['cash'] * $order_data['num'],
|
|
|
|
- //'cash' => '0.01',
|
|
|
|
- 'openid' => isset($wechat['openid']) ? $wechat['openid'] : '',
|
|
|
|
- 'product_id' => $goods['id'],
|
|
|
|
|
|
+ 'cash' => $order_data['cash'],
|
|
|
|
+ 'product_id' => $info['id'],
|
|
'order_id' => $order_data['order_id'],
|
|
'order_id' => $order_data['order_id'],
|
|
- 'refer' => $refer
|
|
|
|
);
|
|
);
|
|
|
|
|
|
- if ($method == 'apple') {
|
|
|
|
- $param['other'] = $receipt;
|
|
|
|
|
|
+ $receipt = Dever::input('receipt');
|
|
|
|
+ if ($receipt) {
|
|
|
|
+ $param['receipt'] = $receipt;
|
|
}
|
|
}
|
|
|
|
|
|
- $result['pay'] = Dever::load('pay/api.' . $method, $param);
|
|
|
|
|
|
+ $result['pay'] = Dever::load('pay/api.pay', $param);
|
|
|
|
|
|
$result['order_id'] = $order_data['order_id'];
|
|
$result['order_id'] = $order_data['order_id'];
|
|
|
|
|
|
@@ -108,7 +83,7 @@ class Ticket
|
|
if ($info) {
|
|
if ($info) {
|
|
return $info['key'];
|
|
return $info['key'];
|
|
}
|
|
}
|
|
- return 'goods_dever_2020';
|
|
|
|
|
|
+ return 'ticket_dever_2020';
|
|
}
|
|
}
|
|
|
|
|
|
# 支付成功回调 安全加密
|
|
# 支付成功回调 安全加密
|
|
@@ -125,21 +100,10 @@ class Ticket
|
|
$status = $send['pay_status'];
|
|
$status = $send['pay_status'];
|
|
$msg = $send['pay_msg'];
|
|
$msg = $send['pay_msg'];
|
|
|
|
|
|
- $order = Dever::db('goods/order')->one(array('order_id' => $order_id));
|
|
|
|
|
|
+ $order = Dever::db('user/ticket_order')->one(array('order_id' => $order_id));
|
|
|
|
|
|
if ($order && $order['status'] == 1) {
|
|
if ($order && $order['status'] == 1) {
|
|
-
|
|
|
|
if ($status == 2) {
|
|
if ($status == 2) {
|
|
- # 减少库存 增加销量
|
|
|
|
- $update['where_id'] = $order['info_id'];
|
|
|
|
- $update['sell_num'] = $order['num'];
|
|
|
|
- Dever::db('goods/info')->updateSell($update);
|
|
|
|
-
|
|
|
|
- if ($order['sku_id'] > 0) {
|
|
|
|
- $update['where_id'] = $order['sku_id'];
|
|
|
|
- $update['sell_num'] = $order['num'];
|
|
|
|
- Dever::db('goods/info_sku')->updateSell($update);
|
|
|
|
- }
|
|
|
|
|
|
|
|
# 增加积分
|
|
# 增加积分
|
|
if ($order['parent_uid'] > 0) {
|
|
if ($order['parent_uid'] > 0) {
|
|
@@ -147,18 +111,17 @@ class Ticket
|
|
} else {
|
|
} else {
|
|
$uid = $order['uid'];
|
|
$uid = $order['uid'];
|
|
}
|
|
}
|
|
- Dever::score($uid, 'buy_my_goods', '购买自营商品', false, false, false, $order['type'], $order['type_id']);
|
|
|
|
|
|
+ Dever::score($uid, 'buy_ticket', '购买门票', false, false, false, 'collection', $order['info_id']);
|
|
|
|
|
|
# 发消息
|
|
# 发消息
|
|
if (Dever::project('message')) {
|
|
if (Dever::project('message')) {
|
|
- Dever::load('message/lib/data')->push(-1, $order['uid'], '购买提醒', '购买成功', 11);
|
|
|
|
|
|
+ Dever::load('message/lib/data')->push(-1, $order['uid'], '购买提醒', '购买门票成功', 11);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
$update['status'] = $status;
|
|
$update['status'] = $status;
|
|
- $update['where_id'] = $order['id'];
|
|
|
|
- Dever::db('goods/order')->update($update);
|
|
|
|
|
|
+ $update['id'] = $order['id'];
|
|
|
|
+ Dever::db('user/ticket_order')->update($update);
|
|
}
|
|
}
|
|
|
|
|
|
return 'ok';
|
|
return 'ok';
|
|
@@ -168,7 +131,7 @@ class Ticket
|
|
public function getOrderId()
|
|
public function getOrderId()
|
|
{
|
|
{
|
|
$where['order_id'] = $this->createOrderId();
|
|
$where['order_id'] = $this->createOrderId();
|
|
- $state = Dever::db('goods/order')->one($where);
|
|
|
|
|
|
+ $state = Dever::db('user/ticket_order')->one($where);
|
|
if (!$state) {
|
|
if (!$state) {
|
|
return $where['order_id'];
|
|
return $where['order_id'];
|
|
} else {
|
|
} else {
|
|
@@ -193,7 +156,7 @@ class Ticket
|
|
return $prefix . (strtotime(date('YmdHis', time()))) . substr(microtime(), 2, 6) . sprintf('%03d', rand(0, 999));
|
|
return $prefix . (strtotime(date('YmdHis', time()))) . substr(microtime(), 2, 6) . sprintf('%03d', rand(0, 999));
|
|
}
|
|
}
|
|
|
|
|
|
- public function getOrderId($order_id, $id)
|
|
|
|
|
|
+ public function getOrderIdAndId($order_id, $id)
|
|
{
|
|
{
|
|
if ($order_id) {
|
|
if ($order_id) {
|
|
return $order_id . '/' . $id;
|
|
return $order_id . '/' . $id;
|