|
@@ -87,7 +87,7 @@ class Buy
|
|
|
$result['search']['status'] = $this->config['status'];
|
|
|
|
|
|
$config = Dever::db('main/sell_config')->find();
|
|
|
- $result['card_name'] = $config['card'];
|
|
|
+ $result['card_name'] = $config['card_name'];
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
@@ -108,7 +108,7 @@ class Buy
|
|
|
$result = $this->getInfo($result, true);
|
|
|
|
|
|
$config = Dever::db('main/sell_config')->find();
|
|
|
- $result['card_name'] = $config['card'];
|
|
|
+ $result['card_name'] = $config['card_name'];
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
@@ -171,8 +171,63 @@ class Buy
|
|
|
return $info;
|
|
|
}
|
|
|
|
|
|
+ public function getCard(&$data)
|
|
|
+ {
|
|
|
+ $card_id = Dever::input('card_id');
|
|
|
+ if (!$card_id) {
|
|
|
+ Dever::alert('请传入礼品卡');
|
|
|
+ }
|
|
|
+ $card_id = explode(',', $card_id);
|
|
|
+
|
|
|
+ $num = Dever::input('num');
|
|
|
+ if (!$num) {
|
|
|
+ Dever::alert('请传入数量');
|
|
|
+ }
|
|
|
+ $num = explode(',', $num);
|
|
|
+
|
|
|
+ $city = Dever::input('city');
|
|
|
+ if (!$city) {
|
|
|
+ Dever::alert('请传入城市');
|
|
|
+ }
|
|
|
+ $city = explode(',', $city);
|
|
|
+
|
|
|
+ $data['price'] = 0;
|
|
|
+ $data['num'] = 0;
|
|
|
+ $data['name'] = array();
|
|
|
+ $data['type'] = $data['list'] = array();
|
|
|
+
|
|
|
+ # 计算总价格
|
|
|
+ foreach ($card_id as $k => $v) {
|
|
|
+ $c = isset($city[$k]) ? $city[$k] : -1;
|
|
|
+ $n = isset($num[$k]) ? $num[$k] : 1;
|
|
|
+ $info = Dever::db('card/info')->find($v);
|
|
|
+ if (!$info) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $type = Dever::db('card/type')->find($info['type_id']);
|
|
|
+ if (!isset($data['type'][$info['type_id']])) {
|
|
|
+ $data['type'][$info['type_id']] = $type;
|
|
|
+ }
|
|
|
+ $data['type'][$info['type_id']]['list'][$k] = $info;
|
|
|
+ $data['type'][$info['type_id']]['list'][$k]['buy_num'] = $n;
|
|
|
+ $data['type'][$info['type_id']]['list'][$k]['city'] = $c;
|
|
|
+
|
|
|
+ $data['list'][$k] = $info;
|
|
|
+ $data['list'][$k]['buy_num'] = $n;
|
|
|
+ $data['list'][$k]['city'] = $c;
|
|
|
+ $data['num'] += $n;
|
|
|
+ $data['price'] += $data['list'][$k]['price'] * $n;
|
|
|
+ $data['name'][] = $data['list'][$k]['name'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $data['name'] = implode(',', $data['name']);
|
|
|
+
|
|
|
+ $config = Dever::db('main/sell_config')->find();
|
|
|
+ $data['card_name'] = $config['card_name'];
|
|
|
+ }
|
|
|
+
|
|
|
# 发起支付
|
|
|
- public function pay($user, $shop, $name, $num, $card, $oprice, $price, $cash, $address_id, $system_source = 5, $refer = '')
|
|
|
+ public function pay($user, $shop, $name, $num, $card, $price, $address_id, $system_source = 5, $refer = '')
|
|
|
{
|
|
|
if (!$user) {
|
|
|
Dever::alert('错误的用户信息');
|
|
@@ -194,7 +249,6 @@ class Buy
|
|
|
$order_data['address_id'] = $address_id;
|
|
|
$order_data['name'] = $name;
|
|
|
$order_data['num'] = $num;
|
|
|
- $order_data['oprice'] = $oprice;
|
|
|
$order_data['price'] = $price;
|
|
|
|
|
|
$order_data['order_num'] = $this->getOrderId();
|
|
@@ -208,6 +262,7 @@ class Buy
|
|
|
$data['uid'] = $uid;
|
|
|
$data['order_id'] = $id;
|
|
|
$data['card_id'] = $v['id'];
|
|
|
+ $data['city'] = $v['city'];
|
|
|
$data['price'] = $v['price'];
|
|
|
$data['num'] = $v['buy_num'];
|
|
|
|
|
@@ -238,14 +293,16 @@ class Buy
|
|
|
$param['receipt'] = $receipt;
|
|
|
}
|
|
|
|
|
|
- $result = Dever::load('pay/api.pay', $param);
|
|
|
+ //$result = Dever::load('pay/api.pay', $param);
|
|
|
+ $result['type'] = 'test';
|
|
|
+ $result['order'] = '';
|
|
|
$result['order_num'] = $order_data['order_num'];
|
|
|
$result['order_id'] = $id;
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
# 再次发起支付
|
|
|
- public function raction($id, $system_source = 5, $refer = '')
|
|
|
+ public function rpay($id, $system_source = 5, $refer = '')
|
|
|
{
|
|
|
$order = Dever::db('card/order')->find($id);
|
|
|
|
|
@@ -263,7 +320,7 @@ class Buy
|
|
|
'channel_id' => 1,
|
|
|
'system_source' => $system_source,
|
|
|
'uid' => $order['uid'],
|
|
|
- 'name' => $order['name'],
|
|
|
+ 'name' => $order['price'],
|
|
|
'cash' => $order['price'],
|
|
|
'product_id' => $id,
|
|
|
'order_id' => $order['order_num'],
|
|
@@ -359,6 +416,7 @@ class Buy
|
|
|
# 添加配送信息
|
|
|
public function updatePs($order, $status = 1)
|
|
|
{
|
|
|
+ Dever::config('base')->hook = true;
|
|
|
$where['order_id'] = $order['id'];
|
|
|
$data = Dever::db('card/order_ps')->find($where);
|
|
|
|
|
@@ -372,7 +430,7 @@ class Buy
|
|
|
$update['qs_date'] = time();
|
|
|
}
|
|
|
|
|
|
- Dever::db('card/order_ps')->update($update);
|
|
|
+ $state = Dever::db('card/order_ps')->update($update);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -416,4 +474,23 @@ class Buy
|
|
|
|
|
|
return $status;
|
|
|
}
|
|
|
+
|
|
|
+ # 收货
|
|
|
+ public function send()
|
|
|
+ {
|
|
|
+ $order_id = Dever::input('order_id');
|
|
|
+ $order = Dever::db('card/order')->find($order_id);
|
|
|
+
|
|
|
+ if (!$order || ($order && $order['status'] != 3)) {
|
|
|
+ Dever::alert('当前订单状态无法完成收货');
|
|
|
+ }
|
|
|
+
|
|
|
+ $state = Dever::db('card/order')->update(array('where_id' => $order['id'], 'status' => 4, 'fdate' => time()));
|
|
|
+
|
|
|
+ if ($state) {
|
|
|
+ $this->updatePs($order, 3);
|
|
|
+ }
|
|
|
+
|
|
|
+ return 'reload';
|
|
|
+ }
|
|
|
}
|