コード例 #1
0
ファイル: AgcyInfo.php プロジェクト: emilymwang8/ajk-broker
 public static function getAgcyType($userId)
 {
     $accountInfo = Model_Broker_AgcyAccount::getAgcyByUserId($userId);
     if (!is_array($accountInfo) || count($accountInfo) < 1) {
         return 0;
     }
     if (1 == $accountInfo['RoleId'] || 5 == $accountInfo['RoleId']) {
         //查询agency信息
         $agency = Model_Broker_AgcyAgency::getAgcyByAgencyId($accountInfo['AgencyId']);
         if (1 == $agency['IfManageAllStores']) {
             return 5;
         }
     }
     $agcyJ = Model_Broker_AgcyJurisdiction::getAgcyJurisdictionByAccountId($accountInfo['AccountId']);
     if (is_array($agcyJ) && count($agcyJ)) {
         //属于1,2,3,4其中之一
         return $agcyJ['Type'];
     } else {
         return 0;
     }
 }
コード例 #2
0
ファイル: Overview.php プロジェクト: emilymwang8/ajk-broker
 public function handle_request_internal()
 {
     $objRequest = APF::get_instance()->get_request();
     $userTypeNew = $objRequest->getUserTypeNew();
     $userId = $objRequest->getUserId();
     if (2 == $userTypeNew) {
         //经纪人展示
         $brokerId = $objRequest->getBrokerId();
         $Daily = Model_Wechat_BrokerDaily::getDailyByBrokerId($brokerId);
     } elseif (3 == $userTypeNew) {
         //门店账号展示
         $agcyAccount = Model_Broker_AgcyAccount::getAgcyByUserId($userId);
         $agcyType = Bll_Broker_AgcyInfo::getAgcyType($userId);
         $Daily = Model_Wechat_GroupDaily::getDailyByAccountId($agcyAccount['AccountId']);
         $objRequest->set_attribute("agcyType", $agcyType);
     } else {
         exit('error');
     }
     $dayStr = date('m月d日', time() - 24 * 3600);
     $objRequest->set_attribute("dayStr", $dayStr);
     $objRequest->set_attribute("Daily", $Daily);
     $objRequest->set_attribute("brokerId", intval($brokerId));
     return 'Wechat_Mbroker_Data_Overview';
 }
コード例 #3
0
ファイル: Verify.php プロジェクト: emilymwang8/ajk-broker
 public function handle_request_internal()
 {
     $apf = APF::get_instance();
     $response = $apf->get_response();
     $request = APF::get_instance()->get_request();
     $params = $request->get_parameters();
     //加密公钥
     $member_key = $apf->get_config("member_key");
     //加密字符串
     $key = $params['key'];
     //用户ID
     $uid = $params['uid'];
     //用户NAME
     $username = $params['name'];
     //用户类型
     $usertype = $params['utype'];
     //$response->set_cookie("uid",$uid);
     $response->set_cookie("usertype", $usertype);
     //成功跳转页面
     $location = base64_decode(urldecode($params['location']));
     if (strpos($location, chr(13))) {
         $location = substr($location, 0, strpos($location, chr(13)));
     }
     if (strpos($location, '?') !== false) {
         $location .= '&_r=' . mt_rand(0, time());
     } else {
         $location .= '?_r=' . mt_rand(0, time());
     }
     //用户登录时间
     $time = $params['time'];
     //key的过期时间
     $keytime = $params['keytime'];
     //是否来自经纪人登陆
     $frombroker = $params['frombroker'];
     $errmsg = htmlspecialchars(urldecode($params['errmsg']));
     //错误代码
     $error = $params['error'];
     //来源
     $sid = @APF::get_instance()->get_request()->get_parameter("sid");
     //登陆成功
     if ($uid && Bll_Security_Member::check_key($key, $uid, $username, $member_key, $time, $keytime)) {
         $user = Model_Broker_Member::getAjkMembersByUserId($uid);
         if ($user->userType > 1) {
             $broker = Model_Broker_AjkBrokerExtend::getBrokerInfoByUserId($user->userId);
         }
         if ($user) {
             header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
             $brokerid = 0;
             $cookietime = 86400 * 365;
             $ucity = APF::get_instance()->get_request()->getCityId();
             if ($user->userType == 2) {
                 // 自动创建三网支付中心账号
                 /*$bll_account = new BLL_Acenter_AccountUser();
                   $bll_account->create_three_account_must($uid);*/
                 if (intval($broker->checkState) == 2) {
                     // 被业务经理关闭的帐号
                     $errorMess = Const_Verify::CLOSE_ERROR;
                 }
                 if (intval($broker->accountType) == 10000) {
                     // 被业务经理冻结帐号
                     $errorMess = Const_Verify::FREEZE_ERROR;
                 }
                 if ($broker->isLogin == 0 && $broker->punish == 2) {
                     //黑名单经纪人不管是免费的还是续费的,立即关闭。
                     $errorMess = Const_Verify::BLACK_ERROR;
                 }
                 if ($errorMess) {
                     $backurl = strpos($location, '?') ? $location . '&errorMess=' . $errorMess : $location . '?errmsg=' . $errorMess;
                     Uri_Http::redirect_header($backurl, 302);
                     return;
                 }
                 $ucity = @$broker->cityId;
                 $brokerid = @$broker->brokerId;
                 $cookietime = 0;
                 $userTypeNew = Const_Verify::BROKER_USER;
             } else {
                 //查询是用户是否门店
                 $AgcyInfo = Model_Broker_AgcyAccount::getAgcyByUserId($user->userId);
                 if (is_array($AgcyInfo) && count($AgcyInfo)) {
                     $userTypeNew = Const_Verify::COMPANY_USER;
                 } else {
                     $userTypeNew = Const_Verify::COMMON_USER;
                 }
             }
             $userid = $user->userId;
             $username = $user->userName;
             $usertype = $user->userType;
             $fuid = $user->fuid;
             $emailpass = 1;
             if ($brokerid > 0) {
                 Model_Log_BrokerLogin::insertLoginLog(date('Ym'), $brokerid);
             }
             $anjuke_secques = APF::get_instance()->get_config("AnjukeSecques");
             $this->setLoginDataCookie($userid, $username, $usertype, $emailpass, $anjuke_secques, 0, $fuid, $ucity, $brokerid, $cookietime, $afutype = 0, $sid, $userTypeNew);
             $this->setLastLoinUserName($username, 86400 * 365);
         }
         //跳转用户原访问页面
         if (!$params['no_redirect']) {
             Uri_Http::redirect_header($location, 302);
         }
     } else {
         //登陆失败
         $backurl = strpos($location, '?') ? $location . '&errorMess=' . $errmsg . '&errorCode=' . $error : $location . '?errorMess=' . $errmsg . '&errorCode=' . $error;
         Uri_Http::redirect_header($backurl, 302);
         return;
     }
 }
コード例 #4
0
 public function handle_request_internal()
 {
     $objRequest = APF::get_instance()->get_request();
     $params = $objRequest->get_parameters();
     $baseUrl = '/ajkbroker/mbroker/data/weiliaodata?action=GetBrokersData';
     $userTypeNew = $objRequest->getUserTypeNew();
     $userId = $objRequest->getUserId();
     $userName = $objRequest->getUserName();
     if (3 != $userTypeNew) {
         echo '<script>window.history.go(-1);</script>';
         exit;
     }
     //获取门店账号类别,0为非门店账号,1为组账号,2真实门店账号,3区经账号,4总监账号,5总账号
     $agcyAccount = Model_Broker_AgcyAccount::getAgcyByUserId($userId);
     $accountId = $agcyAccount['AccountId'];
     $agcyType = Bll_Broker_AgcyInfo::getAgcyType($userId);
     if (1 == $agcyType || $params['action'] == 'GetBrokersData') {
         if ($params['action'] == 'GetBrokersData') {
             $objRequest->set_attribute("action", $params['action']);
             $objRequest->set_attribute("baseUrl", $baseUrl);
             $objRequest->set_attribute("teamName", urldecode($params['teamName']));
             $accountId = $params['teamAccount'];
         }
         $objRequest->set_attribute("typeName", '经纪人');
         $classname = 'broker';
         //获取前16位经纪人信息
         $topBroker = Model_Wechat_BrokerDaily::getBrokerListByTeamAccount($accountId, 'DESC', 16);
         if (count($topBroker) > 15) {
             //展示前五和后五
             $showType = 2;
             $startList = array_slice($topBroker, 0, 5);
             $endList = Model_Wechat_BrokerDaily::getBrokerListByTeamAccount($accountId, 'ASC', 5);
             $objRequest->set_attribute("startList", $startList);
             $objRequest->set_attribute("endList", $endList);
         } else {
             //展示所有记录
             $showType = 1;
             $objRequest->set_attribute("allList", $topBroker);
         }
     } elseif ($agcyType > 1) {
         $objRequest->set_attribute("typeName", '门店');
         $classname = 'mendian';
         //获取前16位门店信息
         $topAgcy = Model_Wechat_GroupDaily::getAgcyListByTeamAccount($accountId, $agcyType, 'DESC');
         foreach ($topAgcy as $k => $v) {
             $topAgcy[$k]['avg'] = floatval($v['replyRate'] * 0.5) + floatval($v['avgResponseMin'] * 0.5);
             $avg[] = $topAgcy[$k]['avg'];
         }
         array_multisort($avg, SORT_DESC, $topAgcy);
         if (count($topAgcy) > 15) {
             //展示前五和后五
             $showType = 2;
             $startList = array_slice($topAgcy, 0, 5);
             $endList = array_slice($topAgcy, -5);
             $objRequest->set_attribute("startList", $startList);
             $objRequest->set_attribute("endList", $endList);
         } else {
             //展示所有记录
             $showType = 1;
             $objRequest->set_attribute("allList", $topAgcy);
         }
     }
     //获取门店信息汇总
     $Daily = Model_Wechat_GroupDaily::getDailyByAccountId($accountId);
     $objRequest->set_attribute("agcyType", $agcyType);
     $objRequest->set_attribute("userName", $userName);
     $objRequest->set_attribute("Daily", $Daily);
     $objRequest->set_attribute("showType", $showType);
     $objRequest->set_attribute("classname", $classname);
     $objRequest->set_attribute("agcyType", $agcyType);
     $objRequest->set_attribute("baseUrl", $baseUrl);
     return 'Wechat_Mbroker_Data_WeiliaoData';
 }