public function handle_request_internal() { $brokerId = $this->_params['brokerId']; $propId = $this->_params['propId']; $budget = $this->_params['budget']; $offer = $this->_params['offer']; //根据安居客经纪人ID获取好租经纪人ID $brokerId_hz = Bll_HzBroker::get_brokerid_by_ajk_brokerid($this->_params['brokerId']); if ($brokerId_hz) { $broker_info = Dao_Broker_HzPlan::get_hzbroker_info($brokerId_hz); if (!Bll_City::isBidCity($broker_info['cityid'])) { $error_code = Const_HzErrorInfo::NOBIDCITY; return array('status' => 'error', 'errcode' => $error_code, 'message' => Bll_HzFixPlan::get_message_from_code($error_code)); } } $plan_id = Bll_HzBidPlan::get_planid_by_propid($propId); //@todo 不明白为什么一定要用propid而不用计划id $ret_offer = Bll_HzBidPlan::change_bid_offer($plan_id, $offer); //修改出价 $ret_budget = Bll_HzBidPlan::change_bid_budget($plan_id, $budget); //修改预算 ----$new_amount 为需要增加的预算 $r = array(); if ($ret_offer['status'] && $ret_budget['status']) { $r = array('status' => 'ok', 'data' => array()); } else { if (!$ret_offer['status']) { $r = array('status' => 'error', 'errcode' => $ret_offer['msg'], 'message' => Bll_HzFixPlan::get_message_from_code($ret_offer['msg'])); } if (!$ret_budget['status']) { $r = array('status' => 'error', 'errcode' => $ret_budget['msg'], 'message' => Bll_HzFixPlan::get_message_from_code($ret_budget['msg'])); } } return $r; }
public function handle_request_internal() { $brokerId_ajk = $this->_params['brokerId']; if (empty($brokerId_ajk)) { return Util_MobileAPI::error(Const_APIStatus::E_BROKER_PARAM_MISS); } //根据安居客经纪人ID获取好租经纪人ID $brokerId_hz = Bll_HzBroker::get_brokerid_by_ajk_brokerid($brokerId_ajk); $fixplans = Bll_HzFixPlan::get_broker_fixplans($brokerId_hz); $ret = array('status' => 'ok', 'data' => array()); if ($fixplans) { $plan = array(); $status_arr = array(1 => '有效', 2 => '计划上限', 3 => '手工结束', 4 => '暂停', 5 => '待推广', 6 => '删除', 7 => '余额上限', 9 => '手动停止'); $city_id = $fixplans[0]['city_id']; if (empty($city_id)) { $user_info = Dao_Broker_HzPlan::get_hzbroker_info($brokerId_hz); $city_id = $user_info['cityid']; } $cityTop = Bll_HzFixPlan::get_citytop($city_id); //播种城市 foreach ($fixplans as $planInfo) { if (!empty($cityTop)) { $fixPlanPropCeiling = round($cityTop['money'] / 100, 2); $fixPlanPropCeiling = $fixPlanPropCeiling ? $fixPlanPropCeiling : 0; } else { $fixPlanPropCeiling = $planInfo['amount'] ? $planInfo['amount'] : 0; } $tmp = array('fixPlanId' => $planInfo['id'], 'fixPlanName' => $planInfo['plan_title'], 'fixPlanPropCeiling' => $fixPlanPropCeiling, 'fixPlanPropNum' => $planInfo['prop_count'] ? $planInfo['prop_count'] : 0, 'fixPlanState' => $planInfo['status'], 'fixPlanStateDesc' => $status_arr[$planInfo['status']]); $plan['planList'][] = $tmp; } $ret = array('status' => 'ok', 'data' => $plan); } return $ret; }
public function handle_request_internal() { //根据安居客经纪人ID获取好租经纪人ID $brokerId_hz = Bll_HzBroker::get_brokerid_by_ajk_brokerid($this->_params['brokerId']); if ($brokerId_hz) { $broker_info = Dao_Broker_HzPlan::get_hzbroker_info($brokerId_hz); if (!Bll_City::isBidCity($broker_info['cityid'])) { $error_code = Const_HzErrorInfo::NOBIDCITY; return array('status' => 'error', 'errcode' => $error_code, 'message' => Bll_HzFixPlan::get_message_from_code($error_code)); } } $ret = Bll_HzBidPlan::prop_out_bid($brokerId_hz, $this->_params['propId']); $r = array(); if ($ret['status']) { $r = array('status' => 'ok', 'data' => array()); } else { return Util_MobileAPI::error(Const_APIStatus::E_PLAN_PARAM_ERR); } return $r; }
public function handle_request_internal() { //根据安居客经纪人ID获取好租经纪人ID $brokerId_hz = Bll_HzBroker::get_brokerid_by_ajk_brokerid($this->_params['brokerId']); if ($brokerId_hz) { $broker_info = Dao_Broker_HzPlan::get_hzbroker_info($brokerId_hz); if (!Bll_City::isBidCity($broker_info['cityid'])) { $error_code = Const_HzErrorInfo::NOBIDCITY; return array('status' => 'error', 'errcode' => $error_code, 'message' => Bll_HzFixPlan::get_message_from_code($error_code)); } } $propId = $this->_params['propId']; $planId = $this->_params['planId']; $ret = Bll_HzBidPlan::delete_bid($brokerId_hz, $planId, $propId); //竞价解冻开发中 if ($ret['status']) { $r = array('status' => 'ok', 'data' => array()); } else { $r = array('status' => 'error', 'errcode' => $ret['msg'], 'message' => Bll_HzFixPlan::get_message_from_code($ret['msg'])); } return $r; }
/** * 房源添加竞价/更新竞价 判断 */ public static function check_bid($proid, $broker_id, $offer, $amount, $ajkBrokerId = 0) { $proinfo = Dao_Broker_HzProp::get_prop($proid); $basic_info = $proinfo[$proid]['content_basic']; if (empty($basic_info)) { $flag_array['msg'] = Const_HzErrorInfo::PROPERROR; return $flag_array; } if ($basic_info['userid'] != $broker_id) { $flag_array['msg'] = Const_HzErrorInfo::PROPFAIL; return $flag_array; } if (!$basic_info['quality']) { $flag_array['msg'] = Const_HzErrorInfo::PROPPIC; return $flag_array; } $bid_min_offer = self::get_bid_minoffer($proid); if ((int) ($offer * 100) < (int) ($bid_min_offer * 100)) { $flag_array['msg'] = Const_HzErrorInfo::BIDOFFERFAIL; return $flag_array; } if ((int) ($offer * 100) > (int) ($amount * 100)) { $flag_array['msg'] = Const_HzErrorInfo::BIDOFFERTOP; return $flag_array; } if ($amount < 20) { $flag_array['msg'] = Const_HzErrorInfo::BIDAMOUNT; return $flag_array; } $bid_planning = Dao_Broker_HzPlan::get_prop_planning($proid, Const_HzPlan::BID_TYPE, '1'); if (!empty($bid_planning)) { $flag_array['msg'] = Const_HzErrorInfo::PROPBID; return $flag_array; } if ($ajkBrokerId) { //判断房源是否加入定价计划或者套餐 $isComboBroker = Bll_Broker_HzBroker::isComboBroker($ajkBrokerId); if ($isComboBroker) { //判断房源是否加入套餐 $comboInfo = Bll_Combo_HouseRelation::getHouseRelation($ajkBrokerId, $basic_info['cityid'], $proid, Bll_Combo_HouseRelation::SITE_TYPE_HZ); if (!(!empty($comboInfo) && $comboInfo[0]['state'] > 100 & $comboInfo[0]['state'] < 200)) { $flag_array['msg'] = Const_HzErrorInfo::NOCOMBOPROP; return $flag_array; } } else { $fix_planning = Dao_Broker_HzPlan::get_prop_planning($proid); if (empty($fix_planning)) { $flag_array['msg'] = Const_HzErrorInfo::PROPNOTFIX; return $flag_array; } } } else { $fix_planning = Dao_Broker_HzPlan::get_prop_planning($proid); if (empty($fix_planning)) { $flag_array['msg'] = Const_HzErrorInfo::PROPNOTFIX; return $flag_array; } } $bidprops = Bll_HzBidPlan::get_broker_bidprop($broker_id, $basic_info['cityid']); //@todo 此处是个坑,值得优化哦 //$plans = Dao_Broker_HzPlan::get_broker_plan($broker_id, '1,3,7,8', Const_HzPlan::BID_TYPE); if (count($bidprops) >= 10) { $flag_array['msg'] = Const_HzErrorInfo::PROPBIDTEN; return $flag_array; } $broker_info = Dao_Broker_HzPlan::get_hzbroker_info($broker_id); if ($broker_info['profile_verify'] != 2) { $flag_array['msg'] = Const_HzErrorInfo::BROKERCHECK; return $flag_array; } $balance = Bll_PayAccount::get_broker_balance($broker_id); if ((int) ($amount * 100) > (int) ($balance * 100)) { $flag_array['msg'] = Const_HzErrorInfo::BIDAMOUNTTOP; return $flag_array; } $flag_array['status'] = 1; return $flag_array; }
/** * 经纪人没有定价计划时,需要创建 * 避免主从延迟,直接拼数组返回 */ public static function add_broker_plan($broker_id) { $broker_info = Dao_Broker_HzPlan::get_hzbroker_info($broker_id); $city_top = self::get_citytop($broker_info['cityid']); $plans = Dao_Broker_HzPlan::get_broker_plan($broker_id); //定价计划最多5个 if (count($plans) >= 5) { return array(); } //封顶城市最多一个计划 if (!empty($city_top) && count($plans) >= 1) { return array(); } $broker_money = Bll_PayAccount::get_broker_balance($broker_id); $default_plan = APF::get_instance()->get_config('plan_info', 'hzmessage'); $plan_status = Const_HzPlan::SPREAD; if ($broker_money <= 0) { $plan_status = Const_HzPlan::UPPERLIMIT; } else { if ($broker_info['profile_verify'] != 2) { $plan_status = Const_HzPlan::MANUALLY_PAUSE; } } $plan_id = Dao_Broker_HzPlan::add_plan($default_plan['plan_name'], Const_HzPlan::SPREAD_TYPE, $broker_id, $default_plan['amount'], $plan_status); if ($plan_id) { return array(0 => array('id' => $plan_id, 'plan_title' => $default_plan['plan_name'], 'plan_type' => Const_HzPlan::SPREAD_TYPE, 'user_id' => $broker_id, 'amount' => $default_plan['amount'], 'consume' => 0, 'total_consume' => 0, 'valid_count' => 0, 'status' => $plan_status, 'stop_date' => 0, 'created' => time(), 'last_update' => date('Y-m-d H:i:s'), 'flag' => 1, 'order_update' => time())); } return array(); }
public function handle_request_internal() { /* @params planId :计划id @params resType :默认为0,0表示不取计划房源信息,1为取房源信息 @params from :来源 @success return 该计划id的信息 */ if (!isset($this->_params['brokerId'])) { return Util_MobileAPI::error(Const_APIStatus::E_PLAN_PARAM_BROKERID_MISS); } $brokerId = $this->_params['brokerId']; //根据安居客经纪人ID获取好租经纪人ID $brokerId_hz = Bll_HzBroker::get_brokerid_by_ajk_brokerid($brokerId); if ($brokerId_hz) { $broker_info = Dao_Broker_HzPlan::get_hzbroker_info($brokerId_hz); if (!Bll_City::isBidCity($broker_info['cityid'])) { return array('status' => 'ok', 'data' => array('propertyList' => array())); } } if (Bll_Broker_HzBroker::isComboBroker($brokerId)) { //获取套餐推广房源列表 $comboList = Bll_Combo_HouseRelation::getHouseRelations($brokerId, Bll_Combo_HouseRelation::SITE_TYPE_HZ, 1); if (!empty($comboList)) { foreach ($comboList as $combo) { $comboIds[$combo['houseId']] = 1; } //获取竞价房源 去除竞价房源 $validBidPlans = Model_Plan_HzPlanBasic::getBidPlansByBrokerId($brokerId_hz); $planIds = array(); if (!empty($validBidPlans)) { foreach ($validBidPlans as $plan) { if ($plan['flag'] == 1 && $plan['status'] != Const_HzPlan::DELETE) { $planIds[] = $plan['id']; } } if (!empty($planIds)) { $bidPlannings = Model_Plan_HzPlanning::getPlanningByPlanIds($planIds); } if (!empty($bidPlannings)) { foreach ($bidPlannings as $bid) { unset($comboIds[$bid['proid']]); } } } //$propertyList = Model_House_HzProp::getPropsByPropIds(array_keys($comboIds)); $propertyList = Dao_Broker_HzProp::get_prop(array_keys($comboIds)); if (!empty($propertyList)) { foreach ($propertyList as $key => $list) { if ($list['content_basic']['quality'] != 1) { unset($propertyList[$key]); } } } $result = $propertyList; } else { $result = array(); } //去除竞价房源和非多图房源 } else { $result = Bll_HzBidPlan::get_canbid_props($brokerId_hz); } $return = array(); $return["status"] = "ok"; $return["data"]['propertyList'] = array(); if (!empty($result)) { $proprow = array(); foreach ($result as $propertyList) { $proprow["id"] = $propertyList['proid']; $proprow["title"] = $propertyList['content_basic']['title']; $proprow["commId"] = $propertyList['content_basic']['commid']; $proprow["commName"] = $propertyList['content_basic']['commname']; $proprow["roomNum"] = $propertyList['content_basic']['roomnum']; $proprow["hallNum"] = $propertyList['content_basic']['hallnum']; $proprow["toiletNum"] = $propertyList['content_basic']['toilnetnum']; $proprow["area"] = round($propertyList['content_basic']['areanum']); $proprow["price"] = round($propertyList['content_basic']['pricenum']); $proprow["isMoreImg"] = $propertyList['content_basic']['quality'] ? 1 : 0; $proprow["priceUnit"] = "元"; $return["data"]['propertyList'][] = $proprow; unset($proprow); } unset($result); } return $return; }