本文整理汇总了Python中helpers.queryhelper.QueryHelper.get_activation_code方法的典型用法代码示例。如果您正苦于以下问题:Python QueryHelper.get_activation_code方法的具体用法?Python QueryHelper.get_activation_code怎么用?Python QueryHelper.get_activation_code使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类helpers.queryhelper.QueryHelper
的用法示例。
在下文中一共展示了QueryHelper.get_activation_code方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_activation_code [as 别名]
def post(self):
"""Reregist a pair of umobile and tmobile.
Send sms to terminal.
"""
status = ErrorCode.SUCCESS
try:
data = DotDict(json_decode(self.request.body))
logging.info("[UWEB] Register request: %s", data)
except Exception as e:
status = ErrorCode.ILLEGAL_DATA_FORMAT
self.write_ret(status)
return
try:
tmobile = data.tmobile
user = QueryHelper.get_user_by_tmobile(tmobile, self.db)
if user:
umobile = user.owner_mobile
terminal = QueryHelper.get_terminal_by_tmobile(
tmobile, self.db)
if int(terminal.biz_type) == UWEB.BIZ_TYPE.YDWS:
register_sms = SMSCode.SMS_REGISTER % (umobile, tmobile)
ret = SMSHelper.send_to_terminal(tmobile, register_sms)
else:
activation_code = QueryHelper.get_activation_code(self.db)
register_sms = SMSCode.SMS_REGISTER_YDWQ % (
ConfHelper.UWEB_CONF.url_out, activation_code)
ret = SMSHelper.send(tmobile, register_sms)
ret = DotDict(json_decode(ret))
if ret.status == ErrorCode.SUCCESS:
logging.info("[UWEB] Reregist successfully. umobile: %s, tmobile: %s .",
umobile, tmobile)
else:
status = ErrorCode.REGISTER_FAILED
logging.error("[UWEB] Reregister failed. umobile: %s, tmobile: %s. Message: %s",
umobile, tmobile, ErrorCode.ERROR_MESSAGE[status])
else:
logging.exception("[UWEB] Terminal has no user, ignore it. tmobile: %s. ",
tmobile)
self.write_ret(status)
except Exception as e:
logging.exception("[UWEB] Reregister failed. tmobile: %s , Exception: %s",
tmobile, e.args)
status = ErrorCode.REGISTER_FAILED
self.write_ret(status)
示例2: post
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_activation_code [as 别名]
def post(self):
try:
data = DotDict(json_decode(self.request.body))
gid = data.gid
mobiles = list(data.mobiles)
logging.info("[UWEB] batch jh: %s, corp_id: %s",
data, self.current_user.cid)
except Exception as e:
status = ErrorCode.ILLEGAL_DATA_FORMAT
logging.exception("[UWEB] Invalid data format. Exception: %s",
e.args)
self.write_ret(status)
return
try:
status = ErrorCode.SUCCESS
begintime = int(time.time())
now_ = datetime.datetime.now()
endtime = now_ + relativedelta(years=1)
endtime = int(time.mktime(endtime.timetuple()))
res = []
for item in mobiles:
tmobile = item['tmobile']
if item['umobile']:
umobile = item['umobile']
else:
corp = self.db.get(
"SELECT cid, mobile FROM T_CORP WHERE cid = %s", self.current_user.cid)
umobile = corp.mobile
biz_type = item['biz_type']
r = DotDict(tmobile=tmobile,
status=ErrorCode.SUCCESS)
# 1. add terminal
terminal = self.db.get("SELECT id, tid, service_status FROM T_TERMINAL_INFO WHERE mobile = %s",
tmobile)
if terminal:
if terminal.service_status == UWEB.SERVICE_STATUS.TO_BE_UNBIND:
delete_terminal(terminal.tid, self.db, self.redis)
else:
logging.error("[UWEB] mobile: %s already existed.", tmobile)
r['status'] = ErrorCode.TERMINAL_ORDERED
continue
terminal_info = dict(tid=tmobile,
group_id=gid,
tmobile=tmobile,
owner_mobile=umobile,
mannual_status=UWEB.DEFEND_STATUS.YES,
begintime=begintime,
endtime=4733481600,
offline_time=begintime,
login_permit=0,
biz_type=biz_type,
service_status=UWEB.SERVICE_STATUS.ON)
if int(biz_type) == UWEB.BIZ_TYPE.YDWS:
register_sms = SMSCode.SMS_REGISTER % (umobile, tmobile)
ret = SMSHelper.send_to_terminal(tmobile, register_sms)
else:
activation_code = QueryHelper.get_activation_code(self.db)
tid = get_tid_from_mobile_ydwq(tmobile)
terminal_info['tid'] = tid
terminal_info['activation_code'] = activation_code
terminal_info[
'service_status'] = UWEB.SERVICE_STATUS.TO_BE_ACTIVATED
register_sms = SMSCode.SMS_REGISTER_YDWQ % (
ConfHelper.UWEB_CONF.url_out, activation_code)
ret = SMSHelper.send(tmobile, register_sms)
add_terminal(terminal_info, self.db, self.redis)
# record the add action, enterprise
bind_info = dict(tid=terminal_info['tid'],
tmobile=tmobile,
umobile=umobile,
group_id=gid,
cid=self.current_user.cid,
add_time=int(time.time()))
record_add_action(bind_info, self.db)
ret = DotDict(json_decode(ret))
if ret.status == ErrorCode.SUCCESS:
self.db.execute("UPDATE T_TERMINAL_INFO"
" SET msgid = %s"
" WHERE tid = %s",
ret['msgid'], terminal_info['tid'])
else:
r['status'] = ErrorCode.FAILED
# 2. add user
user_info = dict(umobile=umobile,
password='111111',
uname=umobile)
add_user(user_info, self.db, self.redis)
res.append(r)
self.write_ret(status,
dict_=DotDict(res=res))
except Exception as e:
#.........这里部分代码省略.........
示例3: post
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_activation_code [as 别名]
def post(self):
"""Create business for a couple of users.
"""
fields = DotDict(ecid="",
cnum="",
ctype="",
ccolor="",
cbrand="",
tmobile="",
begintime="",
endtime="",
uname="",
umobile="",
password="",
address="",
email="",
ecmobile="",
biz_type="")
for key in fields.iterkeys():
fields[key] = self.get_argument(key, '')
# if not check_sql_injection(fields[key]):
# logging.error("Create business condition contain SQL inject. %s : %s", key, fields[key])
# self.render('errors/error.html',
# message=ErrorCode.ERROR_MESSAGE[ErrorCode.CREATE_CONDITION_ILLEGAL])
# return
white_list = check_zs_phone(fields.tmobile, self.db)
if not white_list:
logging.error(
"Create business error, %s is not whitelist", fields.tmobile)
self.render('errors/error.html',
message=ErrorCode.ERROR_MESSAGE[ErrorCode.MOBILE_NOT_ORDERED])
return
try:
# 1: add user
user = self.db.get(
"SELECT id FROM T_USER WHERE mobile = %s", fields.umobile)
if not user:
self.db.execute("INSERT INTO T_USER(id, uid, password, name, mobile, address, email, remark)"
" VALUES(NULL, %s, password(%s), %s, %s, %s, %s, NULL)",
fields.umobile, '111111',
fields.uname, fields.umobile,
fields.address, fields.email)
self.db.execute("INSERT INTO T_SMS_OPTION(uid)"
" VALUES(%s)",
fields.umobile)
# 2: add terminal
group = self.db.get("SELECT id FROM T_GROUP"
" WHERE corp_id = %s AND type = 0 LIMIT 1",
fields.ecid)
if not group:
gid = self.db.execute("INSERT INTO T_GROUP(corp_id, name, type)"
" VALUES(%s, default, default)",
fields.ecid)
else:
gid = group.id
# record the add action, enterprise
bind_info = dict(tid=fields.tmobile,
tmobile=fields.tmobile,
umobile=fields.umobile,
group_id=gid,
cid=fields.ecmobile,
add_time=int(time.time()))
record_add_action(bind_info, self.db)
if not fields.umobile:
user_mobile = fields.ecmobile
else:
user_mobile = fields.umobile
# 3: send message to terminal
biz_type = int(fields.biz_type)
if biz_type == UWEB.BIZ_TYPE.YDWS:
self.db.execute("INSERT INTO T_TERMINAL_INFO(tid, group_id, mobile, owner_mobile,"
" begintime, endtime, offline_time, login_permit)"
" VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
fields.tmobile, gid,
fields.tmobile, user_mobile,
fields.begintime, 4733481600, fields.begintime, 0)
register_sms = SMSCode.SMS_REGISTER % (
fields.umobile, fields.tmobile)
ret = SMSHelper.send_to_terminal(fields.tmobile, register_sms)
self.db.execute("INSERT INTO T_CAR(tid, cnum, type, color, brand)"
" VALUES(%s, %s, %s, %s, %s)",
fields.tmobile, fields.cnum,
fields.ctype, fields.ccolor, fields.cbrand)
else:
tid = get_tid_from_mobile_ydwq(fields.tmobile)
activation_code = QueryHelper.get_activation_code(self.db)
self.db.execute("INSERT INTO T_TERMINAL_INFO(tid, group_id, mobile, owner_mobile,"
" begintime, endtime, offline_time, login_permit,"
" biz_type, activation_code, service_status)"
" VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
tid, gid,
fields.tmobile, user_mobile,
fields.begintime, 4733481600,
fields.begintime, 0, biz_type,
activation_code, UWEB.SERVICE_STATUS.TO_BE_ACTIVATED)
#.........这里部分代码省略.........
示例4: post
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_activation_code [as 别名]
def post(self):
status = ErrorCode.SUCCESS
try:
data = DotDict(json_decode(self.request.body))
tmobile = data.get('tmobile', None)
umobile = data.get('umobile', None)
group_id = data.get('group_id', None)
if int(group_id) == -1:
group = QueryHelper.get_default_group_by_cid(self.current_user.cid, self.db)
group_id = group.gid
cnum = data.get('cnum', None)
avatar = None
avatar_ = data.get('avatar', None)
if avatar_:
avatar = base64.urlsafe_b64decode(str(avatar_))
logging.info("[BIND] umobile: %s, tmobile: %s",
umobile, tmobile)
except Exception as e:
logging.exception("[BIND] Illegal format, body: %s, Exception: %s",
self.request.body, e.args)
status = ErrorCode.ILLEGAL_DATA_FORMAT
self.write_ret(status)
return
try:
# record the add action
begintime = int(time.time())
now_ = datetime.datetime.now()
endtime = now_ + relativedelta(years=1)
endtime = int(time.mktime(endtime.timetuple()))
# avatar
terminal = self.db.get("SELECT id, tid, service_status FROM T_TERMINAL_INFO WHERE mobile = %s",
tmobile)
if terminal:
if terminal.service_status == UWEB.SERVICE_STATUS.TO_BE_UNBIND:
delete_terminal(terminal.tid, self.db, self.redis)
else:
status = ErrorCode.TERMINAL_ORDERED
logging.error("[UWEB] mobile: %s already existed.", tmobile)
self.write_ret(status)
return
tid = get_tid_from_mobile_ydwq(tmobile)
activation_code = QueryHelper.get_activation_code(self.db)
terminal_info = dict(tid=tid,
group_id=group_id,
tmobile=tmobile,
owner_mobile=umobile,
mannual_status=UWEB.DEFEND_STATUS.YES,
begintime=begintime,
endtime=4733481600,
offline_time=begintime,
cnum=cnum,
icon_type=0,
login_permit=1,
push_status=1,
vibl=1,
use_scene=3,
activation_code=activation_code,
service_status=UWEB.SERVICE_STATUS.TO_BE_ACTIVATED)
add_terminal(terminal_info, self.db, self.redis)
bind_info = dict(tid=tmobile,
tmobile=tmobile,
umobile=umobile,
group_id=group_id,
cid=self.current_user.cid,
add_time=begintime)
record_add_action(bind_info, self.db)
avatar_full_path, avatar_path, avatar_name, avatar_time = self.get_avatar_info(tmobile)
register_sms = SMSCode.SMS_REGISTER_YDWQ % (ConfHelper.UWEB_CONF.url_out, activation_code)
ret = SMSHelper.send(tmobile, register_sms)
ret = DotDict(json_decode(ret))
if ret.status == ErrorCode.SUCCESS:
self.db.execute("UPDATE T_TERMINAL_INFO"
" SET msgid = %s"
" WHERE mobile = %s",
ret['msgid'], tmobile)
if avatar:
avatar_name = tmobile + '.png'
avatar_path = self.application.settings['avatar_path'] + avatar_name
avatar_full_path = self.application.settings['server_path'] + avatar_path
img = open(avatar_full_path, 'w')
img.write(avatar)
img.close()
avatar_time = self.update_avatar_time(tmobile)
logging.info("[BIND] avatar_time: %s, tmobile: %s, user: %s",
avatar_time, tmobile, self.current_user.cid)
else:
logging.error("[BIND] Terminal: %s has no avatar.",
tmobile)
else:
logging.error("[BIND] Send %s to terminal %s failed.", register_sms, tmobile)
self.write_ret(status,
dict_=dict(avatar_path=avatar_path,
avatar_time=avatar_time))
#.........这里部分代码省略.........
示例5: post
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_activation_code [as 别名]
def post(self):
"""Add a terminal.
"""
status = ErrorCode.SUCCESS
try:
data = DotDict(json_decode(self.request.body))
logging.info("[UWEB] Corp add terminal request: %s, cid: %s",
data, self.current_user.cid)
except Exception as e:
status = ErrorCode.ILLEGAL_DATA_FORMAT
self.write_ret(status)
return
try:
if data.has_key('cnum') and not check_cnum(data.cnum):
status = ErrorCode.ILLEGAL_CNUM
self.write_ret(status)
return
# 1 year
begintime = int(time.time())
now_ = datetime.datetime.now()
endtime = now_ + relativedelta(years=1)
endtime = int(time.mktime(endtime.timetuple()))
# 1: add terminal
#umobile = data.umobile if data.umobile else self.current_user.cid
if data.umobile:
umobile = data.umobile
else:
corp = QueryHelper.get_corp_by_cid(self.current_user.cid, self.db)
umobile = corp.get('c_mobile', '')
terminal = QueryHelper.get_terminal_by_tmobile(data.tmobile, self.db)
if terminal:
if terminal.service_status == UWEB.SERVICE_STATUS.TO_BE_UNBIND:
delete_terminal(terminal.tid, self.db, self.redis)
else:
logging.error(
"[UWEB] mobile: %s already existed.", data.tmobile)
status = ErrorCode.TERMINAL_ORDERED
self.write_ret(status)
return
vibl = data.get("vibl")
use_scene = get_use_scene_by_vibl(vibl)
biz_type = data.get('biz_type', UWEB.BIZ_TYPE.YDWS)
tid = data.tmobile
terminal_info = dict(tid=tid,
group_id=data.group_id,
tmobile=data.tmobile,
owner_mobile=umobile,
mannual_status=UWEB.DEFEND_STATUS.YES,
begintime=begintime,
endtime=4733481600,
offline_time=begintime,
cnum=data.cnum,
icon_type=data.icon_type,
login_permit=data.login_permit,
push_status=data.push_status,
vibl=data.vibl,
use_scene=use_scene,
biz_type=biz_type,
speed_limit=data.speed_limit,
stop_interval=data.stop_interval,
service_status=UWEB.SERVICE_STATUS.ON)
if int(biz_type) == UWEB.BIZ_TYPE.YDWS:
# 0. check tmobile is whitelist or not
white_list = check_zs_phone(data.tmobile, self.db)
if not white_list:
logging.error("[UWEB] mobile: %s is not whitelist.", data.tmobile)
status = ErrorCode.MOBILE_NOT_ORDERED
message = ErrorCode.ERROR_MESSAGE[status] % data.tmobile
self.write_ret(status, message=message)
return
# 4: send message to terminal
register_sms = SMSCode.SMS_REGISTER % (umobile, data.tmobile)
ret = SMSHelper.send_to_terminal(data.tmobile, register_sms)
else:
tid = get_tid_from_mobile_ydwq(data.tmobile)
activation_code = QueryHelper.get_activation_code(self.db)
terminal_info['tid'] = tid
terminal_info['activation_code'] = activation_code
terminal_info['service_status'] = UWEB.SERVICE_STATUS.TO_BE_ACTIVATED
register_sms = SMSCode.SMS_REGISTER_YDWQ % (ConfHelper.UWEB_CONF.url_out, activation_code)
ret = SMSHelper.send(data.tmobile, register_sms)
add_terminal(terminal_info, self.db, self.redis)
# record the add action
bind_info = dict(tid=data.tmobile,
tmobile=data.tmobile,
umobile=umobile,
group_id=data.group_id,
cid=self.current_user.cid,
add_time=int(time.time()))
record_add_action(bind_info, self.db)
#.........这里部分代码省略.........