本文整理汇总了Python中helpers.queryhelper.QueryHelper.get_sms_option_by_uid方法的典型用法代码示例。如果您正苦于以下问题:Python QueryHelper.get_sms_option_by_uid方法的具体用法?Python QueryHelper.get_sms_option_by_uid怎么用?Python QueryHelper.get_sms_option_by_uid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类helpers.queryhelper.QueryHelper
的用法示例。
在下文中一共展示了QueryHelper.get_sms_option_by_uid方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: send_offline_remind_sms
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_sms_option_by_uid [as 别名]
def send_offline_remind_sms(self):
logging.info("[CELERY] checkertask send offline remind sms started.")
try:
currenttime = int(time.time())
terminals = self.db.query("SELECT tid, alias, mobile, owner_mobile, offline_time"
" FROM T_TERMINAL_INFO"
" WHERE login = 0"
" AND service_status = 1"
" AND offline_time < %s",
(currenttime - 24*60*60))
for terminal in terminals:
sms_option = QueryHelper.get_sms_option_by_uid(terminal.owner_mobile, 'heartbeat_lost', self.db)
if sms_option == UWEB.SMS_OPTION.SEND:
ctime = get_terminal_time(currenttime)
ctime = safe_unicode(ctime)
alias = terminal['alias'] if terminal['alias'] else terminal['mobile']
sms = SMSCode.SMS_HEARTBEAT_LOST % (alias, ctime)
SMSHelper.send(terminal.owner_mobile, sms)
logging.info("[CELERY] Send offline remind sms to user:%s, tid:%s", terminal.owner_mobile, terminal.tid)
logging.info("[CELERY] checkertask send offline remind sms finished.")
except Exception as e:
logging.exception("[CELERY] Check terminal poweroff timeout exception.")
示例2: login_sms_remind
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_sms_option_by_uid [as 别名]
def login_sms_remind(self, uid, owner_mobile, terminals, login="WEB"):
sms_option = QueryHelper.get_sms_option_by_uid(uid, "login", self.db)
if sms_option == UWEB.SMS_OPTION.SEND:
login_time = time.strftime("%Y-%m-%d %H:%M:%S")
login_method = UWEB.LOGIN_WAY[login]
terminal_mobile = u"”,“".join(terminal.alias for terminal in terminals)
remind_sms = SMSCode.SMS_LOGIN_REMIND % (login_time, login_method, owner_mobile, terminal_mobile)
SMSHelper.send(owner_mobile, remind_sms)
示例3: handle_charge_info
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_sms_option_by_uid [as 别名]
def handle_charge_info(self, info):
info = DotDict(info)
self.db.execute("INSERT INTO T_CHARGE"
" VALUES (NULL, %s, %s, %s)",
info.dev_id, info.content, info.timestamp)
user = QueryHelper.get_user_by_tid(info.dev_id, self.db)
if not user:
logging.error("[EVENTER] Cannot find USER of terminal: %s", info.dev_id)
return
sms_option = QueryHelper.get_sms_option_by_uid(user.owner_mobile, EVENTER.SMS_CATEGORY.CHARGE.lower(), self.db)
if sms_option == UWEB.SMS_OPTION.SEND:
logging.error("[EVENTER] do not send charge sms temporarily")
示例4: handle_report_info
# 需要导入模块: from helpers.queryhelper import QueryHelper [as 别名]
# 或者: from helpers.queryhelper.QueryHelper import get_sms_option_by_uid [as 别名]
#.........这里部分代码省略.........
logging.info("[EVENTER] The report's (gps_time - current_time) is more than 24 hours, so drop it:%s", report)
return
#NOTE: If undefend, just save location into db
if info['rName'] in [EVENTER.RNAME.ILLEGALMOVE, EVENTER.RNAME.ILLEGALSHAKE]:
if str(info.get('is_notify','')) == '1': # send notify even if CF
logging.info("[EVENTER] Send notify forever, go ahead. Terminal: %s, is_notify: %s",
report.dev_id, info.get('is_notify',''))
elif alarm_mobile:
logging.info("[EVENTER] Send notify forever , go ahead. Terminal: %s, alarm_mobile: %s",
report.dev_id, alarm_mobile)
else:
mannual_status = QueryHelper.get_mannual_status_by_tid(info['dev_id'], self.db)
if int(mannual_status) == UWEB.DEFEND_STATUS.NO:
report['category'] = EVENTER.CATEGORY.REALTIME
insert_location(report, self.db, self.redis)
update_terminal_dynamic_info(self.db, self.redis, report)
logging.info("[EVENTER] %s mannual_status is undefend, drop %s report.",
info['dev_id'], info['rName'])
return
if info['rName'] in [EVENTER.RNAME.POWERDOWN, EVENTER.RNAME.POWERLOW]:
# if alert_freq_key is exists,return
alert_freq_key = get_alert_freq_key(report.dev_id + info['rName'])
alert_freq = QueryHelper.get_alert_freq_by_tid(info['dev_id'], self.db)
if alert_freq != 0:
if self.redis.exists(alert_freq_key):
logging.info("[EVENTER] Don't send duplicate %s alert to terminal:%s in %s seconds", info["rName"], report.dev_id, alert_freq)
return
else:
self.redis.setvalue(alert_freq_key, 1, time=alert_freq)
#NOTE: keep alarm info
alarm = dict(tid=report['dev_id'],
category=report['category'],
type=report['type'],
timestamp=report.get('timestamp',0),
latitude=report.get('lat',0),
longitude=report.get('lon',0),
clatitude=report.get('cLat',0),
clongitude=report.get('cLon',0),
name=report['name'] if report.get('name',None) is not None else '',
degree=report.get('degree',0),
speed=report.get('speed',0))
if info['rName'] in [EVENTER.RNAME.REGION_OUT, EVENTER.RNAME.REGION_ENTER]:
region = report['region']
alarm['region_id'] = region.region_id
record_alarm_info(self.db, self.redis, alarm)
# 2: save into database. T_LOCATION, T_EVENT
lid = insert_location(report, self.db, self.redis)
update_terminal_dynamic_info(self.db, self.redis, report)
self.event_hook(report.category, report.dev_id, report.get('terminal_type',1), report.get('timestamp'), lid, report.pbat, report.get('fobid'), report.get('region_id', -1))
# 3: notify the owner
user = QueryHelper.get_user_by_tid(report.dev_id, self.db)
if not user:
logging.error("[EVENTER] Cannot find USER of terminal: %s", report.dev_id)
return
# send sms to owner
if report.rName in [EVENTER.RNAME.STOP]:
logging.info("[EVENTER] %s alert needn't to push to user. Terminal: %s",
report.rName, report.dev_id)
return
#NOTE: notify user by sms
sms_option = QueryHelper.get_sms_option_by_uid(user.owner_mobile, EVENTER.SMS_CATEGORY[report.rName].lower(), self.db)
if sms_option == UWEB.SMS_OPTION.SEND:
logging.info("[EVENTER] Notify report to user by sms. category: %s, tid: %s, mobile: %s",
report.rName, report.dev_id, user['owner_mobile'])
self.notify_report_by_sms(report, user['owner_mobile'])
else:
logging.info("[EVENTER] Remind option of %s is closed. Terminal: %s",
report.rName, report.dev_id)
if alarm_mobile:
logging.info("[EVENTER] Notify report to user by sms. category: %s, tid: %s, alarm_mobile: %s",
report.rName, report.dev_id, alarm_mobile)
self.notify_report_by_sms(report, alarm_mobile)
#NOTE: notify user by push
terminal = self.db.get("SELECT push_status FROM T_TERMINAL_INFO"
" WHERE tid = %s", report.dev_id)
if terminal and terminal.push_status == 1:
logging.info("[EVENTER] Notify report to user by push. category: %s, tid: %s, mobile: %s",
report.rName, report.dev_id, user['owner_mobile'])
self.notify_report_by_push(report, user['owner_mobile'])
else:
logging.info("[EVENTER] Push option of %s is closed. Terminal: %s",
report.rName, report.dev_id)
#NOTE: notify alarm_mobile
if alarm_mobile:
logging.info("[EVENTER] Notify report to user by push. category: %s, tid: %s, alarm_mobile: %s",
report.rName, report.dev_id, alarm_mobile)
self.notify_report_by_push(report, alarm_mobile)