|
@@ -1,35 +1,43 @@
|
|
<?php namespace Place\Lib;
|
|
<?php namespace Place\Lib;
|
|
use Dever;
|
|
use Dever;
|
|
|
|
+use Place;
|
|
class Order
|
|
class Order
|
|
{
|
|
{
|
|
|
|
|
|
- public function pay($member, $info, $type = 1, $prefix = 'C')
|
|
+ public function pay($info, $type = 1, $app)
|
|
{
|
|
{
|
|
|
|
+ $prefix = strtoupper(substr($app, 0, 2));
|
|
$account = Dever::input('account', 'is_string', '账户', 'wechat');
|
|
$account = Dever::input('account', 'is_string', '账户', 'wechat');
|
|
$env = Dever::input('env', 'is_numeric', '运行环境', 3);
|
|
$env = Dever::input('env', 'is_numeric', '运行环境', 3);
|
|
- $result = Dever::load('util', 'api')->openid($account, $env, $member['id']);
|
|
+ $result = Dever::load('util', 'api')->openid($account, $env, Place::$uid);
|
|
if (isset($result['openid'])) {
|
|
if (isset($result['openid'])) {
|
|
- $member['openid'] = $result['openid'];
|
|
+ Place::$user['openid'] = $result['openid'];
|
|
} elseif (isset($result['link'])) {
|
|
} elseif (isset($result['link'])) {
|
|
return $result;
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if ($type == 3) {
|
|
|
|
+ $price = $info['value'];
|
|
|
|
+ } else {
|
|
|
|
+ $price = ($info['value']/Place::$info['score_per']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
$account = 'pay_' . $account;
|
|
$account = 'pay_' . $account;
|
|
|
|
|
|
$order = array
|
|
$order = array
|
|
(
|
|
(
|
|
- 'uid' => $member['id'],
|
|
+ 'uid' => Place::$uid,
|
|
- 'openid' => $member['openid'] ?? '',
|
|
+ 'openid' => Place::$user['openid'] ?? '',
|
|
'order_num' => Dever::load('util', 'api')->createNumber($prefix, 'place/order', array('type' => $type)),
|
|
'order_num' => Dever::load('util', 'api')->createNumber($prefix, 'place/order', array('type' => $type)),
|
|
- 'cash' => ($info['price']/$member['score_per'])*100,
|
|
+ 'cash' => $price*100,
|
|
'name' => $info['name'],
|
|
'name' => $info['name'],
|
|
'time_expire' => time() + 3600,
|
|
'time_expire' => time() + 3600,
|
|
);
|
|
);
|
|
|
|
|
|
$param['notify'] = 'place/order.success|' . Dever::input('p') . '|' . $order['order_num'] . '|' . $type;
|
|
$param['notify'] = 'place/order.success|' . Dever::input('p') . '|' . $order['order_num'] . '|' . $type;
|
|
- $data = Dever::load('account', 'api')->run($account, 'order', $order, $env);
|
|
+ $data['pay'] = Dever::load('account', 'api')->run($account, 'order', $order, $env);
|
|
- if ($data) {
|
|
+ if ($data['pay']) {
|
|
$order['status'] = 1;
|
|
$order['status'] = 1;
|
|
$order['type'] = $type;
|
|
$order['type'] = $type;
|
|
$order['type_id'] = $info['id'];
|
|
$order['type_id'] = $info['id'];
|
|
@@ -39,10 +47,17 @@ class Order
|
|
$detail['type'] = $type;
|
|
$detail['type'] = $type;
|
|
foreach ($info['detail'] as $k => $v) {
|
|
foreach ($info['detail'] as $k => $v) {
|
|
$detail['type_id'] = $v['id'];
|
|
$detail['type_id'] = $v['id'];
|
|
|
|
+ if (isset($v['sku_id'])) {
|
|
|
|
+ $detail['sku_id'] = $v['sku_id'];
|
|
|
|
+ }
|
|
|
|
+ if (isset($v['sku_name'])) {
|
|
|
|
+ $detail['sku_name'] = $v['sku_name'];
|
|
|
|
+ }
|
|
$detail['order_id'] = $data['order_id'];
|
|
$detail['order_id'] = $data['order_id'];
|
|
$detail['cash'] = $v['cash'];
|
|
$detail['cash'] = $v['cash'];
|
|
$detail['num'] = $v['num'];
|
|
$detail['num'] = $v['num'];
|
|
- $detail['status'] = 1;
|
|
+ $detail['name'] = $v['name'];
|
|
|
|
+ $detail['pic'] = $v['pic'];
|
|
Dever::db('order_detail', 'place')->insert($detail);
|
|
Dever::db('order_detail', 'place')->insert($detail);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -79,14 +94,14 @@ class Order
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- public function getInfoByType($type, $type_id, $uid, $status = 5)
|
|
+ public function getInfoByType($type_id, $type, $status = 5)
|
|
{
|
|
{
|
|
- $order = Dever::db('order', 'place')->find(array('type' => $type, 'type_id' => $type_id, 'uid' => $uid, 'status' => $status));
|
|
+ $order = Dever::db('order', 'place')->find(array('type' => $type, 'type_id' => $type_id, 'uid' => Place::$uid, 'status' => $status));
|
|
return $order;
|
|
return $order;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- public function getDetail($type, $id)
|
|
+ public function getDetail($id, $type)
|
|
{
|
|
{
|
|
$detail = Dever::db('order_detail', 'place')->select(array('type' => $type, 'order_id' => $id));
|
|
$detail = Dever::db('order_detail', 'place')->select(array('type' => $type, 'order_id' => $id));
|
|
$result = array();
|
|
$result = array();
|