|
@@ -89,6 +89,8 @@ class Buy
|
|
|
array('value' => '7,8,11', 'name' => '已取消'),
|
|
|
);
|
|
|
|
|
|
+ $result['config'] = Dever::db('main/manage_config')->find();
|
|
|
+
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
@@ -755,6 +757,8 @@ class Buy
|
|
|
array_multisort($distance, SORT_ASC, SORT_NUMERIC, $factory);
|
|
|
|
|
|
$this->order_num = 0;
|
|
|
+ $delete = array();
|
|
|
+ $yes = array();
|
|
|
foreach ($goods as $k => $v) {
|
|
|
|
|
|
$find = $this->store($order['id'], $order['order_num'] . '_' . $this->order_num, $shop, $store, $v);
|
|
@@ -764,6 +768,12 @@ class Buy
|
|
|
$find = $this->factory($order['id'], $order['order_num'] . '_' . $this->order_num, $shop, $factory, $v);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if ($find[1]) {
|
|
|
+ $delete[$v['id']] = $v;
|
|
|
+ } else {
|
|
|
+ $yes[$v['id']] = $v;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if ($this->order_num > 0) {
|
|
@@ -774,7 +784,22 @@ class Buy
|
|
|
Dever::db('shop/buy_order_goods')->delete(array('order_id' => $find[2][0]));
|
|
|
|
|
|
} else {
|
|
|
- Dever::db('shop/buy_order')->update(array('where_id' => $order['id'], 'state' => 2));
|
|
|
+ if (!$yes) {
|
|
|
+ Dever::db('shop/buy_order')->update(array('where_id' => $order['id'], 'state' => 2));
|
|
|
+ } else {
|
|
|
+ $price = 0;
|
|
|
+ $num = 0;
|
|
|
+ foreach ($delete as $k => $v) {
|
|
|
+ Dever::db('shop/buy_order_goods')->delete(array('where_id' => $v['id']));
|
|
|
+ $price += $v['price'];
|
|
|
+ $num += $v['num'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $price = $order['price'] - $price;
|
|
|
+ $num = $order['num'] - $num;
|
|
|
+ Dever::db('shop/buy_order')->update(array('where_id' => $order['id'], 'status' => 8, 'price' => $price, 'num' => $num));
|
|
|
+ Dever::load('shop/lib/refund')->set('buy')->apply(1, $shop['id'], $order_id, false, 3, 0);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
|