def get(self,company_id,*args,**kwargs): company_service = CompanyServices(self.db) user_services = UserServices(self.db) company = company_service.get_company_by_id(company_id) user = user_services.get_user_by_id(company.Fuser_id) self.echo('ops/company/company_edit.html',{'company':company,'user':user})
def post(self, *args, **kwargs): rsp = { 'stat': 'err', 'info': '', } self.get_paras_dict() username = self.qdict.get('username', '') # 用户名 passwd = self.qdict.get('passwd', '') # 密码 if not username or not passwd: rsp['info'] = '账号和密码不能为空' return self.write(ujson.dumps(rsp)) user_service = UserServices(self.db) status, user = user_service.check_user_login_pwd(username, passwd) if status: cookies = user_service.user_format_app(user) login_token = create_signed_value( self.application.settings["cookie_secret"], 'loginuser', ujson.dumps(cookies)) rsp['stat'] = 'ok' rsp['data'] = { 'login_token': login_token, 'nick_name': user.Fnick_name, 'photo_url': user.Fphoto_url } return self.write(ujson.dumps(rsp)) else: rsp['info'] = user return self.write(ujson.dumps(rsp))
def get(self): Fid = self.get_current_user().get('Fid') u_svr = UserServices(self.db) user = u_svr.get_user_by_id(Fid) return self.echo( 'crm/login/user_info_edit.html', {'user': user}, layout='crm/common/base.html')
def get(self, order_type, refer_id, merchant_id, **kwargs): if self.current_user: if not self.current_user.get('Fuser_mobi', None): self.current_user['Fuser_mobi'] = UserServices( self.db).get_user_by_id( self.current_user.get('Fid')).Fuser_mobi company = self.db.query(Company).filter( Company.Fuser_id == merchant_id, Company.Fdeleted == 0).scalar() company_gift = self.db.query(CompanyGift).filter( CompanyGift.Fuid_mct == merchant_id, CompanyGift.Fdeleted == 0, CompanyGift.Fgift_type == 1).scalar() order_gift = self.db.query(CompanyGift).filter( CompanyGift.Fuid_mct == merchant_id, CompanyGift.Fdeleted == 0, CompanyGift.Fgift_type == 2).scalar() phone = self.current_user and self.current_user.get('Fuser_mobi') or '' if self.request.uri.startswith('/api/json/'): self.write_json({ 'stat': 'ok', 'data': { 'company_gift': company_gift.Fcontent if company_gift else '', 'order_gift': order_gift.Fcontent if order_gift else '', 'company_name': company.Fcompany_name if company else '', 'phone': phone }, 'info': '' }) else: self.echo('views/merchant/order.html', { 'gift1': company_gift, 'gift2': order_gift, 'phone': phone }, layout='')
def get_user_msg(self, id): ''' 根据用户id获取用户基础信息 :param id : 用户id :return dict keys: id ,nick ,photo ''' mcache_key = 'user_msg_' + str(id) user = mcache.get(mcache_key) if not user: user_db = UserServices(self.db) user = user_db.get_user_cache_msg_by_id(id) user = user.__dict__ if user else {} if user.has_key('_labels'): del user['_labels'] user = ujson.dumps(user) mcache.set(mcache_key, user, 7200) return ujson.loads(user)
def get(self, *args, **kwargs): code = self.get_argument('code') code = code.strip() # print code # client = Client(options.QQ_KEY, options.QQ_SECRET, # site='https://graph.qq.com', # authorize_url='https://graph.qq.com/oauth2.0/authorize', # token_url='https://graph.qq.com/oauth2.0/token') # access_token = client.auth_code.get_token(code, redirect_uri=options.QQ_CALLBACK, parse='query') # # # # for key in access_token.params.keys(): # # print access_token.params.get(key),'0000000000000' # # # # token = access_token.token # client_id = access_token.params.get('client_id') author_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code' content = urllib.urlopen( 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code' % (options.WEIXIN_KEY, options.WEIXIN_SECRET, code)).read() token_info = ujson.loads(content) openid = token_info.get('openid') access_token = token_info.get('access_token') user_info = urllib.urlopen( 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s' % (access_token, openid)).read() user = ujson.loads(user_info) user_service = UserServices(self.db) exist_user = user_service.get_user_by_weixin(openid) print 'openid:', openid new_user = user_service.create_user_by_weixin( user=exist_user, nick=user.get('nickname'), photo=user.get('headimgurl'), weixin=openid, sex=user.get('sex')) print new_user.id cookies = user_service.user_format(new_user) self.set_secure_cookie('loginuser', ujson.dumps(cookies)) self.redirect('/')
def create_user(self, user_name, mobile): user_service = UserServices(session) is_ok, info = user_service.registe_check_exist(phone=mobile) if not is_ok: user = session.query(Users).filter( Users.Fdeleted == 0, Users.Fuser_mobi == mobile).scalar() return True, user user = Users() user.Fuid = user_service.user_uid(user_name=mobile) user.Fuser_mobi = mobile user.Fnick_name = user_name user.Fstatus = 'normal' user.Fuser_pwd = user_service.user_passed(create_random_passwd(3), user.Fuid) user.is_employee = 0 user_service.db.add(user) user_service.db.commit() return True, user
def get(self, code=None, **kargs): p_svr = PermissionsServices(self.db) permissions = p_svr.get_permissions().all() self.user_service = UserServices(self.db) roles = self.user_service.get_roles() users = self.get_users(code) # if self.page_data: # page_html = self.page_data.render_page_html() context = { #'page_data': self.page_data, 'users': users, # 'page_html': page_html, 'roles': roles, 'status': Users.STATUS, 'permissions': permissions, 'code': code } self.echo('crm/system/member.html', context, layout='crm/common/base.html')
def post(self): #login_count = self.mcache.get(self.get_client_ip+'_login_count') next = self.get_argument('next', '/topic') back_url = urlparse.urljoin(self.request.full_url(), self.get_argument('next', '/topic')) data = {} username = self.get_argument('username', '') # 用户名 passwd = self.get_argument('passwd', '') # 密码 if not username or not passwd: data['error'] = '账号和密码不能为空' self.echo('view/login/login.html', { 'next': next, 'data': data }, layout='') else: user_service = UserServices(self.db) status, user = user_service.check_user_login_pwd(username, passwd) if status: user.Flast_visit = datetime.datetime.now() user.Flast_visit_ip = self.get_client_ip user.Fvisit_times = user.Fvisit_times + 1 cookies = user_service.user_format(user) self.set_secure_cookie( 'loginuser', ujson.dumps(cookies), expires_days=100 if int( self.get_argument('login_forever', 0)) else 0.1, httponly=True) self.db.add(user) self.db.commit() self.redirect(back_url) else: data['error'] = '账号或密码错误' self.echo('view/login/login.html', { 'next': next, 'data': data }, layout='')
def post(self, user_id): uid_mct = self.get_current_user().get('Fid') pms = self.check_arg('permission', u'^[\d\w,]{1,512}$', '') kwargs = { 'Fuser_mobi': self.check_arg('user_mobi', u'^\d{1,28}$'), 'Fnick_name': self.check_arg('user_name', u'^[\u4e00-\u9fa5\d\w\s]{1,28}$'), # 'Fnick_name': self.check_arg('nick_name', u'^[\u4e00-\u9fa5\d\w\s]{1,28}$', ''), 'Femail': self.check_arg('user_email', u'^[\w\d@.]{1,64}$', ''), "Fpermission": pms } pwd_srv = UserServices(self.db) _user_pwd = self.check_arg('user_pwd', u'^[\d\w]{1,28}$', '') if _user_pwd: _user = pwd_srv.get_user_by_id(user_id) kwargs['Fuser_pwd'] = pwd_srv.user_passed(_user_pwd, _user.Fuid) user_srv = CompanyUserServices(self.db) user_srv.edit_users(uid_mct, user_id, **kwargs) return self.write({'stat': 'ok', 'msg': ''})
def post(self): uid_mct = self.get_current_user().get('Fid') pms = self.check_arg('permission', u'^[\d\w,]{1,512}$', '') kwargs = { 'Fuser_mobi': self.check_arg('user_mobi', u'^\d{1,28}$'), 'Fuser_name': self.check_arg('user_name', u'^[\u4e00-\u9fa5\d\w\s]{1,28}$'), 'Fuser_pwd': self.check_arg('user_pwd', u'^[\d\w]{1,28}$'), 'Femail': self.check_arg('user_email', u'^[\w\d@.]{1,64}$', ''), 'Fcompany_id': self.get_current_user().get('Fcompany_id'), "Fpermission": pms } pwd_srv = UserServices(self.db) user_srv = CompanyUserServices(self.db) user = pwd_srv.query_user_by_phone( self.get_argument('user_mobi').strip()) if user: if pwd_srv.query_company_user(uid_mct, user.Fid): return self.write( ujson.dumps({ 'stat': 'error', 'msg': '账号已存在!' })) else: data = {} data['Fpermission'] = kwargs.get('Fpermission') pwd_srv.update_user(user.Fid, **data) else: kwargs['Fuid'] = pwd_srv.user_uid(phone=kwargs['Fuser_mobi'], email=kwargs['Femail']) kwargs['Fuser_pwd'] = pwd_srv.user_passed(kwargs['Fuser_pwd'], kwargs['Fuid']) user = user_srv.add_users(**kwargs) user_srv.add_company_user(user, uid_mct, **kwargs) return self.write(ujson.dumps({'stat': 'ok', 'msg': ''}))
class CHandlerMerchantsListRole(BaseHandler): #用户管理 @tornado.web.authenticated def get(self, code=None, **kargs): p_svr = PermissionsServices(self.db) permissions = p_svr.get_permissions().all() self.user_service = UserServices(self.db) roles = self.user_service.get_roles() users = self.get_users(code) # if self.page_data: # page_html = self.page_data.render_page_html() context = { #'page_data': self.page_data, 'users': users, # 'page_html': page_html, 'roles': roles, 'status': Users.STATUS, 'permissions': permissions, 'code': code } self.echo('crm/system/member.html', context, layout='crm/common/base.html') @tornado.web.authenticated def post(self): pass def get_users(self, code=None): uid_mct = self.get_current_user().get('Fid') self.get_paras_dict() code_dict = {'3': 'Fcreate_date desc'} if code and code_dict.get(code, None) and code in code_dict.keys(): self.qdict['order_by'] = code_dict[code] user_srv = CompanyUserServices(self.db) users = user_srv.query_users(uid_mct) return users
def post(self): res = self.check_args( Fbirthday='', Femail='', Fweixin='', Fweibo='', Fqq='', Fuser_pwd='', ) if res: return self.write(Error(2000, res, "参数错误").__dict__) Fid = self.get_current_user().get('Fid') self.get_paras_dict() del self.qdict['_xsrf'] user_srv = UserServices(self.db) if self.qdict['Fuser_pwd']: _user = user_srv.get_user_by_id(Fid) self.qdict['Fuser_pwd'] = user_srv.user_passed( self.qdict['Fuser_pwd'], _user.Fuid) user_srv.update_user(Fid, **self.qdict) return self.write({'stat': 'ok', 'msg': ''})
from utils.date_util import time_passed from datacache.datacache import UserMsgCache, TopicUserSnsCache from common.base import SiteError import ujson import sys import tornado from celery_tasks.tasks import create_user_message import StringIO import base64 import re from utils.date_util import yyyydddddatetime _TOPIC_CATEGORY_DEFAULT_URL = "/static/crm/images/default.gif" topic_services = TopicServices() user_serveces = UserServices() PAGE_SIZE = 20 class TopicIndexHandler(BaseHandler): def get(self, category_id=None, type_num='1'): type_num = type_num if type_num else '1' topic_services.set_db(self.db) user_serveces.set_db(self.db) topic_categorys = topic_services.query_topic_category() topic_cate = [] cate_basic_info = {} for topic_category in topic_categorys: cate_info = {
#encoding:utf-8 __author__ = 'binpo' import urlparse from common.base import BaseHandler from services.users.user_services import UserServices import ujson user_service = UserServices() class MobileLoginHandler(BaseHandler): def get(self, *ars, **kargs): back_url = urlparse.urljoin( self.request.full_url(), self.get_argument('next', '/mobile/user/index/')) if self.get_secure_cookie('loginuser'): self.redirect(back_url) else: self.echo('mobile/login/login.html', {'next': back_url}) def child_account_key(self, user): if 'merchant' in user.Frole_codes: company = user_service.get_company_merchant_id(user.Fid) return { 'Fcompany_id': company.Fid, 'Fmerchant_id': user.Fid, 'Fcompany_name': company.Fcompany_name } if user.Fpermission: user_id = user.Fid data = user_service.get_merchant_id_by_child_acount(user_id)
def insert_users(session): service = UserServices(session) users = [ { 'user_name': 'jinkuan', 'user_pwd': '111111', 'phone': '13817959607', 'email': '', 'is_employee': 1, 'nick': '锦宽', 'roles': [1, 2], 'merchant_name': '锦宽婚纱摄影', 'merchant_addr': '毕升路299弄' }, { 'user_name': 'qiuyan', 'user_pwd': '111111', 'phone': '15882136829', 'email': '', 'is_employee': 1, 'nick': '丘岩', 'roles': [1, 2], 'merchant_name': '丘岩婚纱摄影', 'merchant_addr': '毕升路299弄' }, { 'user_name': 'jinjin', 'user_pwd': '111111', 'phone': '18521099629', 'email': '', 'is_employee': 1, 'nick': '锦锦', 'roles': [1, 2], 'merchant_name': '锦锦婚纱摄影', 'merchant_addr': '毕升路299弄' }, { 'user_name': 'jinxin', 'user_pwd': '111111', 'phone': '13917507064', 'email': '', 'is_employee': 1, 'nick': '金鑫', 'roles': [1, 2], 'merchant_name': '金鑫婚纱摄影', 'merchant_addr': '毕升路299弄' }, { 'user_name': 'mingming', 'user_pwd': '111111', 'phone': '13808483343', 'email': '', 'is_employee': 1, 'nick': '明明', 'roles': [1, 2], 'merchant_name': '明明婚纱摄影', 'merchant_addr': '毕升路299弄' }, { 'user_name': 'zhanguo', 'user_pwd': '111111', 'phone': '18105713808', 'email': '', 'is_employee': 1, 'nick': '战国', 'roles': [1, 2], 'merchant_name': '战国婚纱摄影', 'merchant_addr': '毕升路299弄' }, ] for u in users: service.create_user(**u) # data = [('admin','管理员','*****@*****.**','qiuyan','123445'),('businessman','商户','*****@*****.**','hello','hello1234'),('user','普通用户','*****@*****.**','hello','hellowerr')] # t = session.execute( # Users.__table__.insert(),[{'uuid':code,'nick':name,'email':email,'user_name':username,'user_pwd':password} for code,name,email,username,password in data] # ) # print t #session.commit() # def create_roles(): # data = [('admin','管理员','整个站点管理'),('merchant','商户','商家用户')] # session.execute( # Roles.__table__.insert(),[{'Fcode':code,'Fname':name} for code,name,description in data] # ) # session.commit() # # create_roles() # insert_users() # d = now() # print d # t = '''INSERT INTO t_users (`Fuid`, `Fuser_mobi`, `Fuser_name`, `Fuser_pwd`, `Femail`, `Frole_codes`, is_employee, `Fweibo`, `Fweixin`, `Fqq`, `Fphoto_url`, `Fbirthday`, `Fdeleted`) # VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s)'''%('508d4265-4e71-3170-b247-2369ea589ba6', '13438291032', 'qiuyan', '0e17a4750ba8f30313cc830c99a4e2d1', '*****@*****.**', '', # 1, '', '', '', '', '1980-12-12', 0) # # print t #INSERT INTO t_users (`Fuid`, `Fuser_mobi`, `Fuser_name`, `Fuser_pwd`, `Femail`, `Frole_codes`, is_employee, `Fweibo`, `Fweixin`, `Fqq`, `Fphoto_url`, `Fbirthday`, `Fdeleted`)VALUES ('508d4265-4e71-3170-b247-2369ea589ba6', '13438291032', 'qiuyan', '0e17a4750ba8f30313cc830c99a4e2d1', '*****@*****.**', '', 1, '', '', '', '','1980-12-12',0) #print session.query(Users).count()
def get(self, *args, **kwargs): code = self.get_argument('code') code = code.strip() client = Client( options.QQ_KEY, options.QQ_SECRET, site='https://graph.qq.com', authorize_url='https://graph.qq.com/oauth2.0/authorize', token_url='https://graph.qq.com/oauth2.0/token') access_token = client.auth_code.get_token( code, redirect_uri=options.QQ_CALLBACK, parse='query') # for key in access_token.params.keys(): # print access_token.params.get(key),'0000000000000' token = access_token.token client_id = access_token.params.get('client_id') content = urllib.urlopen( 'https://graph.qq.com/oauth2.0/me?access_token=' + access_token.token).read() open_id = ujson.loads(content[content.find('{'):content.find('}') + 1]).get('openid') user_info = get_oauth_user_info( 'https://graph.qq.com/user/get_user_info', oauth_consumer_key=options.QQ_KEY, access_token=access_token.token, format='json', openid=open_id) user = ujson.loads(user_info) #['figureurl_2','nickname','open_id'] # print user.get('figureurl_2') # print open_id # print user.get('nickname') # print user.get('gender') # # print user_info user_service = UserServices(self.db) exist_user = user_service.get_user_by_qq(open_id) #user = user_service.get_user_by_weibo(user_json.get('idstr')) user = user_service.create_user_by_qq(user=exist_user, nick=user.get('nickname'), photo=user.get('figureurl_qq_2'), qq=open_id) # # uid = self.user_uid(user_name=kargs.get('open_id','')) # user.uid = uid # user.nick = kargs.get('nick','') # user.email = kargs.get('email','') # user.phone = kargs.get('phone','') # user.photo = kargs.get('photo', '') # user.is_employee = kargs.get('is_employee',0) # user.sex = kargs.get('sex','') # user.last_visit = datetime.now() # user.last_visit_ip = kargs.get('last_visit_ip','') # user.visit_times = kargs.get('visit_times',0) # user.regist_from = kargs.get('regist_from','qq') # user.find_pw_url = kargs.get('find_pw_url','') # user.status = kargs.get('status','normal') # user.avatar = kargs.get('avatar','') # user.sign_text = kargs.get('sign_text','') # qq_weibo_info = get_oauth_user_info('https://graph.qq.com/user/get_info',oauth_consumer_key=options.QQ_KEY,access_token=access_token.token,format='json',openid=open_id) # print qq_weibo_info # print 'save user' print user.id cookies = user_service.user_format(user) self.set_secure_cookie('loginuser', ujson.dumps(cookies)) self.redirect('/')