Example #1
0
 public static function getFykStatus($userId, $cityId)
 {
     $userInfo = Model_Fyk_Users::data_access()->filter(Model_Fyk_Users::USER_ID, $userId)->get_row();
     $isOpen = 0;
     $status = -1;
     $message = '未开通房源库功能';
     //判断城市开关
     $cityInfo = Bll_Fyk_Prop_Manage::getInstance()->getCityConfig($cityId);
     if (empty($cityInfo)) {
         $data = array('isOpen' => 0, 'status' => -1, 'message' => '未开通房源库功能');
         return $data;
     }
     if (!empty($userInfo)) {
         $isOpen = 1;
         $openDate = intval($userInfo['openDate']);
         $today = intval(date('Ymd', time()));
         if ($userInfo['status'] == Model_Fyk_Users::INIT) {
             $message = '房源库功能尚未激活';
             $status = $userInfo['status'];
         }
         if ($userInfo['status'] == Model_Fyk_Users::INVITATION) {
             if ($today >= $openDate) {
                 $message = '房源库功能已经激活';
                 $status = $userInfo['status'];
             } else {
                 $message = '您已被关入小黑屋,暂不能使用房源库功能';
                 $status = Model_Fyk_Users::BLACK;
             }
         }
     }
     //4.3版本 对之前版本做的兼容处理
     if ($status == -1) {
         $brokerInfo = Bll_Broker_User::getBrokerInfoByUserId($userId);
         if (!empty($brokerInfo)) {
             $companyId = intval($brokerInfo['companyId']);
             if (!empty($_SERVER['PG_TEST'])) {
                 //如果是PG
                 $blackList = APF::get_instance()->get_config('pg_blacklist_company_ids');
                 $userBlackList = array();
             } else {
                 $blackList = APF::get_instance()->get_config('blacklist_company_ids');
                 $userBlackList = APF::get_instance()->get_config('blacklist_user_ids');
             }
             if (!in_array($companyId, $blackList) && !in_array($userId, $userBlackList)) {
                 //若不在黑名单公司,则显示房源库入口
                 $isOpen = 1;
                 $status = 0;
                 $message = '房源库功能尚未激活';
             }
         }
     }
     // TODO 获取用户激活状态
     $data = array('isOpen' => $isOpen, 'status' => $status, 'message' => $message);
     return $data;
 }
Example #2
0
 public function handle_request_internal()
 {
     $userId = $this->_params['userId'];
     $type = $this->_params['type'];
     $source = $this->_params['source'];
     $amount = $this->_params['amount'];
     //$amount = 1;
     $userAccoutId = Bll_Fyk_Payment_User::getInstance()->getUserAccountId($userId);
     if (empty($userAccoutId)) {
         return array("status" => "error", "errcode" => Const_APIStatus::E_FYK_PROP_ACTION_ACCOUNT_IS_NULL, "message" => "支付中心账户创建失败");
     }
     /*****************创建充值订单**********/
     $addArr = array('userId' => $userId, 'accountId' => $userAccoutId, 'price' => $amount, 'payType' => $type, 'status' => Model_Fyk_RechargeOrder::STATUS_NODEAL, 'source' => $source, 'createTime' => time());
     $id = Bll_Fyk_Payment_Recharge::getInstance()->insertRechargeOrder($addArr);
     $tmpData = Bll_Fyk_Payment_Recharge::getInstance()->getRechargeOrderDataById($id);
     if (empty($id) || empty($tmpData)) {
         return array("status" => "error", "errcode" => Const_APIStatus::E_UNKNOWN, "message" => "充值插入数据库失败");
     }
     $rechargeOrder = $tmpData[0];
     $requestId = Bll_Fyk_Payment_Common::getInstance()->createRequsetId("recharge", $id);
     $orderNo = Bll_Fyk_Payment_Common::getInstance()->createOrderNo("recharge", $requestId);
     $this->updateRechargeOrderTable($rechargeOrder, array('orderNo' => $orderNo, 'status' => Model_Fyk_RechargeOrder::STATUS_DEALING));
     /*****************生成支付中心充值参数**********/
     // 获取ack
     $tmpAckResult = Bll_Fyk_Payment_Common::getInstance()->getAckValue($userAccoutId);
     $ack = $tmpAckResult['status'] ? $tmpAckResult['sessionkey'] : "";
     $userData = Bll_Broker_User::getBrokerInfoByUserId($userId);
     $apps = APF::get_instance()->get_config('apps', 'acenter');
     $userName = !empty($userData) ? $userData['trueName'] : '';
     $orderName = "移动经纪人钱包充值";
     $appId = $apps['fyk']['appId'];
     $backUrl = $this->getBackUrl($id, $userId, $amount);
     $cityId = !empty($userData) ? $userData['cityId'] : '';
     $mobile = !empty($userData) ? $userData['userMobile'] : '';
     if (empty($userAccoutId) || empty($ack) || empty($userName) || empty($cityId) || empty($mobile)) {
         return array('status' => "error", "errcode" => Const_APIStatus::E_PARAM_MISS, "message" => "参数不正确");
     }
     $objApi = new Uri_PayCenterAPI();
     $acUrl = $objApi->redirectWabPayCenter($amount / 100, $userAccoutId, $ack, $userName, $orderName, $appId, $backUrl, $orderNo, $cityId, $mobile, $orderNo);
     return array('status' => "ok", 'data' => array('acUrl' => $acUrl), "message" => "成功");
 }
Example #3
0
 /**
  * @param $audit
  * @param $type
  * @return bool
  */
 private function _insertDataByType($audit, $type)
 {
     $brokerInfo = Bll_Broker_User::getBrokerInfoByUserId(intval($audit['userId']));
     $message = $this->_punishMsg($audit);
     $punishMsg = '发布了假房源 (' . $message . ')';
     if ($type == Model_Fyk_UserPunish::DETENTION) {
         $openTime = strtotime('+' . Const_Fyk::DETENTION_TIME . ' day');
         $openDate = intval(date('Ymd', $openTime));
     } else {
         $openDate = 0;
     }
     $data = array('cityId' => $audit['cityId'], 'userId' => $audit['userId'], 'brokerId' => $brokerInfo['brokerId'], 'status' => $type, 'openDate' => $openDate, 'actionType' => $audit['type'], 'punishReason' => $punishMsg, 'createTime' => date('Y-m-d H:i:s', time()));
     $punishId = Model_Fyk_UserPunish::getInstance()->insertData($data);
     return $punishId;
 }