三方错误日志记录
This commit is contained in:
parent
6c6ecc2619
commit
6eabca5314
|
@ -157,7 +157,7 @@ class HrmService:
|
|||
if dh_dchannels:
|
||||
pass
|
||||
else:
|
||||
# 查找可授予的门禁
|
||||
# 查找可授予的门禁通道号
|
||||
dh_dchannels = list(TDevice.objects.filter(type=TDevice.DEVICE_DCHANNEL,
|
||||
access_list__contains=ep.type).values_list('code', flat=True))
|
||||
if dh_dchannels:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import json
|
||||
import time
|
||||
from threading import Thread
|
||||
import traceback
|
||||
import uuid
|
||||
|
||||
import requests
|
||||
|
@ -79,7 +80,7 @@ class DhClient:
|
|||
headers=self.headers, params=params, json=json,
|
||||
timeout=timeout, files=files, verify=False)
|
||||
except Exception:
|
||||
self.handle_log(result='error')
|
||||
self.handle_log(result='error', errors=traceback.format_exc())
|
||||
if raise_exception:
|
||||
raise APIException(**DH_REQUEST_ERROR)
|
||||
return 'error', DH_REQUEST_ERROR
|
||||
|
@ -99,7 +100,7 @@ class DhClient:
|
|||
# self.handle_log(result='success', response=ret) # 成功的日志就不记录了
|
||||
return 'success', ret['data'] if 'data' in ret else None
|
||||
|
||||
self.handle_log(result='error', response=None)
|
||||
self.handle_log(result='error', errors=traceback.format_exc())
|
||||
if raise_exception:
|
||||
raise APIException(**DH_REQUEST_ERROR)
|
||||
return 'error', DH_REQUEST_ERROR
|
||||
|
@ -113,11 +114,12 @@ class DhClient:
|
|||
response_ms = int(response_timedelta.total_seconds() * 1000)
|
||||
return max(response_ms, 0)
|
||||
|
||||
def handle_log(self, result, response=None):
|
||||
def handle_log(self, result, response=None, errors=None):
|
||||
self.log.update({
|
||||
"result": result,
|
||||
"response": response,
|
||||
"response_ms": self._get_response_ms()
|
||||
"response_ms": self._get_response_ms(),
|
||||
"errors": errors
|
||||
})
|
||||
Tlog(**self.log).save()
|
||||
|
||||
|
|
|
@ -43,7 +43,8 @@ class TDevice(BaseModel):
|
|||
employee = models.OneToOneField(Employee, verbose_name='当前绑定人员', on_delete=models.SET_NULL,
|
||||
null=True, blank=True)
|
||||
is_clock = models.BooleanField('是否打卡设备', default=False)
|
||||
access_list = models.JSONField('自动下发人员类型', default=list, null=False, blank=True, help_text='employee/remployee/visitor')
|
||||
access_list = models.JSONField('自动下发人员类型', default=list,
|
||||
null=False, blank=True, help_text='employee/remployee/visitor')
|
||||
third_info = models.JSONField('三方信息', default=dict,
|
||||
null=False, blank=True)
|
||||
|
||||
|
|
|
@ -24,6 +24,11 @@ class TDeviceUpdateSerializer(CustomModelSerializer):
|
|||
model = TDevice
|
||||
fields = ['is_clock', 'access_list']
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
if validated_data.get('access_list', []):
|
||||
validated_data['access_list'] = ['employee', 'remployee', 'visitor']
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
|
||||
class TDeviceSimpleSerializer(CustomModelSerializer):
|
||||
class Meta:
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import time
|
||||
from threading import Thread
|
||||
import traceback
|
||||
import uuid
|
||||
|
||||
import requests
|
||||
|
@ -88,6 +89,7 @@ class SpClient:
|
|||
headers=self.headers, params=params, json=json,
|
||||
timeout=timeout, files=files, verify=False)
|
||||
except Exception:
|
||||
self.handle_log(result='error', errors=traceback.format_exc())
|
||||
if raise_exception:
|
||||
raise APIException(**SP_REQUEST_ERROR)
|
||||
return 'error', SP_REQUEST_ERROR
|
||||
|
@ -104,7 +106,7 @@ class SpClient:
|
|||
return 'fail', dict(detail=detail, code='sp_'+str(ret['code']))
|
||||
# self.handle_log(result='success', response=ret)
|
||||
return 'success', ret
|
||||
self.handle_log(result='error', response=None)
|
||||
self.handle_log(result='error', errors=traceback.format_exc())
|
||||
if raise_exception:
|
||||
raise APIException(**SP_REQUEST_ERROR)
|
||||
return 'error', SP_REQUEST_ERROR
|
||||
|
@ -147,10 +149,11 @@ class SpClient:
|
|||
response_ms = int(response_timedelta.total_seconds() * 1000)
|
||||
return max(response_ms, 0)
|
||||
|
||||
def handle_log(self, result, response=None):
|
||||
def handle_log(self, result, response=None, errors=None):
|
||||
self.log.update({
|
||||
"result": result,
|
||||
"response": response,
|
||||
"response_ms": self._get_response_ms()
|
||||
"response_ms": self._get_response_ms(),
|
||||
"errors": errors
|
||||
})
|
||||
Tlog(**self.log).save()
|
||||
|
|
|
@ -233,7 +233,7 @@ class DhCommonViewSet(CreateModelMixin, CustomGenericViewSet):
|
|||
取消事件订阅
|
||||
"""
|
||||
dhClient.request(**dhapis['mq_unsubscribe'],
|
||||
params={'name': 'qyjy_ehs'})
|
||||
params={'name': settings.DAHUA_SUBSCRIBE})
|
||||
return Response()
|
||||
|
||||
@action(methods=['post'], detail=False,
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import time
|
||||
from threading import Thread
|
||||
import traceback
|
||||
import uuid
|
||||
import requests
|
||||
from django.conf import settings
|
||||
|
@ -86,7 +87,6 @@ class XxClient:
|
|||
# print_roundtrip(r)
|
||||
ret = r.json()
|
||||
if ret.get('errorCode') in ['1060000', 1060000]:
|
||||
print(ret.get('errorCode'))
|
||||
self.get_token() # 重新获取token
|
||||
self.request(url, method, params, json, timeout, raise_exception) # 重新请求
|
||||
else:
|
||||
|
@ -99,7 +99,7 @@ class XxClient:
|
|||
return 'fail', err_detail
|
||||
# self.handle_log(result='success', response=None)
|
||||
return 'success', ret['data']
|
||||
self.handle_log(result='error', response=None)
|
||||
self.handle_log(result='error', errors=traceback.format_exc())
|
||||
if raise_exception:
|
||||
raise APIException(**XX_REQUEST_ERROR)
|
||||
return 'error', XX_REQUEST_ERROR
|
||||
|
@ -113,10 +113,11 @@ class XxClient:
|
|||
response_ms = int(response_timedelta.total_seconds() * 1000)
|
||||
return max(response_ms, 0)
|
||||
|
||||
def handle_log(self, result, response=None):
|
||||
def handle_log(self, result, response=None, errors=None):
|
||||
self.log.update({
|
||||
"result": result,
|
||||
"response": response,
|
||||
"response_ms": self._get_response_ms()
|
||||
"response_ms": self._get_response_ms(),
|
||||
"errors": errors
|
||||
})
|
||||
Tlog(**self.log).save()
|
||||
|
|
Loading…
Reference in New Issue