|
@@ -973,7 +973,7 @@ class Sell
|
|
|
$this->dropCart($cart, $uid, $goods, $shop['id']);
|
|
|
}
|
|
|
|
|
|
- $this->useCoupon($coupon_id, $user_coupon_id, $card, $wallet_cash);
|
|
|
+ $this->useCoupon($order_data, $coupon_id, $user_coupon_id, $card, $wallet_cash);
|
|
|
|
|
|
|
|
|
if ($card) {
|
|
@@ -1038,7 +1038,7 @@ class Sell
|
|
|
$this->dropCart($cart, $uid, $goods, $shop['id']);
|
|
|
}
|
|
|
|
|
|
- $this->useCoupon($coupon_id, $user_coupon_id, $card, $wallet_cash);
|
|
|
+ $this->useCoupon($order_data, $coupon_id, $user_coupon_id, $card, $wallet_cash);
|
|
|
$result['order_num'] = $order_data['order_num'];
|
|
|
$result['order_id'] = $id;
|
|
|
return $result;
|
|
@@ -1059,14 +1059,36 @@ class Sell
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function useCoupon($coupon_id, $user_coupon_id, $card, $wallet_cash)
|
|
|
+ public function useCoupon($order_data, $coupon_id, $user_coupon_id, $card, $wallet_cash)
|
|
|
{
|
|
|
if ($user_coupon_id) {
|
|
|
Dever::db('shop/user_coupon')->update(array('where_id' => $user_coupon_id, 'status' => 2));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if ($card) {
|
|
|
$state = Dever::db('card/code')->incUseCash(array('where_id' => $card['id'], 'set_use_cash' => $card['cash']));
|
|
|
+
|
|
|
+ $code = Dever::db('card/code')->find($card['id']);
|
|
|
+ if ($code) {
|
|
|
+ $card_info = Dever::db('card/info')->find($code['card_id']);
|
|
|
+ if ($card_info) {
|
|
|
+ if ($code['type'] == 2) {
|
|
|
+ $zhe = 0.9;
|
|
|
+ } else {
|
|
|
+ $zhe = $card_info['price']/$card_info['value'];
|
|
|
+ }
|
|
|
+ $price = round($card['cash']*$zhe);
|
|
|
+ $order_data['type'] = 1;
|
|
|
+ $order_data['type_id'] = $order_data['shop_id'];
|
|
|
+ $order_data['source_type'] = 4;
|
|
|
+ $order_data['source_id'] = -1;
|
|
|
+ $order_data['price'] = $price;
|
|
|
+ $order_data['p_price'] = $card['cash'];
|
|
|
+ Dever::load('cash/lib/order')->up($order_data, 3, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
} elseif ($wallet_cash) {
|
|
|
|
|
|
}
|