|
@@ -11,6 +11,7 @@ from Model.models import SerialNumberModel, UserModel, UserSerialNumberModel, Co
|
|
|
MacModel, LogModel, CompanyModel
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
+from Object.S3Email import S3Email
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.AlgorithmService import AlgorithmBaseOn35
|
|
|
from Service.CommonService import CommonService
|
|
@@ -39,6 +40,8 @@ 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,发送邮件通知
|
|
|
+ return self.check_serial_number(response)
|
|
|
|
|
|
token = request_dict.get('token', None)
|
|
|
token = TokenObject(token)
|
|
@@ -568,3 +571,23 @@ class SerialNumberView(View):
|
|
|
next_mac = CommonService.updateMac(mac)
|
|
|
mac_qs.update(value=next_mac, update_time=now_time)
|
|
|
return response.json(0)
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def check_serial_number(response):
|
|
|
+ """
|
|
|
+ 定时查询序列号库存数量,不足2000发送邮件通知
|
|
|
+ :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,请及时处理'
|
|
|
+ S3Email().faEmail(sys_msg_text, 'servers@ansjer.com')
|
|
|
+ break
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500)
|