userful_life.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from qcloudsms_py import SmsSingleSender
  2. from qcloudsms_py.httpclient import HTTPError
  3. from qcloudsms_py import SmsMultiSender
  4. import os
  5. import sys
  6. BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
  7. sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
  8. # 引入django配置文件
  9. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yfwlw_pro.settings") # 你的django的settings文件
  10. import django
  11. # os.environ.setdefault("DJANGO_SETTINGS_MODULE",
  12. # "yfwlw_pro.settings") # project_name 项目名称
  13. django.setup()
  14. import json
  15. import time
  16. import requests
  17. import datetime
  18. from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict
  19. from apps.AppInfoManage.models import Equip, Equip_type, CBDphoto, Msg_Send, Msg_Conf, Equip_SimInfo, SCDstatus, CBDstatus, RecentCBDdata, MyUser,JKphoto, BZYdata, QXZstatus,QXZdata,\
  20. QXZstatus_New, QXZ_Conf, QXZ_Default_Conf, MyUser, JKphoto, BZYphoto, QXZdata_New, Group, QXZ_Alarm, QXZ_Alarm_Log
  21. from apps.SimInfo.views import get_siminfo
  22. import paho.mqtt.client as mqtt
  23. # 短信应用 SDK AppID
  24. appid = 1400227496 # SDK AppID 以1400开头
  25. # 短信应用 SDK AppKey
  26. appkey = "c9aba961bd30072f1e1b9272077abaea"
  27. from requests.auth import HTTPBasicAuth
  28. import xlrd, xlwt
  29. import random
  30. from django.db import transaction
  31. import re
  32. import math
  33. import os
  34. import urllib.parse
  35. import urllib.request
  36. # msgconf = eval(i.conf)
  37. # 需要发送短信的手机号码
  38. user_list = MyUser.objects.all()
  39. nowtime = datetime.datetime.now().strftime('%Y%m%d')
  40. for i in user_list:
  41. if i.user_phone:
  42. tel = i.user_phone
  43. ret = re.match(r"^1[35678]\d{9}$", tel)
  44. print("------->>",tel)
  45. print("------->>",i.username)
  46. print("------->>",i.expire_date)
  47. if ret:
  48. if (i.expire_date).strftime('%Y%m%d') == nowtime:
  49. phone_numbers = tel
  50. # 短信模板ID,需要在短信控制台中申请
  51. template_id = 590794 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
  52. # 签名
  53. sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
  54. ssender = SmsSingleSender(appid, appkey)
  55. params = [i.username,i.expire_date] # 当模板没有参数时,`params = []`
  56. try:
  57. result = ssender.send_with_param(86, phone_numbers,
  58. template_id, params, sign=sms_sign, extend="", ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信
  59. except HTTPError as e:
  60. print(e)
  61. except Exception as e:
  62. print(e)
  63. print(result)
  64. pest_name = []
  65. print("----发送成功",phone_numbers)