/** * 开始处理数据 * @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; }
/** * 开始处理数据 * @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; }