Browse Source

优化获取序列号日志记录的user_id和定时查询未使用序列号接口

locky 1 year ago
parent
commit
d19c4f83ff
3 changed files with 67 additions and 22 deletions
  1. 8 8
      AnsjerUIDManage/settings.py
  2. 17 14
      Controller/SerialNumberController.py
  3. 42 0
      requirements.txt

+ 8 - 8
AnsjerUIDManage/settings.py

@@ -113,15 +113,15 @@ WSGI_APPLICATION = 'AnsjerUIDManage.wsgi.application'
 # HOST = 'localhost'
 
 
-# DATABASES_NAME = 'ansjer_uid'
-# USER_NAME = 'root'
-# USER_PASSWORD = '123456'
-# HOST = 'localhost'
-
 DATABASES_NAME = 'ansjer_uid'
-USER_NAME = 'aws_rds'
-USER_PASSWORD = 'ansjer.x.x'
-HOST = 'ansjer-uid.cvp7gfpnmziz.rds.cn-northwest-1.amazonaws.com.cn'
+USER_NAME = 'root'
+USER_PASSWORD = '123456'
+HOST = 'localhost'
+
+# DATABASES_NAME = 'ansjer_uid'
+# USER_NAME = 'aws_rds'
+# USER_PASSWORD = 'ansjer.x.x'
+# HOST = 'ansjer-uid.cvp7gfpnmziz.rds.cn-northwest-1.amazonaws.com.cn'
 
 DATABASES = {
     # 'default': {

+ 17 - 14
Controller/SerialNumberController.py

@@ -42,7 +42,7 @@ class SerialNumberView(View):
             return self.do_create(request_dict, response)
         elif operation == 'mac':  # 生成mac
             return self.generate_mac(request_dict, response)
-        elif operation == 'checkSerial':  # 序列号库存数量少于2000,发送邮件通知
+        elif operation == 'checkSerial':  # 序列号库存数量少于5000,发送邮件通知
             return self.check_serial_number(response)
         elif operation == 'macAndSerial':
             return self.generate_mac_and_serial_numbers(request_dict, response)
@@ -531,11 +531,13 @@ class SerialNumberView(View):
 
         # 企业为Ansjer查询13800138005账号(user_id: 6)下未使用的序列号,Loocam查询13800138006账号(user_id: 7)
         if company_secret == 'MTEyMTNB':
-            user_serial_number_qs = UserSerialNumberModel.objects.filter(user__id=6,
-                                                                         serial_number__use_status=1).first()
+            user_id = 6
         else:
-            user_serial_number_qs = UserSerialNumberModel.objects.filter(user__id=7,
-                                                                         serial_number__use_status=1).first()
+            user_id = 7
+
+        user_serial_number_qs = UserSerialNumberModel.objects.filter(
+            user__id=user_id, serial_number__use_status=1).first()
+
         if user_serial_number_qs is None:
             redis_obj.del_data(key=serial_operate_lock_key)  # redis解锁
             return response.json(14)
@@ -577,7 +579,7 @@ class SerialNumberView(View):
         # 操作日志数据
         operation = '获取序列号:{}'.format(serial_number)
         log = {
-            'user_id': 3,
+            'user_id': user_id,
             'time': now_time,
             'operation': operation,
             'url': 'serialNumber/getSerial',
@@ -628,19 +630,20 @@ class SerialNumberView(View):
     @staticmethod
     def check_serial_number(response):
         """
-        定时查询序列号库存数量,不足2000发送邮件通知
+        定时查询13800138005,13800138006账号未使用的序列号数量,不足5000发送邮件通知
         :param response: 响应
         :return: response
         """
-        company_qs = CompanyModel.objects.values('id')
         try:
-            for company in company_qs:
-                company_id = company['id']
-                company_serial_count = CompanySerialModel.objects.filter(status=1, company_id=company_id).count()
-                if company_serial_count < 2000:
-                    sys_msg_text = '序列号库存数量少于2000,请及时处理'
+            warning_count = 5000
+            for user_id in [6, 7]:
+                user_serial_number_count = UserSerialNumberModel.objects.filter(
+                    user__id=user_id, serial_number__use_status=1).count()
+                if user_serial_number_count < warning_count:
+                    user_qs = UserModel.objects.filter(id=user_id).values('username')
+                    username = user_qs[0]['username']
+                    sys_msg_text = '{}账号序列号数量少于{}个,请及时处理'.format(username, warning_count)
                     S3Email().faEmail(sys_msg_text, 'servers@ansjer.com')
-                    break
             return response.json(0)
         except Exception as e:
             return response.json(500)

+ 42 - 0
requirements.txt

@@ -0,0 +1,42 @@
+async-timeout==4.0.2
+backcall==0.2.0
+certifi==2022.9.24
+charset-normalizer==2.0.12
+decorator==5.1.1
+deprecated==1.2.13
+django==2.2
+django-bulk-update==2.2.0
+django-cors-headers==3.10.1
+gunicorn==20.1.0
+idna==3.4
+importlib-metadata==4.8.3
+ipdb==0.13.9
+ipython-genutils==0.2.0
+ipython==7.16.3
+jedi==0.17.2
+mysqlclient==1.3.14
+packaging==21.3
+parso==0.7.1
+pexpect==4.8.0
+pickleshare==0.7.5
+prompt-toolkit==3.0.31
+ptyprocess==0.7.0
+pygments==2.13.0
+pyipip==0.1.1
+pyjwt==1.7.1
+pymysql==1.0.2
+pyparsing==3.0.7
+pytz==2022.4
+redis==4.3.4
+requests==2.27.1
+simplejson==3.17.6
+six==1.16.0
+sqlparse==0.4.3
+toml==0.10.2
+traitlets==4.3.3
+typing-extensions==4.1.1
+urllib3==1.26.12
+wcwidth==0.2.5
+wrapt==1.14.1
+xlwt==1.3.0
+zipp==3.6.0