Example #1
0
 public function getList($params)
 {
     $filter['user_id'] = pamAccount::getAccountId();
     $objMdlUserPoint = app::get('sysuser')->model('user_points');
     $objMdlUserPointLog = app::get('sysuser')->model('user_pointlog');
     $objMdlUserPoint->defaultOrder = array('modified_time', 'DESC');
     //分页
     $pageSize = $params['page_size'] ? $params['page_size'] : 40;
     $pageNo = $params['page_no'] ? $params['page_no'] : 1;
     $max = 1000000;
     if ($pageSize >= 1 && $pageSize < 500 && $pageNo >= 1 && $pageNo < 200 && $pageSize * $pageNo < $max) {
         $limit = $pageSize;
         $page = ($pageNo - 1) * $limit;
     }
     $data['datalist']['user'] = $objMdlUserPoint->getRow('point_count', $filter);
     //积分过期时间
     $expiredMonth = app::get('sysconf')->getConf('point.expired.month');
     $expiredMonth = $expiredMonth ? $expiredMonth : 12;
     $expiredTime = strtotime(date('Y-' . $expiredMonth . '-01 23:59:59') . " +1 month -1 day");
     $data['datalist']['user']['expired_time'] = $expiredTime;
     //排序
     $orderBy = $params['orderBy'];
     if (!$params['orderBy']) {
         $orderBy = "modified_time desc";
     }
     $data['totalnum'] = $objMdlUserPointLog->count($filter);
     if (!$params['fields']) {
         $params['fields'] = "*";
     }
     $data['datalist']['point'] = $objMdlUserPointLog->getList($params['fields'], $filter, $page, $limit, $orderBy);
     return $data;
 }
Example #2
0
 public function getList($params)
 {
     $filter['user_id'] = pamAccount::getAccountId();
     $objMdlUser = app::get('sysuser')->model('user');
     $objMdlUserExp = app::get('sysuser')->model('user_experience');
     $objMdlUserExp->defaultOrder = array('modified_time', 'DESC');
     //分页
     $pageSize = $params['page_size'] ? $params['page_size'] : 40;
     $pageNo = $params['page_no'] ? $params['page_no'] : 1;
     $max = 1000000;
     if ($pageSize >= 1 && $pageSize < 500 && $pageNo >= 1 && $pageNo < 200 && $pageSize * $pageNo < $max) {
         $limit = $pageSize;
         $page = ($pageNo - 1) * $limit;
     }
     //排序
     $orderBy = $params['orderBy'];
     if (!$params['orderBy']) {
         $orderBy = "modified_time desc";
     }
     $data['datalist']['user'] = $objMdlUser->getRow('experience', $filter);
     $data['totalnum'] = $objMdlUserExp->count($filter);
     if (!$params['fields']) {
         $params['fields'] = "*";
     }
     $data['datalist']['exp'] = $objMdlUserExp->getList($params['fields'], $filter, $page, $limit, $orderBy);
     return $data;
 }
Example #3
0
 public function call($method, $parameters = array(), $appId = 'default', $identity = "")
 {
     if ($identity) {
         switch ($identity) {
             case "buyer":
                 pamAccount::setAuthType('sysuser');
                 $oauth['auth_type'] = pamAccount::getAuthType('sysuser');
                 break;
             case "seller":
                 pamAccount::setAuthType('sysshop');
                 $oauth['auth_type'] = pamAccount::getAuthType('sysshop');
                 break;
             case "shopadmin":
                 pamAccount::setAuthType('desktop');
                 $oauth['auth_type'] = pamAccount::getAuthType('desktop');
                 break;
         }
         $oauth['account_id'] = pamAccount::getAccountId();
         $oauth['account_name'] = pamAccount::getLoginName();
     }
     $parameters['oauth'] = $oauth;
     if ($this->distribute()) {
         if ($appId != 'default') {
             $appId = $appId;
         }
         return $this->callOutside($method, $parameters, $appId);
     } else {
         return $this->callInternal($method, $parameters);
     }
 }
Example #4
0
 function __construct()
 {
     pamAccount::setAuthType('desktop');
     if (pamAccount::check()) {
         $this->user_id = pamAccount::getAccountId();
         if (empty($_SESSION['account']['user_data'])) {
             $_SESSION['account']['user_data'] = array();
             $account = app::get('desktop')->model('account');
             if ($row = $account->getList('account_id', array('account_id' => $this->user_id))) {
                 $model = app::get('desktop')->model('users');
                 $data = $model->getList('user_id', array('user_id' => $this->user_id));
                 if (!$data) {
                     unset($_SESSION['account'][$this->account_type]);
                 } else {
                     $_SESSION['account']['user_data'] = app::get('desktop')->model('users')->dump($this->user_id, '*', array(':account@desktop' => array('*')));
                 }
             } else {
                 unset($_SESSION['account'][$this->account_type]);
             }
         }
         $this->user_data = $_SESSION['account']['user_data'];
     } else {
         $this->user_data = array();
     }
 }
Example #5
0
 public function couponUseLog($apiData)
 {
     $data['tid'] = $apiData['tid'];
     $data['is_valid'] = '0';
     $filter['user_id'] = pamAccount::getAccountId();
     $filter['coupon_code'] = $apiData['coupon_code'];
     return app::get('sysuser')->model('user_coupon')->update($data, $filter);
 }
Example #6
0
 public function basicinfo($params)
 {
     $objMdlUser = app::get('sysuser')->model('user');
     $objMdlUserGrade = app::get('sysuser')->model('user_grade');
     $userData = $objMdlUser->getRow('grade_id,experience', array('user_id' => pamAccount::getAccountId()));
     $gradeData = $objMdlUserGrade->getRow("grade_name,grade_logo", array('grade_id' => $userData['grade_id']));
     $rsdata = array_merge($userData, $gradeData);
     return $rsdata;
 }
Example #7
0
 /**
  * @brief 生成唯一的用户标识
  *
  * @return 返回md5的值
  */
 public function getUserIdentMd5($userId = null)
 {
     pamAccount::setAuthType('sysuser');
     $userId = pamAccount::getAccountId();
     if ($userId) {
         return md5($userId);
     } else {
         return $this->getSessionUserIdent();
     }
 }
Example #8
0
 public function handle($request, Clousure $next)
 {
     //获取shopInfo
     $sellerId = pamAccount::getAccountId();
     $shopId = app::get('topshop')->rpcCall('shop.get.loginId', array('seller_id' => $sellerId), 'seller');
     $requestParams = ['shop_id' => $shopId];
     $shopConf = app::get('topshop')->rpcCall('open.shop.develop.conf', $requestParams);
     if ($shopConf['develop_mode'] == 'DEVELOP') {
         return redirect::action('topshop_ctl_index@nopermission');
     }
     return $next($request);
 }
Example #9
0
 public function handle($request, Clousure $next)
 {
     //获取shopInfo
     $sellerId = pamAccount::getAccountId();
     $shopId = app::get('topshop')->rpcCall('shop.get.loginId', array('seller_id' => $sellerId), 'seller');
     //获取商铺信息
     $requestParams = ['shop_id' => $shopId, 'fields' => 'shop_id,shop_name,shop_type'];
     $shopInfo = app::get('topshop')->rpcCall('shop.get', $requestParams);
     if ($shopInfo['shop_type'] != 'self') {
         return redirect::action('topshop_ctl_index@onlySelfManagement');
     }
     return $next($request);
 }
Example #10
0
 public function saveShopNotice($postdata)
 {
     $shopNoticeMdl = app::get('sysshop')->model('shop_notice');
     if ($postdata['shop_id'] == '') {
         $postdata['shop_id'] = '0';
     }
     if ($postdata['notice_id'] != '') {
         $postdata['modified_time'] = time();
     } else {
         $postdata['createtime'] = time();
     }
     $adminId = pamAccount::getAccountId();
     $postdata['admin_id'] = $adminId;
     $result = $shopNoticeMdl->save($postdata);
     if (!$result) {
         throw new \LogicException("商家通知保存失败!");
     }
     return true;
 }
Example #11
0
 public function login()
 {
     if (pamAccount::isEnableVcode('desktop')) {
         if (!base_vcode::verify($this->app->app_id, $_POST['verifycode'])) {
             $msg = app::get('desktop')->_('验证码不正确!');
             $this->__loginLog($msg);
             $url = url::route('shopadmin', array('ctl' => 'passport', 'act' => 'index', 'url' => input::get('redirect'), 'msg' => urlencode($msg)));
             echo "<script>location ='{$url}'</script>";
             exit;
         }
     }
     try {
         kernel::single('desktop_passport')->login(input::get());
         $msg = app::get('desktop')->_('验证成功');
         $this->__loginLog($msg);
     } catch (Exception $e) {
         $msg = $e->getMessage();
         $this->__loginLog($msg);
         $url = url::route('shopadmin', array('ctl' => 'passport', 'act' => 'index', 'url' => input::get('redirect'), 'msg' => urlencode($msg)));
         echo "<script>location ='{$url}'</script>";
         exit;
     }
     $params['member_id'] = pamAccount::getAccountId();
     $params['uname'] = pamAccount::getLoginName();
     foreach (kernel::servicelist('desktop_login_listener') as $service) {
         $service->listener_login($params);
     }
     if (input::get('remember') === "true") {
         setcookie('pam_passport_basic_uname', input::get('uname'), time() + 365 * 24 * 3600, '/');
     } else {
         setcookie('pam_passport_basic_uname', '', 0, '/');
     }
     if ($_COOKIE['autologin'] > 0) {
         kernel::single('base_session')->set_cookie_expires($_COOKIE['autologin']);
         //如果自动登录,设置cookie过期时间,单位:分
     }
     if ($_COOKIE['S']['SIGN']['AUTO'] > 0) {
         $minutes = 10 * 24 * 60;
         kernel::single('base_session')->set_cookie_expires($minutes);
     }
     header('Location:' . base64_decode(str_replace('%2F', '/', urldecode(input::get('redirect')))) . $url);
     exit;
 }
Example #12
0
 public function fullinfo($params)
 {
     $userId = $params['oauth']['account_id'];
     $filter['user_id'] = pamAccount::getAccountId();
     $objMdlUser = app::get('sysuser')->model('user');
     $objMdlUserGrade = app::get('sysuser')->model('user_grade');
     $userdata = $objMdlUser->getRow('experience,grade_id', $filter);
     $filter['grade_id'] = $userdata['grade_id'];
     $gradedata = $objMdlUserGrade->getList("grade_id,grade_name,grade_logo,experience,validity", '', 0, -1, 'experience ASC');
     foreach ($gradedata as $key => $value) {
         if ($value['grade_id'] == $userdata['grade_id']) {
             $gradedata[$key]['current'] = "true";
             $userdata['gradename'] = $value['grade_name'];
             $currentLvExp = $value['experience'];
         }
         if ($value['grade_id'] != $userdata['grade_id'] && $value['experience'] < $userdata['experience']) {
             $gradedata[$key]['past'] = "true";
         } elseif ($value['grade_id'] != $userdata['grade_id']) {
             $gradeval[] = $value['experience'];
         }
     }
     asort($gradeval);
     //下一个等级所需的经验值
     $nextExp = array_shift($gradeval);
     //当前经验值高出当前等级所需经验值的数量
     $a = $userdata['experience'] - $currentLvExp;
     //当前等级的经验值与下一个等级的差距
     $b = $nextExp - $currentLvExp;
     //当前所有经验值与下一个等级的经验值的差距
     $lackExp = $nextExp - $userdata['experience'];
     $percentage = $a / $b * 100;
     $userdata['lackExp'] = $lackExp < 0 ? 0 : $lackExp;
     $userdata['percentage'] = $percentage < 0 ? 0 : $percentage;
     $data['gradeList'] = $gradedata;
     if (!$userdata['gradename']) {
         $userdata['gradename'] = "注册会员";
     }
     $data['userlist'] = $userdata;
     return $data;
 }
Example #13
0
 /**
  * @brief  企业密码修改
  *
  * @param array $data 企业密码
  *
  * @return int userId
  */
 public function modifyPwd($data)
 {
     //检查数据安全
     $data = utils::_filter_input($data);
     $accountShopModel = app::get('sysshop')->model('account');
     $filter = array('seller_id' => pamAccount::getAccountId());
     $account = $accountShopModel->getRow('seller_id,login_password', $filter);
     if (!$account) {
         return false;
     }
     //检查密码合法,是否一致
     $this->checkPassport($data['login_password'], $data['psw_confirm']);
     if (!pam_encrypt::check($data['login_password_old'], $account['login_password'])) {
         throw new \LogicException(app::get('sysshop')->_('原密码填写错误,请重新填写!'));
     }
     $pamShopData['login_password'] = pam_encrypt::make($data['login_password']);
     $pamShopData['seller_id'] = $filter['seller_id'];
     $pamShopData['modified_time'] = time();
     if (!($sellerId = $accountShopModel->save($pamShopData))) {
         throw new \LogicException(app::get('sysshop')->_('修改失败'));
     }
     return true;
 }
Example #14
0
 /**
  * 会员中心信息修改最后一步
  *
  */
 public function saveSetInfo($postData)
 {
     if (!$postData) {
         throw new \LogicException(app::get('sysuser')->_('请填写正确的数据'));
         return false;
     }
     if (!userVcode::verify($postData['vcode'], $postData['uname'], $postData['send_type'])) {
         throw new \LogicException(app::get('sysuser')->_('验证码错误'));
         return false;
     }
     $type = kernel::single('pam_tools')->checkLoginNameType($postData['uname']);
     $userId = pamAccount::getAccountId();
     $db = app::get('sysuser')->database();
     $transaction_status = $db->beginTransaction();
     try {
         if ($type == 'email' && $userId) {
             $data = array('user_id' => $userId, 'email' => $postData['uname']);
             $user = app::get('sysuser')->model('account')->getRow('user_id', array('email' => $postData['uname']));
             if ($user['user_id']) {
                 throw new \LogicException(app::get('sysuser')->_('该邮箱以被绑定'));
             }
         }
         if ($type == 'mobile' && $userId) {
             $user = app::get('sysuser')->model('account')->getRow('user_id', array('mobile' => $postData['uname']));
             if ($user['user_id']) {
                 throw new \LogicException(app::get('sysuser')->_('该手机号以被绑定'));
             }
             $data = array('user_id' => $userId, 'mobile' => $postData['uname']);
         }
         $objPamMdlUser = app::get('sysuser')->model('account');
         if (!$objPamMdlUser->save($data)) {
             throw new \LogicException(app::get('sysuser')->_("{$type}认证失败"));
         }
         $db->commit($transaction_status);
     } catch (Exception $e) {
         $db->rollback();
         throw $e;
     }
     return true;
 }
Example #15
0
 /**
  * 图片ID,关联上用户类型ID
  *
  * @param string $from 上传图片用户类型
  */
 private function __imageAttach($from = false, $test = false)
 {
     if ($from == 'shop') {
         pamAccount::setAuthType('sysshop');
         $data['target_id'] = pamAccount::getAccountId();
         $shopId = app::get('image')->rpcCall('shop.get.loginId', array('seller_id' => $data['target_id']), 'seller');
         if ($shopId) {
             $data['target_id'] = $shopId;
             $data['target_type'] = 'shop';
         } else {
             $data['target_type'] = 'seller';
         }
     } elseif ($from == 'user') {
         pamAccount::setAuthType('sysuser');
         $data['target_id'] = pamAccount::getAccountId();
         $data['target_type'] = 'user';
     } else {
         pamAccount::setAuthType('desktop');
         $data['target_id'] = pamAccount::getAccountId();
         $data['target_type'] = 'admin';
     }
     if (!$data['target_id'] && !$test) {
         throw new \LogicException(app::get('image')->_('无上传图片权限'));
     }
     return $data;
 }
Example #16
0
 /**
  * 用于指示商家操作者的标志
  * @return array 商家登录用户信息
  */
 public function operator()
 {
     return array('user_type' => 'seller', 'op_id' => pamAccount::getAccountId(), 'op_account' => pamAccount::getLoginName());
 }