예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 房源添加竞价/更新竞价 判断
  */
 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;
 }
예제 #3
0
 /**
  * 经纪人没有定价计划时,需要创建
  * 避免主从延迟,直接拼数组返回
  */
 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();
 }