/**
  * 写更新竞价排名的队列
  */
 public static function setBidUpdateQ($intSpreadId, $intStatus = 0)
 {
     if (!$intSpreadId) {
         return false;
     }
     $da = new Model_Plan_JpSpreadBidUpdate();
     $da->spread_id = intval($intSpreadId);
     $da->status = $intStatus;
     $da->create_time = date('Y-m-d H:i:s');
     $da->save();
 }
Esempio n. 2
0
 public static function stopJpBidData($list)
 {
     $checkList = self::checkList($list);
     if (!$checkList['status']) {
         return $checkList;
     }
     $planInfo = Model_Plan_Jp::data_access()->filter('id', $list['planId'])->find_only();
     if ($planInfo->isDelete == Model_Plan_Jp::ENUM_IS_DELETE_YES) {
         return Bll_HzPropBll::build_return(0, '无效的竞价计划' . json_encode($list));
     }
     if ($planInfo->status != Model_Plan_Jp::ENUM_STATUS_ONLINE) {
         return Bll_HzPropBll::build_return(0, '竞价计划不在推广中' . json_encode($list));
     }
     if ($planInfo->type != Model_Plan_Jp::ENUM_TYPE_BID) {
         return Bll_HzPropBll::build_return(0, '竞价计划类型有误' . json_encode($list));
     }
     if (!in_array($planInfo->bidVersion, array(Model_Plan_Jp::BIDVERSION_OLD, Model_Plan_Jp::BIDVERSION_CHOICE))) {
         return Bll_HzPropBll::build_return(0, '竞价计划version error' . json_encode($list));
     }
     $houseIdx = Model_House_JpHouseIdx::data_access()->filter('id', $planInfo['houseId'])->find_only();
     if (empty($houseIdx)) {
         return Bll_HzPropBll::build_return(0, '金铺房源信息没有' . json_encode($list));
     }
     if ($houseIdx->bidSpreadId != $planInfo->id) {
         return Bll_HzPropBll::build_return(0, '金铺房源信息有误bidSpreadId' . json_encode($list));
     }
     $houseIdx->bidSpreadId = 0;
     if (!$houseIdx->save()) {
         return Bll_HzPropBll::build_return(0, '金铺房源信息更新失败' . json_encode($list));
     }
     //发送结算
     $params = array();
     $params['spread_id'] = $planInfo->id;
     $params['log_status'] = 7;
     Bll_Plan_Bid_JpSettlement::getInstance()->settlement($params, 'bid');
     $planInfo->status = Model_Plan_Jp::ENUM_STATUS_OVER;
     $planInfo->isDelete = 1;
     $planInfo->updateTime = date('Y-m-d H:i:s');
     if (!$planInfo->save()) {
         return Bll_HzPropBll::build_return(0, '金铺计划信息更新失败' . json_encode($list));
     }
     //房源下架tosolr
     Bll_House_JpHouseInfo::updateHouseToSolr(1, $planInfo->houseId, 1);
     //通知更新q_spread_bid_update表 计算竞价系数
     Model_Plan_JpSpreadBidUpdate::setBidUpdateQ($planInfo->id);
     //记录房源日志
     $data = array('houseId' => $houseIdx->id, 'planId' => $planInfo->id, 'brokerId' => $list['brokerId'], 'cityId' => $planInfo->cityId, 'type' => 15, 'changeType' => 407, 'remark' => '房源' . $houseIdx->id . '移出定价计划/取消套餐推广。竞价' . $planInfo->id . '(id)取消竞价推广。', 'addDate' => date('Y-m-d H:i:s'), 'operatorId' => $list['operationId'], 'siteType' => 3);
     if (!Model_Log_HouseLogNew::create($data, date('Ymd'))->save()) {
         return Bll_HzPropBll::build_return(0, array("日志写入失败"));
     }
     return Bll_HzPropBll::build_return(1, array('竞价' . $planInfo->id . '(id)取消竞价推广。'));
 }
 public static function updateBucketStatusAndHouseToSolr($spreadInfo, $brokerId = 0, $func = '', $reason = '')
 {
     $bidBucket = Model_Choice_JPBidBucket::getBucketInfo($spreadInfo->blockId, $spreadInfo->newBlockId, $spreadInfo->houseType, $spreadInfo->priceId);
     $limit = $bidBucket['totalNum'];
     $bidChoicePlan = Model_Plan_Jp::getBidChoicePlan($spreadInfo->blockId, $spreadInfo->newBlockId, $spreadInfo->priceId, $spreadInfo->houseType, $limit, $spreadInfo->memberId, $spreadInfo->cityId);
     $upHouse = $downHouse = array();
     if ($bidChoicePlan && $bidBucket) {
         foreach ($bidChoicePlan as $i => $planInfo) {
             if ($i < $bidBucket['maxOnlineNum']) {
                 if (6 == $planInfo->status) {
                     //将计划状态改成 2
                     $planInfo->status = 2;
                     $planInfo->save();
                     $params = array();
                     $params['houseId'] = $planInfo->houseId;
                     $params['plan_id'] = $planInfo->id;
                     $params['ajk_broker_id'] = $brokerId;
                     $params['city_id'] = $spreadInfo->cityId;
                     $params['type'] = 14;
                     //13-精选排队中,14-精选推广,15-取消精选推广,16-取消精选排队
                     $params['changeType'] = self::$propLog[$func]['changeType'];
                     $_remark = '由于' . $reason . ',导致房源:' . $planInfo->houseId . '上架';
                     self::writeHouseLogV2($params, $_remark);
                     //房源上架tosolr
                     Bll_House_JpHouseInfo::updateHouseToSolr(1, $planInfo->houseId, 1);
                     //通知更新q_spread_bid_update表 计算竞价系数
                     Model_Plan_JpSpreadBidUpdate::setBidUpdateQ($planInfo->id);
                     $upHouse[] = $planInfo->houseId;
                 }
             } else {
                 if (2 == $planInfo->status) {
                     //将计划状态改成 6
                     $planInfo->status = 6;
                     $planInfo->save();
                     $params = array();
                     $params['houseId'] = $planInfo->houseId;
                     $params['plan_id'] = $planInfo->id;
                     $params['ajk_broker_id'] = $brokerId;
                     $params['city_id'] = $spreadInfo->cityId;
                     $params['type'] = 15;
                     //13-精选排队中,14-精选推广,15-取消精选推广,16-取消精选排队
                     $params['changeType'] = self::$propLog[$func]['changeType'];
                     $_remark = '由于' . $reason . ',导致房源:' . $planInfo->houseId . '下架';
                     self::writeHouseLogV2($params, $_remark);
                     //房源下架tosolr
                     Bll_House_JpHouseInfo::updateHouseToSolr(1, $planInfo->houseId, 1);
                     //通知更新q_spread_bid_update表 计算竞价系数
                     Model_Plan_JpSpreadBidUpdate::setBidUpdateQ($planInfo->id);
                     $downHouse[] = $planInfo->houseId;
                 }
             }
         }
         $remark = '由于' . $reason . ',导致商业地产精选推广';
         if ($upHouse || $downHouse) {
             if ($upHouse) {
                 $remark .= '上架房源:' . implode(',', $upHouse);
             }
             if ($downHouse) {
                 $remark .= '下架房源:' . implode(',', $downHouse);
             }
         } else {
             $remark .= '暂无上下架房源';
         }
         return $remark;
     }
     return $reason;
 }