Example #1
0
 private function checkConsume($brokerId, $cityId)
 {
     $result = array('isFree' => 0, 'isPlan' => 0, 'data' => '');
     $isComboCity = Bll_Combo_HouseRelation::ifComboCity($cityId);
     if ($isComboCity) {
         $conbosProNum = Bll_Combo_Broker_BrokerComboInfo::getTotalCombosProNum($brokerId);
         // 检查是否购买套餐
         if ($conbosProNum['totalSalePropNum'] <= 0) {
             $result['isPlan'] = 0;
             echo json_encode($result);
             exit;
         } else {
             $result['isPlan'] = 1;
         }
     } else {
         $result['isPlan'] = 1;
     }
     // 检查城市是否收费
     $checkFree = Bll_Broker_EntrustPrice::getInstance()->checkCityConsumeStatus($cityId);
     if ($checkFree == true) {
         // 收费
         // 获取余额
         $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($brokerId, 'sale');
         $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
         // 获取委托价格
         $startDate = date("Ymd");
         $price = Bll_Broker_EntrustPrice::getInstance()->getSalePrice(self::$BrokerInfo['BaseInfo']['CITYID'], $startDate);
         $price = $price / 100;
         if ($balance >= $price) {
             $isEnough = 1;
         } else {
             $isEnough = 0;
         }
         $result['isFree'] = 0;
         $result['data'] = array('isEnough' => $isEnough, 'balance' => $balance . "元", 'price' => $price . "元");
     } else {
         // 不收费
         $houseId = intval($this->params['houseId']);
         $brokerName = self::$BrokerInfo['BaseInfo']['TRUENAME'];
         $brokerPhone = self::$BrokerInfo['BaseInfo']['USERMOBILE'];
         $consume = Bll_Broker_EntrustQuery::getInstance()->saleRush($houseId, $brokerId, $brokerName, $brokerPhone, $cityId, Const_Entrust::RUSH_FROM_PC, false, $isComboCity);
         $result['isFree'] = 1;
         $result['data'] = $consume;
     }
     echo json_encode($result);
     exit;
 }
Example #2
0
 /**
  * 每日扣费队列 操作主函数
  * @param $adSetData
  * @param $adConsumeData
  * @param $houseNum
  */
 protected function consumeMainProcess($adSetData, $adConsumeData, $houseNum)
 {
     // 1.先更新status,house_num
     $adConsumeData->status = 1;
     $adConsumeData->houseNum = $houseNum;
     $adConsumeData->updateTime = date("Y-m-d H:i:s", time());
     $adConsumeData->save();
     // 2.获取账户余额
     $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($adSetData->brokerId, $this->_dateBase);
     // 3.调用扣费API之前,验证余额是否足够
     $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
     $balance = $balance * 100;
     // 转化成分
     //$balance  = 200;
     if ($balance < $adConsumeData->price) {
         // 3.1 余额不足,插入欠费队列
         $this->insertArrearage($adSetData, $adConsumeData, $balance, 4, '', '未调用扣费API之前,余额不足');
     } else {
         // 3.2 余额足够,调用扣费API
         $apiResult = Bll_Broker_ShowcaseConsumeQuery::getInstance()->callCosumeApi($userId, $adConsumeData->requestId, $adConsumeData->price, $adConsumeData->dateIndex, $this->_dateBase);
         // 3.2.1 扣费成功
         if ($apiResult['status'] === true) {
             $updateArr = array('status' => 6, 'balance' => $balance);
             $this->updateAdConsumeLogTable($adConsumeData, $updateArr, 1, $apiResult['apiData'], '扣费成功');
         } else {
             // 3.2.2 扣费失败,插入欠费队列
             $this->insertArrearage($adSetData, $adConsumeData, $balance, 5, $apiResult['apiData'], '调用API扣费,扣费失败 ' . $apiResult['msg']);
         }
     }
 }
Example #3
0
 public function handle_request()
 {
     $arrearageList = $this->getRequestData();
     foreach ($arrearageList as $arrearageVal) {
         $tmpAdConsumeData = array();
         $this->createTime = time();
         $updateArrearageArr = array();
         $apiData = $otherData = '';
         /*
          *1.设置status = 1,为正在处理中  更新为处理状态(更新失败,跳出继续执行下一跳数据)
          */
         $check = Bll_Broker_ShowcaseArrearageQuery::getInstance()->updateOneData(array('id' => $arrearageVal->id, 'status' => array(0, 2)), array('status' => 1), $this->_dateBase);
         if (empty($check)) {
             continue;
         }
         $arrearageVal->add_old_property_value('status', 1);
         /*
          * 2. 获取账户余额
          */
         $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($arrearageVal->brokerId, $this->_dateBase);
         $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
         $balance = $balance * 100;
         $updateArrearageArr['balance'] = $balance;
         if ($balance < $arrearageVal->price) {
             // 余额不足,插入消费日志
             $otherData = '余额不足';
             $updateArrearageArr['status'] = 2;
         } else {
             /*
              * 3.余额足够,调用扣费API
              */
             $apiResult = Bll_Broker_ShowcaseConsumeQuery::getInstance()->callCosumeApi($userId, $arrearageVal->requestId, $arrearageVal->price, $arrearageVal->dateIndex, $this->_dateBase);
             // 扣费成功
             if ($apiResult['status'] === true) {
                 $updateArrearageArr['status'] = 3;
                 $otherData = '扣费成功';
                 $apiData = $apiResult['apiData'];
                 /*********仅20140630号数据*********/
                 if ($arrearageVal->dateIndex == 20140630 && substr($arrearageVal->requestId, 2, 3) == 496) {
                     $tmpAdConsumeData = Bll_Broker_ShowcaseConsumeQuery::getInstance()->getDataById($arrearageVal->consumeId, 20140701, $this->_dateBase);
                     if ($tmpAdConsumeData) {
                         $adConsumeData = $tmpAdConsumeData[0];
                         $adConsumeData->balance = $balance;
                         $adConsumeData->status = 7;
                         $adConsumeData->updateTime = date("Y-m-d H:i:s", time());
                         $adConsumeData->save();
                     }
                 } else {
                     // 更新adconsume表状态
                     $tmpAdConsumeData = Bll_Broker_ShowcaseConsumeQuery::getInstance()->getDataById($arrearageVal->consumeId, $arrearageVal->dateIndex, $this->_dateBase);
                     if ($tmpAdConsumeData) {
                         $adConsumeData = $tmpAdConsumeData[0];
                         $adConsumeData->balance = $balance;
                         $adConsumeData->status = 7;
                         $adConsumeData->updateTime = date("Y-m-d H:i:s", time());
                         $adConsumeData->save();
                     }
                 }
             } else {
                 // 扣费失败
                 $updateArrearageArr['status'] = 2;
                 $otherData = '扣费失败';
             }
         }
         $this->updateArrearageTable($arrearageVal, $updateArrearageArr, $apiData, $otherData);
     }
 }
Example #4
0
 public function handle_request()
 {
     $arrearageList = $this->getRequestData();
     if (!empty($arrearageList)) {
         foreach ($arrearageList as $arrearageVal) {
             $updateArrearageArr = array();
             $apiData = $otherData = '';
             /*
              *1.设置status = 1,为正在处理中  更新为处理状态(更新失败,跳出继续执行下一跳数据)
              */
             $check = Bll_Broker_EntrustArrearage::getInstance()->updateOneData(array('id' => $arrearageVal->id, 'status' => array(0, 2)), array('status' => 1));
             if (empty($check)) {
                 continue;
             }
             $arrearageVal->add_old_property_value('status', 1);
             $commission = $this->getCommissionDataById($arrearageVal->commissionId);
             if (!$commission) {
                 $otherData = '委托关系表中不存在数据';
                 $updateArrearageArr['status'] = 2;
                 $this->updateArrearageTable($arrearageVal, $updateArrearageArr, $apiData, $otherData);
                 continue;
             }
             // 获取房东房源信息
             $house = $this->getCommissionProPDataById($commission->houseId);
             if (!$house) {
                 $otherData = '房东房源表中不存在数据';
                 $updateArrearageArr['status'] = 2;
                 $this->updateArrearageTable($arrearageVal, $updateArrearageArr, $apiData, $otherData);
                 continue;
             }
             /*
              * 2. 获取账户余额
              */
             $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($arrearageVal->brokerId, 'sale');
             $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
             $balance = $balance * 100;
             $updateArrearageArr['balance'] = $balance;
             if ($balance < $arrearageVal->price) {
                 // 余额不足,插入消费日志
                 $otherData = '余额不足';
                 $updateArrearageArr['status'] = 2;
             } else {
                 /*
                  * 3.余额足够,调用扣费API
                  */
                 $commName = mb_strlen($house->commName, "utf-8") <= 12 ? $house->commName : mb_substr($house->commName, 0, 12, "utf-8") . "...";
                 $note = "抢委托扣费,房源信息:" . $commName . " " . $house->userName . "(房源id" . $house->id . ")";
                 $apiResult = Bll_Broker_EntrustConsume::getInstance()->callCosumeApi($userId, $arrearageVal->requestId, $arrearageVal->price, $note);
                 // 扣费成功
                 if ($apiResult['status'] === true) {
                     $updateArrearageArr['status'] = 3;
                     $otherData = '扣费成功';
                     $apiData = $apiResult['apiData'];
                     // 更新adconsume表状态
                     $tmpConsumeData = Bll_Broker_EntrustConsume::getInstance()->getDataById($arrearageVal->consumeId, $arrearageVal->dateIndex);
                     if ($tmpConsumeData) {
                         $consumeData = $tmpConsumeData[0];
                         $consumeData->balance = $balance;
                         $consumeData->status = 5;
                         $consumeData->updateTime = date("Y-m-d H:i:s", time());
                         $consumeData->save();
                     }
                 } else {
                     // 扣费失败
                     $updateArrearageArr['status'] = 2;
                     $otherData = '扣费失败';
                 }
             }
             $this->updateArrearageTable($arrearageVal, $updateArrearageArr, $apiData, $otherData);
         }
     }
 }
 public function handle_request()
 {
     $adConsumeList = $this->getRequestData();
     $sengMail = array();
     $i = $id = 0;
     foreach ($adConsumeList as $adConsumeVal) {
         $id = $adConsumeVal->id;
         $sengMail[$i]['brokerId'] = $adConsumeVal->brokerId;
         $sengMail[$i]['dateIndex'] = $adConsumeVal->dateIndex;
         ++$i;
         $this->createTime = time();
         $updateConsumeArr = array();
         $oldStatus = $adConsumeVal->status;
         /*
          *1.设置ad_consume.status = 1,为正在处理中  更新ad_consume为处理状态(更新失败,跳出继续执行下一跳数据)
          */
         $check = Bll_Broker_ShowcaseConsumeQuery::getInstance()->updateConsumeInfo($this->consumeDateIndex, array('id' => $adConsumeVal->id, 'status' => $this->consumeStatus), array('status' => 1), $this->_dateBase);
         if ($check['status'] == false) {
             $this->callBackOldStatus($adConsumeVal, $oldStatus);
             continue;
         }
         /*
          * 2.判断欠费表是否已经存在,如果存在则执行下一条
          */
         $tmpArrearageData = Bll_Broker_ShowcaseArrearageQuery::getInstance()->getDataByBrokerIdAndDateIndex($adConsumeVal->brokerId, $this->consumeDateIndex, $this->_dateBase);
         if (!empty($tmpArrearageData)) {
             $this->callBackOldStatus($adConsumeVal, $oldStatus);
             continue;
         }
         /*
          * 3.更新相关数据
          */
         // 判断 request_id 值是否存在,否则更新
         if (empty($adConsumeVal->requestId)) {
             // 生存requestId,并保存
             $requestId = Bll_Broker_ShowcaseConsumeQuery::getInstance()->getPayMentRequestId($adConsumeVal->id, $adConsumeVal->dateIndex, $this->_dateBase);
             $updateConsumeArr['requestId'] = $requestId;
             $adConsumeVal->requestId = $requestId;
         }
         // 判断 price是否存在,否则则更新
         if (empty($adConsumeVal->price)) {
             $tmpArr = array('cityId' => $adConsumeVal->cityId, 'status' => 1, 'startDate' => $this->consumeDateIndex);
             $tmpCityPrice = Bll_Broker_ConfigCityPrice::getInstance()->getCityPrice($tmpArr, $this->_dateBase);
             if ($tmpCityPrice) {
                 $updateConsumeArr['price'] = $tmpCityPrice->discountPrice > 0 ? $tmpCityPrice->discountPrice : 0;
                 $adConsumeVal->price = $updateConsumeArr['price'];
             }
         }
         // 判断昨日推广房源是否存在
         if (empty($adConsumeVal->houseNum)) {
             $yesterdayPropData = Bll_Broker_ShowcaseAdSetPro::getInstance()->getBrokerHouses($adConsumeVal->brokerId, $this->consumeDateIndex, $this->_dateBase);
             if ($yesterdayPropData <= 0) {
                 $updateConsumeArr['status'] = 2;
                 $this->updateAdConsumeLogTable($adConsumeVal, $updateConsumeArr, 1, '', '无主推房源');
                 continue;
             } else {
                 $updateConsumeArr['houseNum'] = $yesterdayPropData;
                 $adConsumeVal->houseNum = $yesterdayPropData;
             }
         }
         // 更新balance
         $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($adConsumeVal->brokerId, $this->_dateBase);
         $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
         $balance = $balance * 100;
         $this->updateAdConsumeLogTable($adConsumeVal, $updateConsumeArr, 1);
         /*
          * 插入欠费表
          */
         $this->insertArrearage($adConsumeVal, $balance, $this->consumeStatus);
         /*
          * 执行结束
          */
         $this->callBackOldStatus($adConsumeVal, $oldStatus);
     }
     // 设置游标
     $this->setMyFlag($id);
     $this->sengDeal($sengMail);
 }
Example #6
0
 public function handle_request()
 {
     $queryList = $this->getRequestData();
     if (!empty($queryList)) {
         foreach ($queryList as $val) {
             /*
              *1.Start 设置status = 1,为正在处理中  更新队列为处理状态(更新失败,跳出继续执行下一跳数据)
              */
             $check = Bll_Broker_EntrustQuery::getInstance()->updateQueryInfo(array('id' => $val->id, 'status' => array(0, 2)), array('status' => 1));
             if ($check['status'] == false) {
                 continue;
             }
             $val->add_old_property_value('status', 1);
             /*
              * 2.验证经纪人是否抢到房源
              */
             $commission = $this->getCommissionDataById($val->commissionId);
             if (!$commission) {
                 // 更新status=2,并报警
                 $this->updateQueryTable($val, 2);
                 continue;
             }
             // 获取房东房源信息
             $house = $this->getCommissionProPDataById($commission->houseId);
             if (!$house) {
                 // 更新status=2,并报警
                 $this->updateQueryTable($val, 2);
                 continue;
             }
             /*
              * 3.验证 entrust_consume_sale 是否已经存在,存在则执行下一条;不存在,则插入
              */
             $tmpConsumeSale = Bll_Broker_EntrustConsume::getInstance()->getDataByCommissionId($commission->id, $val->dateIndex, true);
             if (!empty($tmpConsumeSale)) {
                 $this->updateQueryTable($val, 3);
                 continue;
             }
             // 获取委托价格
             if (!empty($this->_city_price[$val->cityId])) {
                 $cityPrice = $this->_city_price[$val->cityId];
             } else {
                 $startDate = date("Ymd");
                 $cityPrice = Bll_Broker_EntrustPrice::getInstance()->getSalePrice($val->cityId, $startDate);
                 $this->_city_price[$val->cityId] = $cityPrice;
             }
             // 判断如果价格是否为0
             if ($cityPrice == 0) {
                 // 报警处理,发送短信
                 $content = "委托扣费异常,cityPrice为0,异常QueryId为:" . $val->id . ";城市id:" . $val->cityId;
                 Bll_Broker_ShowcaseCommon::getInstance()->sendAlertMsg($this->mobileArr, $content);
                 continue;
             }
             // 插入一条数据,并获得结果
             $consumeData = $this->addConsume($val, $commission, $cityPrice);
             if (empty($consumeData)) {
                 $this->updateQueryTable($val, 2);
                 continue;
             }
             // 更新request_id
             $requestId = Bll_Broker_EntrustConsume::getInstance()->getPayMentRequestId($consumeData->id, $consumeData->dateIndex);
             $consumeData->requestId = $requestId;
             $consumeData->save();
             /*
              * 4.开始扣费
              */
             $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($commission->brokerId, 'sale');
             $commName = mb_strlen($house->commName, "utf-8") <= 12 ? $house->commName : mb_substr($house->commName, 0, 12, "utf-8") . "...";
             $note = "抢委托扣费,房源信息:" . $commName . " " . $house->userName . "(房源id" . $house->id . ")";
             $apiResult = Bll_Broker_EntrustConsume::getInstance()->callCosumeApi($userId, $requestId, $cityPrice, $note);
             // 扣费成功
             if ($apiResult['status'] === true) {
                 $apiData = $apiResult['apiData'];
                 if (!empty($apiData)) {
                     if (!empty($apiData['response'])) {
                         if (!empty($apiData['response']['data'])) {
                             if (!empty($apiData['response']['data']['account'])) {
                                 $afterBalance = $apiData['response']['data']['account']['balance'];
                             }
                         }
                     }
                 }
                 //  更新entrust_consume_sale表状态,并插入详细日志
                 $updateArr = array('status' => 4, 'balance' => $afterBalance + $cityPrice);
                 $this->updateEntrustConsumeSaleTable($consumeData, $updateArr, 1, $apiResult['apiData'], '扣费成功');
             } else {
                 //  更新entrust_consume_sale表状态,并插入详细日志
                 $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
                 $balance = $balance * 100;
                 // 转化成分
                 $updateArr = array('status' => 3, 'balance' => $balance);
                 $this->updateEntrustConsumeSaleTable($consumeData, $updateArr, 1, $apiResult['apiData'], '调用API扣费,扣费失败');
                 // 扣费失败,插入欠费
                 $this->insertArrearage($val, $consumeData, $balance, $apiResult['apiData'], '调用API扣费,扣费失败 ' . $apiResult['msg']);
             }
             /*
              * 5.End.
              * 更新query的status=3
              */
             $this->updateQueryTable($val, 3);
         }
     }
 }
Example #7
0
 /**
  * 抢委托操作流程
  * @param $houseId 房源id
  * @param $brokerId 二手房经纪人Id
  * @param $brokerName 二手房经纪人真实姓名
  * @param $brokerPhone 经纪人手机电话
  * @param $cityId 经纪人城市id
  * @param $comeFrom 来源
  * @param $isConsume 是否扣费
  * @param $conboOn 套餐是否开启
  * @return array
  */
 public function saleRush($houseId, $brokerId, $brokerName, $brokerPhone, $cityId, $comeFrom = Const_Entrust::RUSH_FROM_PC, $isConsume = true, $conboOn = false)
 {
     $result = array('status' => 0, 'data' => array(), 'errorMsg' => "");
     if (empty($houseId) || empty($brokerId) || empty($cityId) || empty($brokerName) || empty($brokerPhone)) {
         $result['status'] = 99;
         $result['errorMsg'] = "输入的参数不正确";
         return $result;
     }
     // 验证套餐开关是否开启
     if ($conboOn == true) {
         $conbosProNum = Bll_Combo_Broker_BrokerComboInfo::getTotalCombosProNum($brokerId);
         if ($conbosProNum['totalSalePropNum'] <= 0) {
             $result['status'] = 20;
             $result['errorMsg'] = "没有购买出售套餐。";
             return $result;
         }
     }
     // 判断房源ID
     $id = isset($houseId) & intval($houseId) > 0 ? intval($houseId) : 0;
     if ($houseId <= 0) {
         $result['status'] = 2;
         $result['errorMsg'] = "无效的房源编号。";
         return $result;
     }
     // 判断委托房源是否存在
     $house = Model_House_CommissionHouse::data_access()->filter('id', $id)->find_only();
     if (!$house) {
         $result['status'] = 3;
         $result['errorMsg'] = "房源不可委托:房源不存在。";
         return $result;
     }
     if ($house->commissionType != Model_House_CommissionHouse::COMMISSION_TYPE_SALE) {
         $result['status'] = 4;
         $result['errorMsg'] = "房源类型不是二手房";
         return $result;
     }
     // 判断委托房源状态
     if ($house->proStatus != Model_House_CommissionHouse::STATUS_ONGOING) {
         if ($house->proStatus == Model_House_CommissionHouse::STATUS_DELETED) {
             $result['status'] = 9;
             $result['errorMsg'] = "房源不可委托:已被房东删除。";
         } elseif ($house->proStatus == Model_House_CommissionHouse::STATUS_ILLEGAL) {
             $result['status'] = 10;
             $result['errorMsg'] = "房源不可委托:已被违规删除。";
         } elseif ($house->proStatus == Model_House_CommissionHouse::STATUS_STOP) {
             $result['status'] = 11;
             $result['errorMsg'] = "房源不可委托:已被停止委托。";
         } elseif ($house->proStatus == Model_House_CommissionHouse::STATUS_SAVE) {
             $result['status'] = 12;
             $result['errorMsg'] = "房源不可委托:已被估价保存。";
         } else {
             $result['status'] = 5;
             $result['errorMsg'] = "房源不可委托:已过期。";
         }
         return $result;
     }
     // 判断委托房源已委托数量
     if ($house->openBrokerCnt >= Model_House_CommissionHouse::allowedMaxCommissionCount()) {
         $result['status'] = 6;
         $result['errorMsg'] = '委托已满。';
         return $result;
     }
     // 判断是否已抢过委托
     $commission = Model_House_Commission::data_access()->filter('brokerId', $brokerId)->filter('houseId', $house->id)->find_only();
     if ($commission) {
         $result['status'] = 7;
         $result['errorMsg'] = '你已经委托了该房源。';
         return $result;
     }
     if ($isConsume === true) {
         // 获取余额
         $userId = Bll_Broker_BrokerCheckInfo::getUserIdByBrokerId($brokerId, 'sale');
         $balance = Bll_Broker_ShowcaseOrders::getInstance()->getBrokerMoney($userId);
         $balance = $balance * 100;
         // 获取委托价格
         $startDate = date("Ymd");
         $price = Bll_Broker_EntrustPrice::getInstance()->getSalePrice($cityId, $startDate);
         // 判断余额是否足够
         if ($balance < $price) {
             $result['status'] = 8;
             $result['errorMsg'] = '对不起,您的账户余额不足,请充值。';
             return $result;
         }
     }
     // 判断15天内未发布的房源的数量是否最多3套
     $tmpTime = time() - 15 * 24 * 3600;
     $startTime = date("Y-m-d H:i:s", $tmpTime > strtotime(Const_Entrust::EUSH_3HOUSE_RULE_STARTTIME) ? $tmpTime : strtotime(Const_Entrust::EUSH_3HOUSE_RULE_STARTTIME));
     $tmpCommission = Model_House_Commission::data_access()->load_field('id')->load_field('type')->load_field('brokerHouseId')->load_field('publishTime')->load_field('isDelete')->filter('brokerId', $brokerId)->filter_by_op('createTime', '>', $startTime)->find();
     // bug46464 慢查询,故把数据获取后来处理
     $tmpCount = 0;
     if (!empty($tmpCommission)) {
         foreach ($tmpCommission as $val) {
             if ($tmpCount == 5000) {
                 break;
             }
             if ($val['publishTime'] == '0000-00-00 00:00:00' && $val['isDelete'] == Model_House_Commission::DELETE_NO && $val['type'] == Model_House_Commission::TYPE_SALE && $val['brokerHouseId'] == 0) {
                 $tmpCount++;
             }
         }
     }
     if ($tmpCount == 5000) {
         $result['status'] = 15;
         $result['errorMsg'] = '15天之内已抢房源中有5000套未发,禁止经纪人继续抢房';
         return $result;
     }
     // 更新commission_prop表的openBrokerCnt+1
     if (!$house->updateCommissionCount()) {
         $result['status'] = 6;
         $result['errorMsg'] = '委托已满。';
         return $result;
     }
     // 更新成功 插入e_commission表
     $commission = Model_House_Commission::create(array('type' => $house->commissionType, 'ownerId' => $house->userId, 'houseId' => $house->id, 'brokerId' => $brokerId, 'origin' => $comeFrom, 'createTime' => date('Y-m-d H:i:s'), 'updateTime' => date('Y-m-d H:i:s')));
     $commission->save();
     if ($isConsume === true) {
         // 插入扣费队列
         $insertQueryArr = array('cityId' => $cityId, 'commissionId' => $commission->id, 'status' => 0, 'dateIndex' => date("Ymd"), 'createTime' => time(), 'updateTime' => date("Y-m-d H:i:s"));
         Bll_Broker_EntrustQuery::getInstance()->insertOneData($insertQueryArr);
     }
     // 更新推送房源状态
     $pushedHouse = Model_House_CommissionHousePushed::data_access()->filter('brokerId', $brokerId)->filter('propertyId', $house->id)->find_only();
     if ($pushedHouse) {
         $pushedHouse->propertyStatus = Model_House_CommissionHousePushed::STATUS_RUSHED;
         $pushedHouse->save();
     }
     // 记录到commission_sale_log日志表
     Bll_Broker_EntrustConsumeLog::getInstance()->insertCommissionSaleLog($house, $brokerId);
     // 给房东发送短信
     if ($house->ownerMobile) {
         // 小区名称
         $commName = mb_strlen($house->commName, "utf-8") <= 12 ? $house->commName : mb_substr($house->commName, 0, 12, "utf-8") . "...";
         // 经纪人信息
         $content = $house->userName . "您好,您在安居客发布的" . $commName . "的委托已被经纪人" . $brokerName . "接受,联系方式" . $brokerPhone;
         Bll_Broker_ShowcaseCommon::getInstance()->sendAlertMsg(array($house->ownerMobile), $content, 1010);
     }
     //给app房东推送消息,added by xiongjiewu at 2014-08-07
     $this->pushEntrustMsg($brokerId, $id);
     // 拼装返回数据
     $result['status'] = 1;
     // 抢委托成功
     $result['data'] = array('owner' => $house->userName, 'phone' => $house->getPhone(), 'title' => '', 'summary' => '', 'manageUrl' => '');
     $area = '[' . implode('-', $house->getAreaCodeNames()) . '] ';
     $houseModel = "{$house->roomNum}室{$house->hallNum}厅{$house->toiletNum}卫,{$house->areaNum}平方米,";
     $baseDomain = APF::get_instance()->get_config('base_domain', 'common');
     $baseUri = defined('BASE_URI') ? BASE_URI : '';
     $result['data']['title'] = '[出售] ' . $house->commName;
     $result['data']['summary'] = $area . $houseModel . $house->proPrice . '万元';
     $result['data']['manageUrl'] = "http://my.{$baseDomain}{$baseUri}/commissions/mysale";
     return $result;
 }