Ejemplo n.º 1
0
 /**
  * 开始处理数据
  * @return bool
  */
 protected function proccessData()
 {
     if (empty($this->jobData)) {
         //没有数据
         if ($this->jobYmd != $this->currentYmd) {
             //如果job年月不等于当前年月日,则将job年月初始化为当前年月日
             $this->jobYmd = $this->currentYmd;
             $this->id = 0;
         }
         return false;
     }
     foreach ($this->jobData as $jobData) {
         $this->id = $jobData->id;
         //查询委托关系
         $commissionInfo = Model_House_Commission::getInfoByBrokerIdAndBrokerHouseId($jobData->houseId, 1);
         if (!empty($commissionInfo)) {
             $brokerHouseId = $commissionInfo->brokerHouseId;
             $commissionInfo->brokerHouseId = 0;
             $commissionInfo->deleteTime = '0000-00-00 00:00:00';
             if ($commissionInfo->save()) {
                 //插入委托删除日志
                 $deleDb = new Model_House_CommissionSaleLog();
                 $deleDb->cityId = $jobData->cityId;
                 $deleDb->ownerId = $commissionInfo->ownerId;
                 $deleDb->houseId = $commissionInfo->houseId;
                 $deleDb->brokerId = $commissionInfo->brokerId;
                 $deleDb->brokerHouseId = $brokerHouseId;
                 $deleDb->dateindex = $this->jobYmd;
                 $deleDb->status = Model_House_CommissionSaleLog::STATUS_PROP_DEL;
                 $deleDb->origin = $commissionInfo->origin;
                 $deleDb->createTime = time();
                 $deleDb->save();
                 var_dump('LOG:' . $jobData->id . ' commissionInfo done!' . "\n");
                 unset($commissionInfo);
                 unset($deleDb);
             }
         }
         var_dump('LOG:' . $jobData->id . ' is done!' . "\n");
     }
     return true;
 }
Ejemplo n.º 2
0
 /**
  * 开始处理数据
  * @return bool
  */
 protected function proccessData()
 {
     if (empty($this->jobData)) {
         //没有数据
         return false;
     }
     $tDate = date('Ymd');
     foreach ($this->jobData as $jobData) {
         $this->id = $jobData->id;
         //查询委托关系
         $commissionInfo = Model_House_Commission::getInfoByBrokerIdAndBrokerHouseId($jobData->proId, 1, '');
         if (!empty($commissionInfo)) {
             if (empty($this->cPropInfo[$commissionInfo->houseId])) {
                 //房东房源具体信息
                 try {
                     $this->cPropInfo[$commissionInfo->houseId] = Model_House_CommissionHouse::data_access()->find_by_pk($commissionInfo->houseId);
                 } catch (Exception $e) {
                     $this->cPropInfo[$commissionInfo->houseId] = false;
                 }
             }
             $commissionProp = $this->cPropInfo[$commissionInfo->houseId];
             if (empty($commissionProp)) {
                 //房东信息没有,跳过处理下一跳
                 continue;
             }
             //写入委托房源被推广日志
             $spreadObj = new Model_House_CommissionSaleLog();
             $spreadObj->cityId = $commissionProp->cityId;
             $spreadObj->ownerId = $commissionInfo->ownerId;
             $spreadObj->houseId = $commissionInfo->houseId;
             $spreadObj->brokerId = $commissionInfo->brokerId;
             $spreadObj->brokerHouseId = $jobData->proId;
             $spreadObj->dateindex = $tDate;
             $spreadObj->status = $jobData->type == 1 ? Model_House_CommissionSaleLog::STATUS_PROP_FS : Model_House_CommissionSaleLog::STATUS_PROP_BS;
             $spreadObj->origin = $commissionInfo->origin;
             $spreadObj->createTime = time();
             $spreadObj->save();
             unset($spreadObj);
             $firstSmsInfo = Model_House_CommissionFirstAction::getBrokerHouseInfo($commissionInfo->brokerId, $commissionInfo->houseId);
             if (!empty($firstSmsInfo)) {
                 //如果已经发过短信,无需再处理
                 continue;
             }
             if (empty($this->brokerInfo[$commissionInfo->brokerId])) {
                 //经纪人信息
                 $this->brokerInfo[$commissionInfo->brokerId] = Model_Broker_AjkBrokerExtend::data_access()->find_by_pk($commissionInfo->brokerId);
             }
             $bInfo = $this->brokerInfo[$commissionInfo->brokerId];
             if (empty($bInfo) || empty($commissionProp)) {
                 continue;
             }
             if (mb_strlen($commissionProp->commName, 'UTF-8') > 12) {
                 //小区名称
                 $commName = mb_substr($commissionProp->commName, 0, 12, 'UTF-8') . '...';
             } else {
                 $commName = $commissionProp->commName;
             }
             //短信内容
             $content = $commissionProp->userName . '您好,' . $bInfo->trueName . ' ' . $bInfo->userMobile . ' 已将您在' . $commName . '的房源在安居客网站上挂牌';
             $smsInfo = array('userid' => $commissionProp->userId, 'brokerid' => $commissionInfo->brokerId, 'mobile' => $commissionProp->ownerMobile, 'content' => $content, 'status' => '0', 'createtime' => date('Y-m-d H:i:s'), 'bizid' => 1010);
             Model_Notice_AjkSmsTask::insertLayer($smsInfo);
             //插入发短信信息表
             $smsObj = new Model_House_CommissionFirstAction();
             $smsObj->brokerId = $commissionInfo->brokerId;
             $smsObj->houseId = $commissionInfo->houseId;
             $smsObj->type = $jobData->type;
             $smsObj->dateIndex = $tDate;
             $smsObj->createTime = time();
             $smsObj->save();
             //给app推送消息
             $this->senfAppMsg($commissionInfo->brokerId, $jobData->proId, $commissionInfo->houseId, $commissionProp->userId);
             var_dump('LOG:' . $jobData->id . ' send sms done!' . "\n");
         }
         var_dump('LOG:' . $jobData->id . ' is done!' . "\n");
     }
     return true;
 }