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; }
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; }
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); } }
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(); } }
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); }
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; }
/** * @brief 生成唯一的用户标识 * * @return 返回md5的值 */ public function getUserIdentMd5($userId = null) { pamAccount::setAuthType('sysuser'); $userId = pamAccount::getAccountId(); if ($userId) { return md5($userId); } else { return $this->getSessionUserIdent(); } }
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); }
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); }
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; }
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; }
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; }
/** * @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; }
/** * 会员中心信息修改最后一步 * */ 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; }
/** * 图片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; }
/** * 用于指示商家操作者的标志 * @return array 商家登录用户信息 */ public function operator() { return array('user_type' => 'seller', 'op_id' => pamAccount::getAccountId(), 'op_account' => pamAccount::getLoginName()); }