/** * 竞价计划删除操作 */ public static function delete_bid($broker_id, $plan_id, $proid) { $flag_array = array('status' => 0, 'msg' => ''); if (empty($broker_id) || empty($plan_id) || empty($proid)) { $flag_array['msg'] = Const_HzErrorInfo::PARAMS; return $flag_array; } $planning = Dao_Broker_HzPlan::get_check_planning($proid, $plan_id, Const_HzPlan::BID_TYPE); if (empty($planning)) { $flag_array['msg'] = Const_HzErrorInfo::PROPFIXNULL; return $flag_array; } $plan_info = Dao_Broker_HzPlan::get_plan($plan_id); if (empty($plan_info)) { $flag_array['msg'] = Const_HzErrorInfo::NULLPLAN; return $flag_array; } if ($plan_info['user_id'] != $broker_id || $plan_info['plan_type'] != Const_HzPlan::BID_TYPE) { $flag_array['msg'] = Const_HzErrorInfo::PROPUSERNULL; return $flag_array; } // 如果精选 由job读取上下架日志处理 if ($plan_info['bidVersion'] == 2) { $flag_array['status'] = 1; return $flag_array; } if ($plan_info['status'] == 1) { //正在推广的竞价,先停止再删除 $outBidResult = self::prop_out_bid($broker_id, $proid, true); if ($outBidResult['status'] == 1) { Dao_Broker_HzPlan::update_history_bids($plan_id); $flag_array = $outBidResult; return $flag_array; } else { $flag_array['msg'] = $outBidResult['msg']; return $flag_array; } } else { Dao_Broker_HzPlan::update_history_bids($plan_id); $flag_array['status'] = 1; return $flag_array; } }
/** * 将单个房源从定价组中移除 */ public static function prop_out_fix($broker_id, $proid, $plan_id) { $flag_array = array('status' => 0, 'msg' => ''); $proinfo = Dao_Broker_HzProp::get_prop($proid); if (empty($proinfo[$proid])) { $flag_array['msg'] = Const_HzErrorInfo::PROPNULL; return $flag_array; } $plan_info = Dao_Broker_HzPlan::get_plan($plan_id); if (empty($plan_info)) { $flag_array['msg'] = Const_HzErrorInfo::NULLPLAN; return $flag_array; } if ($plan_info['user_id'] != $broker_id) { $flag_array['msg'] = Const_HzErrorInfo::PLANINFOERROR; return $flag_array; } if ($proinfo[$proid]['content_basic']['userid'] != $plan_info['user_id']) { $flag_array['msg'] = Const_HzErrorInfo::PROPUSERNULL; return $flag_array; } $planning = Dao_Broker_HzPlan::get_check_planning($proid, $plan_id); if (empty($planning)) { $flag_array['msg'] = Const_HzErrorInfo::PROPFIXNULL; return $flag_array; } //写入定价上下架队列表 $ProPlanChangeApiBll = Bll_ProPlanChangeApiBll::get_instance(); $ajkBrokerId = Model_Broker_HzMapping::get_ajk_broker_id($broker_id); $ProPlanChangeApiBll->insertProPlanChange(array('broker_id' => $ajkBrokerId, 'pro_id' => $proid, 'plan_id' => $plan_id, 'type' => 'pro_del_from_plan', 'from' => 'hz_' . __CLASS__ . '_' . __FUNCTION__, 'remark' => json_encode(array('fix' => array('plan_status' => 1))), 'site_type' => 2), $ajkBrokerId); $bid = Dao_Broker_HzPlan::get_prop_planning($proid, Const_HzPlan::BID_TYPE, '1'); if (!empty($bid)) { //停止竞价 $deleteBidResult = Bll_HzBidPlan::delete_bid($broker_id, $bid[0]['plan_id'], $proid); } $log_option = Const_HzLog::PAUSEPLAN; $new_is_valid = Const_HzPlan::MENUPAUSE; $basic_info = $proinfo[$proid]['content_basic']; //更新房源计划信息 if (Dao_Broker_HzProp::change_prop_status($proid, Const_HzStatus::OUTLINE)) { //更新房源状态 if (Dao_Broker_HzPlan::update_planning($planning[0]['id'], $new_is_valid)) { //更新关联关系 Dao_Broker_HzPlan::add_prop_log($proid, $log_option, $basic_info['userid'], $plan_id, $basic_info['status'], Const_HzStatus::OUTLINE); //记房源日志 if ($basic_info['status'] == Const_HzStatus::ONLINE) { //插入solr队列,房源下线 Dao_Broker_HzProp::into_prop_lucene($proid, $basic_info['cityid'], 2); //写日志 Dao_Broker_HzProp::ezft_assistant_log($planning[0]['proid'], $basic_info['userid'], Const_HzPlan::SPREAD_TYPE, $basic_info['spread_type']); Dao_Broker_HzProp::add_updown_log($planning[0]['proid'], $plan_id, Const_HzStatus::GOOFFLINE, $log_option); } $flag_array['status'] = 1; return $flag_array; } } $flag_array['msg'] = Const_HzErrorInfo::DATAFAIL; return $flag_array; }