コード例 #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;
         }
     }
 }
コード例 #2
0
 public function changeCouponAct()
 {
     $coupon_id = I('coupon_id');
     if ($coupon_id != 0) {
         $tmp = explode("-", $coupon_id);
         $couponId = $tmp[0];
         $couponType = $tmp[1];
     }
     if (!$couponType) {
         $couponType = 0;
     }
     $oid = I('oid');
     $price = \Wechat\Logic\CouponLogic::getCouponPrice($couponId, $couponType);
     $order = D('TicketOrder')->where(array('id' => $oid))->find();
     $p = $order['third_party_pay'] - $price;
     $p = $p > 0 ? $p : 0;
     $this->success($p);
 }