コード例 #1
0
ファイル: Editplan.php プロジェクト: emilymwang8/ajk-broker
 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;
 }
コード例 #2
0
ファイル: Getplans.php プロジェクト: emilymwang8/ajk-broker
 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;
 }
コード例 #3
0
ファイル: SpreadStop.php プロジェクト: emilymwang8/ajk-broker
 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;
 }
コード例 #4
0
ファイル: Cancelplan.php プロジェクト: emilymwang8/ajk-broker
 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;
 }
コード例 #5
0
ファイル: HzBidPlan.php プロジェクト: emilymwang8/ajk-broker
 /**
  * 房源添加竞价/更新竞价 判断
  */
 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;
 }
コード例 #6
0
ファイル: HzFixPlan.php プロジェクト: emilymwang8/ajk-broker
 /**
  * 经纪人没有定价计划时,需要创建
  * 避免主从延迟,直接拼数组返回
  */
 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();
 }
コード例 #7
0
 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;
 }