/** * 使用优惠券 * @param int $order_id * @param int $coupon_id */ public function useCoupon($order_id, $coupon_id, $couponType) { if (!$couponType) { $couponType = 0; } $price = \Wechat\Logic\CouponLogic::getCouponPrice($coupon_id, $couponType); if ($price) { $orderInfo = D('TicketOrder')->getOrderInfo($order_id); if ($orderInfo['coupon_pay'] > 0) { return false; } if ($orderInfo['third_party_pay'] > $price) { $save['third_party_pay'] = $orderInfo['third_party_pay'] - $price; } else { $save['third_party_pay'] = 0; } $save['coupon_id'] = $coupon_id; $save['coupon_pay'] = $price; $saveResult = D('TicketOrder')->where(array('id' => $order_id))->save($save); //用户优惠券状态修改 $cResult = \Wechat\Logic\CouponLogic::changeStatus($coupon_id, $couponType, $order_id); if ($saveResult && $cResult) { return true; } } }