tlog增加headers

This commit is contained in:
曹前明 2022-09-26 13:17:00 +08:00
parent 862210f8d3
commit 5d15469b05
8 changed files with 55 additions and 14 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.12 on 2022-09-26 05:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('am', '0002_initial'),
]
operations = [
migrations.AlterField(
model_name='area',
name='access_list',
field=models.JSONField(blank=True, default=list, help_text='employee/remployee/visitor/driver', verbose_name='准入人员类型'),
),
]

4
apps/monitor/tasks.py Normal file
View File

@ -0,0 +1,4 @@
# Create your tasks here
from __future__ import absolute_import, unicode_literals
from apps.utils.tasks import CustomTask
from celery import shared_task

View File

@ -45,17 +45,11 @@ class DhClient:
'client_id': self.client_id,
'client_secret': self.client_secret
}
try:
r = requests.post(params=params,
url=settings.DAHUA_BASE_URL + '/evo-apigw/evo-oauth/oauth/token', verify=False)
ret = r.json()
if ret['success']:
self.token = ret['data']['access_token']
self.headers['Authorization'] = 'bearer ' + ret['data']['access_token']
self.headers['User-Id'] = '1'
time.sleep(1200)
except Exception:
myLogger.error('大华服务连接失败', exc_info=True)
_, res = self.request(**dhapis['token_login'], params=params, raise_exception=False)
self.token = res['access_token']
self.headers['Authorization'] = 'bearer ' + res['access_token']
self.headers['User-Id'] = '1'
time.sleep(1200)
def setup(self):
t = Thread(target=self._get_token_loop, args=(), daemon=True)
@ -73,7 +67,7 @@ class DhClient:
if not settings.DAHUA_ENABLED:
raise ParseError('大华对接未启用')
self.log = {"requested_at": now(), "id": uuid.uuid4(), "path": url, "method": method,
"params": params, "body": json, "target": "dahua", "result": 10}
"params": params, "body": json, "target": "dahua", "result": 10, "headers": self.headers}
files = None
if file_path_rela: # 相对路径
files = {'file': open(settings.BASE_DIR + file_path_rela, 'rb')}

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.12 on 2022-09-26 05:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('third', '0005_alter_tdevice_access_list'),
]
operations = [
migrations.AddField(
model_name='tlog',
name='headers',
field=models.JSONField(blank=True, null=True),
),
]

View File

@ -75,6 +75,7 @@ class Tlog(BaseModel):
path = models.CharField(max_length=400, help_text="请求地址")
requested_at = models.DateTimeField()
response_ms = models.PositiveIntegerField(default=0)
headers = models.JSONField(null=True, blank=True)
response = models.JSONField(null=True, blank=True)
method = models.CharField(max_length=10)
url = models.TextField(null=True, blank=True)

View File

@ -1,5 +1,9 @@
# 大华API接口
dhapis = {
"token_login": {
"url": "/evo-apigw/evo-oauth/oauth/token",
"method": "post"
},
"dept_tree": {
"url": "/evo-apigw/evo-brm/1.2.0/department/tree",
"method": "post"

View File

@ -39,7 +39,8 @@ def visit_audit_end(ticket):
# 更新企业访客人员库
for i in Vpeople.objects.filter(visit=visit):
visitor = i.visitor
if visitor.id_number and visitor.photo:
# if visitor.id_number and visitor.photo:
if visitor.id_number:
ep = Employee.objects.get_queryset(all=True).filter(id_number=visitor.id_number).first()
elif visitor.phone:
ep = Employee.objects.get_queryset(all=True).filter(phone=visitor.phone).first()

View File

@ -113,11 +113,12 @@ class TicketListSerializer(CustomModelSerializer):
workflow_ = WorkflowSimpleSerializer(source='workflow', read_only=True)
state_ = StateSimpleSerializer(source='state', read_only=True)
participant_ = serializers.SerializerMethodField()
class Meta:
model = Ticket
fields = ['id', 'title', 'sn', 'workflow', 'workflow_', 'state', 'state_',
'act_state', 'create_time', 'update_time', 'participant_type', 'create_by', 'ticket_data',
'participant_']
'participant_', 'script_run_last_result']
def get_participant_(self, obj):
if obj.participant_type == 1: