Exemplo n.º 1
0
 public function handle_request_internal()
 {
     $date = date("Y-m");
     $path = "/data1/logs/CustomerAcenterAliPayNotify_" . $date . ".log";
     file_put_contents($path, print_r($this->_params, true), FILE_APPEND);
     file_put_contents($path, "**********************\n", FILE_APPEND);
     if (!Bll_CustomerRush_Payment_Pay::getInstance()->notifyCheck($this->_params)) {
         echo "fail";
         exit;
     }
     if (!$this->_params['tradeStatus']) {
         echo "success";
         exit;
     }
     $result = Bll_CustomerRush_Payment_Pay::getInstance()->notifyBizDeal($this->_params);
     if ($result['status'] == 'ok') {
         echo "success";
         exit;
     } else {
         // 失败下,记录失败信息
         file_put_contents($path, print_r($result, true), FILE_APPEND);
         file_put_contents($path, "**********************\n", FILE_APPEND);
         echo "fail";
         exit;
     }
 }
Exemplo n.º 2
0
 public static function &getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Exemplo n.º 3
0
 public function handle_request_internal()
 {
     $brokerId = $this->_params['brokerId'];
     $couponId = $this->_params['couponId'];
     $payType = $this->_params['type'];
     $amount = $this->_params['amount'];
     $source = $this->_params['source'];
     $result = array('status' => 'error');
     // 验证经纪人是否合法
     $broker = Model_Broker_AjkBrokerExtend::findWithBrokerId($brokerId);
     if (!$broker) {
         $result['message'] = '经纪人不合法';
         return $result;
     }
     /*
             // 限制购买时间 3个小时之内不能重复购买
             if(time() < strtotime(APF::get_instance()->get_config("cancel_customer_coupon_buy_limit_date", "customer"))) {
                 $lastOrder = Bll_CustomerRush_Order::getInstance()->getLatestOrder($brokerId,Model_Mobile_CustomerOrder::STATUS_OK);
                 if($lastOrder && $lastOrder['createTime'] > time() - 3 * 60 * 60) {
                     $result['message'] = '购买过于频繁,请稍后再试';
                     $result['errcode'] = Const_APIStatus::E_CUSTOMER_RUSH_BUY_TIME_LIMIT;
                     return $result;
                 }
             } */
     // 获取抢客劵信息
     $tmpCoupon = Bll_CustomerRush_Coupon::getInstance()->getCouponById($couponId);
     if (!$tmpCoupon) {
         $result['message'] = '没有抢客劵信息';
         return $result;
     }
     $coupon = $tmpCoupon[0];
     if ($coupon['disPrice'] < 0) {
         $result['message'] = '抢客劵信息异常';
         return $result;
     }
     if ($payType == 1) {
         // 支付宝支付
         $tmp = Bll_CustomerRush_Payment_Pay::getInstance()->getAliPayKey($broker, $coupon, $amount, $payType, $source);
         if ($tmp['status'] == 'ok') {
             $result['status'] = 'ok';
             $result['data'] = array('url' => $tmp['url'], 'orderNo' => !empty($tmp['order']) ? $tmp['order']['orderNo'] : '');
         } else {
             $result['status'] = 'error';
             $result['message'] = $tmp['message'];
         }
     } elseif ($payType == 2) {
         // 微信支付
         $tmp = Bll_CustomerRush_Payment_Pay::getInstance()->getWechatPayKey($broker, $coupon, $amount, $payType, $source);
         if ($tmp['status'] == 'ok') {
             $result['status'] = 'ok';
             $result['data'] = array('url' => $tmp['url'], 'orderNo' => !empty($tmp['order']) ? $tmp['order']['orderNo'] : '');
         } else {
             $result['status'] = 'error';
             $result['message'] = $tmp['message'];
         }
     } elseif ($payType == 3) {
         // 安币支付
         $tmp = Bll_CustomerRush_Payment_Pay::getInstance()->buyCouponByAnbi($broker, $coupon, $amount, $payType, $source);
         if ($tmp['status'] == 'ok') {
             $result['status'] = 'ok';
             $order = $tmp['order'];
             $effectiveTime = APF::get_instance()->get_config('customer_broker_coupon_effective_time', 'customer');
             $startDate = date("Y-m-d", $order['createTime']);
             $tmpEndDate = strtotime($startDate) + $effectiveTime * 24 * 60 * 60 - 1;
             $result['data'] = array('orderStatus' => $order['status'], 'startDate' => $startDate, 'endDate' => date("Y-m-d", $tmpEndDate), 'amount' => $coupon['totalNum'] * $order['num'], 'orderNo' => $order['orderNo']);
         }
     } else {
         $result['message'] = '支付方式参数不正确';
     }
     return $result;
 }