コード例 #1
0
 /**
  * 使用优惠券
  * @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;
         }
     }
 }