Bläddra i källkod

根据mac地址分配情况邮件提醒功能,当分配使用完时返回175

lhq 4 år sedan
förälder
incheckning
b867e8a606
2 ändrade filer med 61 tillägg och 1 borttagningar
  1. 14 1
      Controller/FileController.py
  2. 47 0
      Object/S3Email.py

+ 14 - 1
Controller/FileController.py

@@ -24,6 +24,7 @@ from Object.TokenObject import TokenObject
 from Object.ResponseObject import ResponseObject
 from Service.CommonService import CommonService
 from bulk_update.helper import bulk_update
+from Object.S3Email import S3Email
 
 
 class UploadUIDFileView(View):
@@ -92,8 +93,20 @@ class UploadUIDFileView(View):
         update_time = int(time.time())
         keys = data.keys()
 
-        # 获取最新的mac
+        # 获取最新的mac,判断分配到哪里
         mac = MacModel.objects.filter().values('id', 'value', 'is_active')[0]
+        current_mac = mac['value']
+        username = 'cspublic@ansjer.com'
+        if current_mac[-8:] == '0F:42:40':  # 一组一共1048576个,此mac是第100w个时
+            sys_msg_text = "当前旧UID管理系统mac地址已分配到" + current_mac + ",此mac地址是当前组的第100w个,还剩下48576个可分配,mac地址即将用完。"
+            S3Email().faEmail(sys_msg_text, username)
+        elif current_mac[-8:] == '0F:90:60':  # 一组一共1048576个,此mac是第102w个时
+            sys_msg_text = "当前旧UID管理系统mac地址已分配到" + current_mac + ",此mac地址是当前组的第102w个,还剩下28576个可分配,mac地址即将用完。"
+            S3Email().faEmail(sys_msg_text, username)
+        elif current_mac[-8:] == '0F:FF:FF':
+            sys_msg_text = "当前旧UID管理系统mac地址已分配到" + current_mac + ",mac地址已分配使用完,请更换分组。"
+            S3Email().faEmail(sys_msg_text, username)
+            return response.json(175)
         if not mac['is_active']:
             return response.json(175)
         # redisObject = RedisObject(db=3)

+ 47 - 0
Object/S3Email.py

@@ -0,0 +1,47 @@
+import smtplib
+import email.utils
+from email.mime.multipart import MIMEMultipart
+from email.mime.text import MIMEText
+
+class S3Email:
+
+
+   def faEmail(self, sys_msg_text ,username):
+        SENDER = 'rdpublic@ansjer.com'  # 邮箱名
+        SENDERNAME = 'rdpublic@ansjer.com'
+        USERNAME_SMTP = 'AKIA2E67UIMD6MOSFKXW'  # 带有邮件权限的 IAM 帐号
+        PASSWORD_SMTP = 'BHuQ6EQTtFK4qh46o9omO9ZzO3NXzjk/JCWLXnVFmqzM'  # 带有邮件权限的 IAM 密码
+        PORT = '587'
+        HOST = 'email-smtp.us-east-1.amazonaws.com'
+        SUBJECT = sys_msg_text
+        BODY_TEXT = (sys_msg_text
+                     )
+        BODY_HTML = """<html>
+        <head></head>
+        <body>
+          <h1>{}<h1>
+        </body>
+        </html>
+                    """.format(sys_msg_text)
+
+        msg = MIMEMultipart('alternative')
+        msg['Subject'] = SUBJECT
+        msg['From'] = email.utils.formataddr((SENDERNAME, SENDER))
+        msg['To'] = username
+        part1 = MIMEText(BODY_TEXT, 'plain')
+        part2 = MIMEText(BODY_HTML, 'html')
+        msg.attach(part1)
+        msg.attach(part2)
+
+        try:
+            server = smtplib.SMTP(HOST, PORT)
+            server.ehlo()
+            server.starttls()
+            server.ehlo()
+            server.login(USERNAME_SMTP, PASSWORD_SMTP)
+            server.sendmail(SENDER, username, msg.as_string())
+            server.close()
+        except Exception as e:
+            print("Error: ", e)
+        else:
+            print("Email sent!")