Ejemplo n.º 1
0
 public static function &getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Ejemplo n.º 2
0
 public function handle_request_internal()
 {
     $brokerId = $this->_params['brokerId'];
     $data = Bll_CustomerRush_Order::getInstance()->getInvoiceAmount($brokerId, Model_Mobile_CustomerOrder::STATUS_OK, Model_Mobile_CustomerOrder::IS_INVOICED_NO);
     if ($data['status']) {
         $result = array('status' => 'ok', 'data' => array('amount' => $data['amount']));
     } else {
         $result = array('status' => 'error', 'message' => $data['msg']);
     }
     return $result;
 }
Ejemplo n.º 3
0
 public function handle_request_internal()
 {
     $brokerId = $this->_params['brokerId'];
     $mobile = $this->_params['mobile'];
     $address = $this->_params['address'];
     $amount = $this->_params['amount'];
     $type = $this->_params['type'];
     $createTime = time();
     $insertData = array('brokerId' => $brokerId, 'type' => $type, 'amount' => $amount, 'mobile' => $mobile, 'address' => $address, 'createTime' => $createTime);
     if (!$amount) {
         return array('status' => 'error', 'message' => '发票金额为0');
     }
     if (!preg_match("/^\\d{11}\$/", $mobile)) {
         return array('status' => 'error', 'message' => '不是11位纯数字手机号');
     }
     if ($type == self::TYPE_COMPANY) {
         if (!isset($this->_params['companyName']) || empty($this->_params['companyName'])) {
             return array('status' => 'error', 'message' => '公司名称不能为空');
         } else {
             $insertData['companyName'] = $this->_params['companyName'];
         }
     }
     //发票金额与从Order表中的得到的进行比较
     $invoiceAmountArr = Bll_CustomerRush_Order::getInstance()->getInvoiceAmount($brokerId, Model_Mobile_CustomerOrder::STATUS_OK, Model_Mobile_CustomerOrder::IS_INVOICED_NO);
     $realAmount = $invoiceAmountArr['amount'];
     if ($realAmount != $amount) {
         return array('status' => 'error', 'message' => '此金额与发票的实际可开金额不符');
     }
     $invoiceId = Bll_CustomerRush_Invoice::getInstance()->insertData($insertData);
     if (empty($invoiceId)) {
         return array('status' => 'error', 'message' => '插入失败');
     }
     $keyData = array('brokerId' => $brokerId, 'status' => Model_Mobile_CustomerOrder::STATUS_OK, 'isInvoiced' => Model_Mobile_CustomerOrder::IS_INVOICED_NO);
     $updateData = array('isInvoiced' => Model_Mobile_CustomerOrder::IS_INVOICED_YES);
     Bll_CustomerRush_Order::getInstance()->updateData($keyData, $updateData);
     $result = array('status' => 'ok', 'data' => array('msg' => '我们会在7个工作日之内寄送发票'));
     return $result;
 }
Ejemplo n.º 4
0
 public function handle_request_internal()
 {
     $brokerId = $this->_params['brokerId'];
     $orderNo = $this->_params['orderNo'];
     $result = array('status' => 'error');
     // 获取数据
     $order = Bll_CustomerRush_Order::getInstance()->getDataByOrderNo($orderNo);
     if (empty($order) || $order[0]['brokerId'] != $brokerId) {
         $result['message'] = '查无订单';
         return $result;
     }
     $coupon = Bll_CustomerRush_Coupon::getInstance()->getCouponById($order[0]['couponId']);
     if (empty($coupon)) {
         $result['message'] = '查无客劵信息';
         return $result;
     }
     $result['status'] = 'ok';
     $effectiveTime = APF::get_instance()->get_config('customer_broker_coupon_effective_time', 'customer');
     $startDate = date("Y-m-d", $order[0]['createTime']);
     $tmpEndDate = strtotime($startDate) + $effectiveTime * 24 * 60 * 60 - 1;
     $result['data'] = array('orderStatus' => $order[0]['status'], 'startDate' => $startDate, 'endDate' => date('Y-m-d', $tmpEndDate), 'amount' => $coupon[0]['totalNum'] * $order[0]['num'], 'orderNo' => $orderNo);
     return $result;
 }
Ejemplo n.º 5
0
 public function getOrder($orderId)
 {
     $result = Bll_CustomerRush_Order::getInstance()->getDataByOrderId($orderId);
     if (!empty($result)) {
         return $result[0];
     }
     return array();
 }
Ejemplo n.º 6
0
 /**
  * 安比购买抢客劵
  * @param $broker
  * @param $coupon
  * @param $amount
  * @param $payType
  * @param $source
  * @return array()
  */
 public function buyCouponByAnbi($broker, $coupon, $amount, $payType, $source)
 {
     $result = array('status' => 'error', 'msg' => '', 'order' => '');
     $brokerId = $broker['brokerId'];
     //查询账户余额是否足够
     $balance = Bll_Service_Payment::balance(Bll_Service_Payment::SITE_ANJUKE, array('userId' => $broker['userId']));
     if (empty($balance) || $balance['status'] != 'ok') {
         $result['msg'] = '查询余额失败,稍后再试';
         return $result;
     }
     $userAccountAll = $balance['data']['balance'];
     //账户余额
     $needAccount = $coupon['disPrice'] * $amount;
     // 待扣费金额
     if ($userAccountAll < $needAccount || $needAccount < 0) {
         $result['msg'] = '余额不足,请充值';
         return $result;
     }
     // 创建订单
     $order = Bll_CustomerRush_Order::getInstance()->createOrder($brokerId, "", $coupon, $amount, $payType, $source);
     //$requestId = Bll_Customerrush_Payment_Common::getInstance()->createRequsetId("charge",$order['id']);
     $requestId = Bll_Customerrush_Payment_Common::getInstance()->createChargeRequsetId($order['orderNo']);
     $order->msg = json_encode(array("requestId" => $requestId));
     // 保存requestId;
     $order->updateTime = date("Y-m-d H:i:s");
     $order->save();
     // 调用扣费接口
     $cusumeResult = Bll_Customerrush_Payment_Common::getInstance()->chargeMoneyByAnbi($brokerId, $broker['userId'], $requestId, $needAccount);
     if ($cusumeResult['status'] != 'ok') {
         $result['msg'] = '扣费失败,请稍后再试。';
         return $result;
     }
     // 记录扣费日志
     $log2 = array('brokerId' => $brokerId, 'accountId' => 0, 'price' => $needAccount, 'realPrice' => $needAccount, 'amount' => 0, 'requestId' => $requestId, 'type' => 2, 'createTime' => time());
     Bll_CustomerRush_Payment_Log::getInstance()->insertBrokerBalanceLog($log2);
     // 更新订单
     $order->status = Model_Mobile_CustomerOrder::STATUS_OK;
     $order->msg = json_encode(array("payInfo" => "success", "requestId" => $requestId));
     $order->updateTime = date("Y-m-d H:i:s");
     $order->save();
     // 给经纪人加劵
     for ($i = 0; $i < $order->num; $i++) {
         $addCoupon = array('brokerId' => $brokerId, 'couponId' => $order['couponId'], 'status' => Model_Mobile_CustomerBrokerCoupon::STATUS_OK_USE, 'totalNum' => $coupon['totalNum'], 'usedNum' => 0, 'updateTime' => date("Y-m-d H:i:s"), 'createTime' => time(), 'orderId' => $order['id']);
         Bll_CustomerRush_Coupon::getInstance()->insertBrokerCoupon($addCoupon);
     }
     $result['status'] = 'ok';
     $result['order'] = $order;
     return $result;
 }