/** * app 获取经纪人基础信息 */ public static function get_broker_baseinfo_app($broker_id) { $base_info = Dao_Broker_BrokerInfo::get_broker_base_info($broker_id); if (empty($base_info)) { return array(); } //头像状态 $usrPhotoState = $base_info['USRPHOTOSTATE']; $usrPhotoTmpState = $base_info['USRPHOTOTMPSTATE']; $userPhotoTmp = $base_info['USERPHOTOTMP']; $userPhoto = $base_info['USERPHOTO']; $imageUrl = ''; $photoStaus = 0; if ($usrPhotoState == 2 || $usrPhotoTmpState == 1) { $photoStaus = 1; //已认证 $imageUrl = Util_DisplayImages::get_img_url($userPhoto, -1, '100x133'); } elseif ($usrPhotoState == 0 && empty($userPhoto) && empty($userPhotoTmp)) { $photoStaus = 0; //未认证 } elseif ($usrPhotoState == 1 || $usrPhotoTmpState == 0 && !empty($userPhotoTmp)) { $photoStaus = 2; //认证中 } elseif ($usrPhotoState == 3 || $usrPhotoTmpState == 2) { $photoStaus = 3; //认证失败 } //身份证状态 $usrCardState = $base_info['USRCARDSTATE']; $userCardFile = $base_info['USERCARDFILE']; $userCardStatus = 0; if ($usrCardState == 0 && empty($userCardFile)) { $userCardStatus = 0; //未认证 } elseif ($usrCardState == 1) { $userCardStatus = 2; //认证中 } elseif ($usrCardState == 2) { $userCardStatus = 1; //已认证 } elseif ($usrCardState == 3) { $userCardStatus = 3; //认证失败 } //名片状态 $bnsCardState = $base_info['BNSCARDSTATE']; $bnsCardStatus = 0; $lastupdata = Bll_BrokerBaseBll::get_instance()->getLastPostBnsCardFile($broker_id); $isPass = $lastupdata['IsPass']; if (empty($lastupdata)) { //没认证 $bnsCardStatus = 0; } else { if ($base_info['CHECKSTATE'] == 0) { switch ($bnsCardState) { case 1: //认证中 $bnsCardFile $bnsCardStatus = 2; break; case 2: //已认证 $bnsCardFile $bnsCardStatus = 1; break; case 3: //认证失败 $bnsCardFile $bnsCardStatus = 3; break; } } elseif ($base_info['CHECKSTATE'] == 1) { if ($isPass == 0) { //认证中 FileName $bnsCardStatus = 2; } elseif ($isPass == 1) { //已认证 FileNam $bnsCardStatus = 1; } elseif ($isPass == 2) { //认证失败 FileName $bnsCardStatus = 3; } } } //城市 $citys = array(); $citys_tmp = Dao_Broker_BrokerInfo::get_citys(); foreach ($citys_tmp as $city) { $citys[$city['CITYID']] = $city['TYPENAME']; } //门店 if ($base_info['CST_BROKER_COMPANY_ID'] != 0) { $cst_commpany = Dao_Broker_BrokerInfo::get_cst_company($base_info['CST_BROKER_COMPANY_ID']); } else { $cst_commpany['COMANYNAME'] = ""; } //区域板块 $area = Dao_Broker_BrokerInfo::get_comm(substr($base_info['AREACODE'], 4, 4)); $block = Dao_Broker_BrokerInfo::get_comm(substr($base_info['AREACODE'], 8, 4)); $return['brokerName'] = $base_info['TRUENAME']; $return['phone'] = $base_info['USERMOBILE']; $return['city_id'] = $base_info['CITYID']; $return['cityName'] = $citys[$base_info['CITYID']]; // 城市名 $return['workRegion'] = $area['TYPENAME'] . ' ' . $block['TYPENAME']; //工作区域 //获取所属公司 $com = Model_Broker_CstCompany::getCompanyNameById($base_info['COMPANYID']); $return['company'] = $com['CompanyName']; //所属公司 $return['store'] = $cst_commpany['COMANYNAME']; //所属门店 $return['display'] = ""; $return['bnsCardStatus'] = $bnsCardStatus; $return['userCardStatus'] = $userCardStatus; $return['userPhotoStatus'] = $photoStaus; $return['imageUrl'] = $imageUrl; $return['userId'] = $base_info['USERID']; //账户余额 $hzbroker_id = Bll_HzBroker::get_brokerid_by_ajk_brokerid($broker_id); if (!$hzbroker_id) { $hzbroker_id = $broker_id; } $broker_money = Bll_PayAccount::get_broker_balance($hzbroker_id); $return['balance'] = sprintf("%.2f", $broker_money); return $return; }
/** * 房源添加竞价/更新竞价 判断 */ 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(); }