|
@@ -305,8 +305,17 @@ class Manage
|
|
|
|
|
|
if ($goods) {
|
|
|
$where = array();
|
|
|
+ $goods_cash = 0;
|
|
|
foreach ($goods as $k => $v) {
|
|
|
- $this->addGoods($order, $v);
|
|
|
+ $price = $this->addGoods($order, $v);
|
|
|
+ if ($price && $v['type'] < 3) {
|
|
|
+
|
|
|
+ $goods_cash += $price;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($goods_cash) {
|
|
|
+ Dever::db('agent/order')->update(array('where_id' => $order['id'], 'goods_cash' => $goods_cash));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -314,17 +323,31 @@ class Manage
|
|
|
|
|
|
private function addGoods($order, $v)
|
|
|
{
|
|
|
- $where['mid'] = $order['mid'];
|
|
|
- $where['type'] = $v['type'];
|
|
|
- $where['type_id'] = $v['type_id'];
|
|
|
- $where['sku_id'] = $v['sku_id'];
|
|
|
- $info = Dever::db('agent/member_goods')->find($where);
|
|
|
$t = intval($order['price']/10000);
|
|
|
if ($v['type'] == 1) {
|
|
|
$v['num'] = $v['num'] * $t;
|
|
|
+ $goods_info = Dever::load('goods/lib/info')->getInfoBySku($type_id, $sku_id);
|
|
|
+ $price = $goods_info['price'] * $v['num'];
|
|
|
} elseif ($v['type'] == 2) {
|
|
|
|
|
|
+ $card = Dever::db('card/info')->find($v['type_id']);
|
|
|
+ if (!$card) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $price = $card['price']*$v['num'] * $t;
|
|
|
+ $v['type_id'] = Dever::load('card/lib/code')->create($card, 2, $order['mid'], $order['id'], $price);
|
|
|
+ if (!$v['type_id']) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
+ $price = 0;
|
|
|
+
|
|
|
+ $where['mid'] = $order['mid'];
|
|
|
+ $where['type'] = $v['type'];
|
|
|
+ $where['type_id'] = $v['type_id'];
|
|
|
+ $where['sku_id'] = $v['sku_id'];
|
|
|
+ $info = Dever::db('agent/member_goods')->find($where);
|
|
|
+
|
|
|
if ($info) {
|
|
|
$up['where_id'] = $info['id'];
|
|
|
$up['total_num'] = $info['total_num'] + $v['num'];
|
|
@@ -342,6 +365,7 @@ class Manage
|
|
|
Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], 0, $up['total_num']);
|
|
|
}
|
|
|
}
|
|
|
+ return $price;
|
|
|
}
|
|
|
|
|
|
private function setCash($order)
|