From 750c7c5ead2769c303c0d4d167742abaef0c9f75 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 21 Apr 2022 15:13:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E9=80=9A=E9=81=93=E6=8E=88=E6=9D=83?= =?UTF-8?q?=20=E5=90=8C=E6=AD=A5=E4=BA=BA=E8=84=B8=E5=BA=93=20=E4=BA=BA?= =?UTF-8?q?=E5=83=8F=E4=B8=8B=E5=8F=91=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0002_alter_employee_third_info.py | 18 ++++++ apps/hrm/models.py | 1 + apps/hrm/serializers.py | 8 +-- apps/hrm/views.py | 60 ++++++++++++++++++- apps/monitor/views.py | 2 +- apps/mq/__init__.py | 0 apps/mq/admin.py | 3 - apps/mq/apps.py | 5 -- apps/mq/migrations/__init__.py | 0 apps/mq/models.py | 3 - apps/mq/tests.py | 3 - apps/mq/views.py | 3 - apps/system/admin.py | 4 +- .../migrations/0004_auto_20220421_1511.py | 44 ++++++++++++++ apps/system/models.py | 2 +- apps/system/serializers.py | 10 ++-- apps/system/views.py | 10 ++-- apps/third/clients.py | 5 ++ apps/third/tapis.py | 24 +++++++- apps/third/views.py | 41 ++++++++++++- apps/utils/dahua.py | 2 +- apps/utils/viewsets.py | 10 ++-- apps/utils/xunxi.py | 4 +- apps/wf/models.py | 2 +- requirements.txt | 1 + server/settings.py | 4 ++ 26 files changed, 217 insertions(+), 52 deletions(-) create mode 100644 apps/hrm/migrations/0002_alter_employee_third_info.py delete mode 100644 apps/mq/__init__.py delete mode 100644 apps/mq/admin.py delete mode 100644 apps/mq/apps.py delete mode 100644 apps/mq/migrations/__init__.py delete mode 100644 apps/mq/models.py delete mode 100644 apps/mq/tests.py delete mode 100644 apps/mq/views.py create mode 100644 apps/system/migrations/0004_auto_20220421_1511.py create mode 100644 apps/third/clients.py diff --git a/apps/hrm/migrations/0002_alter_employee_third_info.py b/apps/hrm/migrations/0002_alter_employee_third_info.py new file mode 100644 index 00000000..a38f7391 --- /dev/null +++ b/apps/hrm/migrations/0002_alter_employee_third_info.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2022-04-21 07:11 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('hrm', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='employee', + name='third_info', + field=models.JSONField(blank=True, default=dict, verbose_name='三方信息'), + ), + ] diff --git a/apps/hrm/models.py b/apps/hrm/models.py index c739156b..7ca25190 100644 --- a/apps/hrm/models.py +++ b/apps/hrm/models.py @@ -44,6 +44,7 @@ class Employee(CommonBModel): def __str__(self): return self.name + # class Card(CommonAModel): # """ # 卡 diff --git a/apps/hrm/serializers.py b/apps/hrm/serializers.py index add17e79..2538e343 100644 --- a/apps/hrm/serializers.py +++ b/apps/hrm/serializers.py @@ -9,7 +9,7 @@ from apps.utils.tools import rannum, ranstr from .models import ClockRecord, Employee, NotWorkRemark from apps.system.serializers import DeptSimpleSerializer,UserSimpleSerializer from django.db import transaction -from apps.utils.dahua import dhClient +from apps.third.clients import dhClient from apps.third.tapis import dhapis import re from server.settings import DEBUG @@ -50,7 +50,7 @@ class EmployeeCreateUpdateSerializer(EmployeeBaseSerializer): instance = super().create(validated_data) if dhClient: # 创建人员 - _, res = dhClient.request(**dhapis['gen_person_id']) + _, res = dhClient.request(**dhapis['person_gen_id']) personId = res['id'] departmentId = 1 if instance.belong_dept: @@ -85,7 +85,7 @@ class EmployeeCreateUpdateSerializer(EmployeeBaseSerializer): ) _, res = dhClient.request(**dhapis['person_add'], json=json_data) # 开人脸卡 - _, res = dhClient.request(**dhapis['gen_card_id']) + _, res = dhClient.request(**dhapis['card_gen_id']) cardId = res['id'] cardNumber = instance.id[:8] + rannum(2) now = datetime.now() @@ -159,7 +159,7 @@ class EmployeeCreateUpdateSerializer(EmployeeBaseSerializer): # 开人脸卡 if instance.job_state in [Employee.JOB_ON]: if not third_info.get('dh_face_card', None): - _, res = dhClient.request(**dhapis['gen_card_id']) + _, res = dhClient.request(**dhapis['card_gen_id']) cardId = res['id'] cardNumber = instance.id[3:8] + rannum(5) now = datetime.now() diff --git a/apps/hrm/views.py b/apps/hrm/views.py index ce1ca66c..52cd3899 100644 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -23,8 +23,9 @@ from rest_framework.exceptions import ParseError from django.db import transaction from datetime import datetime from rest_framework import serializers -from apps.utils.dahua import dhClient +from apps.third.clients import dhClient from apps.third.tapis import dhapis +from server import settings # Create your views here. class EmployeeViewSet(CustomModelViewSet): @@ -41,7 +42,7 @@ class EmployeeViewSet(CustomModelViewSet): search_fields = ['name', 'number', 'user__username'] ordering = ['-pk'] - @action(methods=['post'], detail=True, perms_map={'post': 'employee_notworkremark'} + @action(methods=['post'], detail=True, perms_map={'post': 'employee.notworkremark'} , serializer_class=EmployeeNotWorkRemarkSerializer) def not_work_remark(self, request, pk=None): """ @@ -73,7 +74,7 @@ class EmployeeViewSet(CustomModelViewSet): raise ParseError(**NO_NEED_LEVEL_REMARK) @transaction.atomic - @action(methods=['post'], detail=False, perms_map={'post': 'employee_channel_authority'} + @action(methods=['post'], detail=False, perms_map={'post': 'employee.channel_authority'} , serializer_class=ChannelAuthoritySerializer) def channel_authority(self, request, pk=None): """门通道授权 @@ -107,6 +108,59 @@ class EmployeeViewSet(CustomModelViewSet): Employee.objects.bulk_update(objs, fields = ['third_info']) return Response() + @transaction.atomic + @action(methods=['post'], detail=False, perms_map={'post': 'employee.face_bind_1'} + , serializer_class=serializers.Serializer) + def face_bind_1(self, request, pk=None): + """同步人脸库1 + + 全部人脸库 + """ + # 获取设备 + json_data = { + "pageNum":1, + "pageSize":1000, + "ownerCodes":['001'], + "showChildNodeData":1, + # "isOnline":1 + } + _, res = dhClient.request(**dhapis['dev_page'], json=json_data) + devs = [] + if res['pageData']: + for i in res['pageData']: + devs.append(i['deviceCode']) + # 编辑人像库 + json_data = { + "groupid":settings.DAHUA_FACEGROUPID_1, + "groupname":"全体人员", + "groupdetail":"全体人员", + "grouptype":3, + "deviceCodeList":devs, + "syncState":0 + } + dhClient.request(**dhapis['face_group_update'], json=json_data) + # 人像绑定 + json_data = { + "deptId":1, + "groupIdList":[settings.DAHUA_FACEGROUPID_1], + "cascade":True + } + dhClient.request(**dhapis['face_bind'], json=json_data) + return Response() + + @action(methods=['get'], detail=False, perms_map={'get': 'employee.face_bind_1'} + , serializer_class=serializers.Serializer) + def face_status_1(self, request, pk=None): + """人像下发状态 + + 人像下发状态 + """ + params = {'id':settings.DAHUA_FACEGROUPID_1} + _, res = dhClient.request(**dhapis['face_group_info'], params=params) + return Response(res) + + + class ClockRecordViewSet(ListModelMixin, CustomGenericViewSet): """ 打卡记录 diff --git a/apps/monitor/views.py b/apps/monitor/views.py index 5cfd95ab..fcfadd8e 100644 --- a/apps/monitor/views.py +++ b/apps/monitor/views.py @@ -134,7 +134,7 @@ class DrfRequestLogViewSet(ListModelMixin, CustomGenericViewSet): 请求日志 """ - perms_map = {'get':'requestlog_view'} + perms_map = {'get':'requestlog.view'} queryset = DrfRequestLog.objects.all() list_serializer_class = DrfRequestLogSerializer ordering = ['-requested_at'] diff --git a/apps/mq/__init__.py b/apps/mq/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/mq/admin.py b/apps/mq/admin.py deleted file mode 100644 index 8c38f3f3..00000000 --- a/apps/mq/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/apps/mq/apps.py b/apps/mq/apps.py deleted file mode 100644 index b0b33c73..00000000 --- a/apps/mq/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class MqConfig(AppConfig): - name = 'mq' diff --git a/apps/mq/migrations/__init__.py b/apps/mq/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/mq/models.py b/apps/mq/models.py deleted file mode 100644 index 71a83623..00000000 --- a/apps/mq/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/apps/mq/tests.py b/apps/mq/tests.py deleted file mode 100644 index 7ce503c2..00000000 --- a/apps/mq/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/apps/mq/views.py b/apps/mq/views.py deleted file mode 100644 index 91ea44a2..00000000 --- a/apps/mq/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/apps/system/admin.py b/apps/system/admin.py index 7dee9a6b..19fbdabd 100644 --- a/apps/system/admin.py +++ b/apps/system/admin.py @@ -1,11 +1,11 @@ from django.contrib import admin from simple_history.admin import SimpleHistoryAdmin -from .models import User, Dept, Role, Permission, DictType, Dict, File +from .models import User, Dept, Role, Permission, DictType, Dictionary, File # Register your models here. admin.site.register(User) admin.site.register(Dept) admin.site.register(Role) admin.site.register(Permission) admin.site.register(DictType) -admin.site.register(Dict, SimpleHistoryAdmin) +admin.site.register(Dictionary, SimpleHistoryAdmin) admin.site.register(File) \ No newline at end of file diff --git a/apps/system/migrations/0004_auto_20220421_1511.py b/apps/system/migrations/0004_auto_20220421_1511.py new file mode 100644 index 00000000..bec49b2f --- /dev/null +++ b/apps/system/migrations/0004_auto_20220421_1511.py @@ -0,0 +1,44 @@ +# Generated by Django 3.2.12 on 2022-04-21 07:11 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0003_remove_user_phone'), + ] + + operations = [ + migrations.CreateModel( + name='Dictionary', + fields=[ + ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.CharField(max_length=60, verbose_name='名称')), + ('value', models.CharField(max_length=10, verbose_name='值')), + ('code', models.CharField(blank=True, max_length=30, null=True, verbose_name='标识')), + ('description', models.TextField(blank=True, null=True, verbose_name='描述')), + ('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')), + ('is_used', models.BooleanField(default=True, verbose_name='是否有效')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dictionary_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.dictionary', verbose_name='父')), + ('type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='system.dicttype', verbose_name='类型')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dictionary_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')), + ], + options={ + 'verbose_name': '字典', + 'verbose_name_plural': '字典', + 'ordering': ['sort'], + 'unique_together': {('name', 'is_used', 'type')}, + }, + ), + migrations.DeleteModel( + name='Dict', + ), + ] diff --git a/apps/system/models.py b/apps/system/models.py index b0f707bc..2755ce1f 100644 --- a/apps/system/models.py +++ b/apps/system/models.py @@ -163,7 +163,7 @@ class DictType(CommonAModel): return self.name -class Dict(CommonAModel): +class Dictionary(CommonAModel): """ 数据字典 """ diff --git a/apps/system/serializers.py b/apps/system/serializers.py index cc20f6d1..b7ec20c3 100644 --- a/apps/system/serializers.py +++ b/apps/system/serializers.py @@ -6,7 +6,7 @@ from django_celery_results.models import TaskResult from apps.system.errors import ROLE_CODE_EXIST, ROLE_NAME_EXIST, USERNAME_EXIST from apps.utils.serializers import CustomModelSerializer from apps.utils.constants import EXCLUDE_FIELDS, EXCLUDE_FIELDS_BASE -from .models import (Dict, DictType, File, Dept, Permission, Post, +from .models import (Dictionary, DictType, File, Dept, Permission, Post, Role, User, UserPost) from rest_framework.exceptions import ParseError, APIException from django.db import transaction @@ -84,7 +84,7 @@ class DictSerializer(CustomModelSerializer): """ class Meta: - model = Dict + model = Dictionary fields = '__all__' class DictCreateUpdateSerializer(CustomModelSerializer): @@ -93,7 +93,7 @@ class DictCreateUpdateSerializer(CustomModelSerializer): """ class Meta: - model = Dict + model = Dictionary exclude = EXCLUDE_FIELDS class PostSerializer(CustomModelSerializer): @@ -195,7 +195,7 @@ class DeptCreateUpdateSerializer(CustomModelSerializer): @transaction.atomic def create(self, validated_data): - from apps.utils.dahua import dhClient + from apps.third.clients import dhClient if dhClient: data = { "parentId":1, @@ -210,7 +210,7 @@ class DeptCreateUpdateSerializer(CustomModelSerializer): @transaction.atomic def update(self, instance, validated_data): - from apps.utils.dahua import dhClient + from apps.third.clients import dhClient third_info = instance.third_info if dhClient and not third_info.get('dh_id', False): # 如果dh_id 不存在 diff --git a/apps/system/views.py b/apps/system/views.py index 74b480bb..b5d41739 100644 --- a/apps/system/views.py +++ b/apps/system/views.py @@ -21,7 +21,7 @@ from apps.utils.queryset import get_child_queryset2 from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from server.celery import app as celery_app from .filters import UserFilter -from .models import (Dept, Dict, DictType, File, Permission, Post, Role, User, +from .models import (Dept, Dictionary, DictType, File, Permission, Post, Role, User, UserPost) from .serializers import (DeptCreateUpdateSerializer, DeptSerializer, DictCreateUpdateSerializer, DictSerializer, DictTypeCreateUpdateSerializer, DictTypeSerializer, FileSerializer, PasswordChangeSerializer, PermissionCreateUpdateSerializer, PermissionSerializer, PostCreateUpdateSerializer, PostSerializer, @@ -69,7 +69,7 @@ class PTaskViewSet(CustomModelViewSet): select_related_fields = ['interval', 'crontab'] ordering = ['-create_time'] - @action(methods=['put'], detail=True, perms_map={'put': 'ptask_update'}) + @action(methods=['put'], detail=True, perms_map={'put': 'ptask.update'}) def toggle(self, request, pk=None): """修改启用禁用状态 @@ -185,8 +185,8 @@ class DictViewSet(CustomModelViewSet): 数据字典-增删改查 """ - # queryset = Dict.objects.get_queryset(all=True) # 获取全部的,包括软删除的 - queryset = Dict.objects.all() + # queryset = Dictionary.objects.get_queryset(all=True) # 获取全部的,包括软删除的 + queryset = Dictionary.objects.all() filterset_fields = ['type', 'is_used', 'type__code'] serializer_class = DictSerializer create_serializer_class = DictCreateUpdateSerializer @@ -263,7 +263,7 @@ class UserPostViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, Custo 用户/岗位关系 """ - perms_map = {'get': '*', 'post': 'user_update', 'delete': 'user_update'} + perms_map = {'get': '*', 'post': 'user.update', 'delete': 'user.update'} queryset = UserPost.objects.select_related('user', 'post', 'dept').all() serializer_class = UserPostSerializer create_serializer_class = UserPostCreateSerializer diff --git a/apps/third/clients.py b/apps/third/clients.py new file mode 100644 index 00000000..a282ce62 --- /dev/null +++ b/apps/third/clients.py @@ -0,0 +1,5 @@ +from apps.utils.xunxi import XxClient +from apps.utils.dahua import DhClient + +dhClient = DhClient() +xxClient = XxClient() \ No newline at end of file diff --git a/apps/third/tapis.py b/apps/third/tapis.py index 55ebb4f0..e4a2b3ac 100644 --- a/apps/third/tapis.py +++ b/apps/third/tapis.py @@ -12,7 +12,7 @@ dhapis = { "url":"/evo-apigw/evo-brm/1.0.0/department/update", "method":"put" }, - "gen_person_id":{ + "person_gen_id":{ "url":"/evo-apigw/evo-brm/1.0.0/person/generate-id", "method":"get" }, @@ -48,7 +48,7 @@ dhapis = { "url":"/evo-apigw/evo-brm/1.2.0/card/add", "method":"post" }, - "gen_card_id": { + "card_gen_id": { "url":"/evo-apigw/evo-brm/1.0.0/card/generate-id", "method":"get" }, @@ -63,6 +63,26 @@ dhapis = { "mq_unsubscribe": { "url":"/evo-apigw/evo-event/1.0.0/subscribe/mqinfo", "method":"delete" + }, + "face_bind":{ + "url":"/evo-apigw/evo-face/deptGroup/sync/bindPerson", + "method":"post" + }, + "dev_tree":{ + "url":"/evo-apigw/evo-face/tree/getDevChnIdsAndName", + "method":"get" + }, + "dev_page":{ + "url":"/evo-apigw/evo-brm/1.2.0/device/subsystem/page", + "method":"post" + }, + "face_group_update":{ + "url":"/evo-apigw/evo-face/groupInfo/update", + "method":"post" + }, + "face_group_info":{ + "url":"/evo-apigw/evo-face/groupInfo/view/{id}", + "method":"get" } } diff --git a/apps/third/views.py b/apps/third/views.py index 731ad56a..17d9e6ed 100644 --- a/apps/third/views.py +++ b/apps/third/views.py @@ -1,10 +1,10 @@ from rest_framework.exceptions import ParseError, APIException from apps.third.tapis import dhapis, xxapis from apps.third.erros import TAPI_CODE_WRONG -from apps.utils.dahua import dhClient +from apps.third.clients import dhClient from apps.utils.errors import XX_REQUEST_ERROR from apps.utils.mixins import MyLoggingMixin -from apps.utils.xunxi import xxClient +from apps.third.clients import xxClient from rest_framework.response import Response from rest_framework.views import APIView from rest_framework.permissions import IsAuthenticated, IsAdminUser @@ -14,6 +14,8 @@ from rest_framework.decorators import action from apps.third.serializers import RequestCommonSerializer from rest_framework import serializers +import stomp +from server import settings # Create your views here. @@ -48,6 +50,19 @@ class XxTestView(APIView): else: raise APIException(**res) +class XxListener(stomp.ConnectionListener): + def on_error(self, frame): + print('received an error "%s"' % frame.body) + + def on_message(self, frame): + print('received a message "%s"' % frame.body) + + +# if settings.XX_ENABLED: +# c = stomp.Connection([(settings.XX_MQ_HOST, settings.XX_MQ_PORT)]) +# c.set_listener('', XxListener()) +# c.connect(settings.XX_USERNAME, settings.XX_LICENCE) +# c.subscribe(settings.XX_QUEUE, id='') class XxCommonViewSet(CreateModelMixin, CustomGenericViewSet): """ @@ -161,3 +176,25 @@ class DhCommonViewSet(CreateModelMixin, CustomGenericViewSet): """ dhClient.request(**dhapis['mq_unsubscribe'], params={'name':'127.0.0.1_8000'}) return Response() + + @action(methods=['post'], detail=False, + authentication_classes=[], permission_classes=[], + serializer_class=serializers.Serializer) + def mq(self, request, pk=None): + """大华事件处理 + + 大华事件处理 + """ + data = request.data + method = data['method'] + subsystem = data.get('subsystem', None) + info = data.get('info', {}) + if method == 'department.update': + pass + elif method == 'person.update': + pass + elif method == 'alarm.msg' and subsystem == 'evo-accesscontrol': + """ + 刷卡事件 + """ + return Response() \ No newline at end of file diff --git a/apps/utils/dahua.py b/apps/utils/dahua.py index fed53893..9b4d9bdf 100644 --- a/apps/utils/dahua.py +++ b/apps/utils/dahua.py @@ -101,7 +101,7 @@ class DhClient: self.request(url, method, params, json, timeout, file_path_rela, raise_exception) else: if ret['code'] not in ['0', '100', '00000', '1000', 0, 100, 1000]: - detail = '大华错误:' + '{}|{}{}'.format(str(ret['code']), ret.get('errMsg',''), ret.get('desc', '')) + detail = '大华错误:' + '{}|{}{}{}'.format(str(ret['code']), ret.get('errMsg',''), ret.get('desc', ''), str(ret.get('data', ''))) err_detail = dict(detail=detail, code='dh_'+str(ret['code'])) if raise_exception: raise ParseError(**err_detail) diff --git a/apps/utils/viewsets.py b/apps/utils/viewsets.py index 73caa134..72ed89c8 100644 --- a/apps/utils/viewsets.py +++ b/apps/utils/viewsets.py @@ -106,11 +106,11 @@ class CustomModelViewSet(CreateModelMixin # 增加默认权限标识 if not self.perms_map: basename = self.basename - self.perms_map = {'get':'*', 'post':'{}_create'.format(basename) - ,'put':'{}_update'.format(basename) - ,'patch':'{}_update'.format(basename) - ,'delete':'{}_delete'.format(basename) - ,'deletes':'{}_delete'.format(basename)} + self.perms_map = {'get':'*', 'post':'{}.create'.format(basename) + ,'put':'{}.update'.format(basename) + ,'patch':'{}.update'.format(basename) + ,'delete':'{}.delete'.format(basename) + ,'deletes':'{}.delete'.format(basename)} for k, v in self.perms_map.items(): if v not in ALL_PERMS and v!='*': ALL_PERMS.append(v) diff --git a/apps/utils/xunxi.py b/apps/utils/xunxi.py index a2827946..9886b162 100644 --- a/apps/utils/xunxi.py +++ b/apps/utils/xunxi.py @@ -90,6 +90,4 @@ class XxClient: return 'success', ret['data'] if raise_exception: raise APIException(**XX_REQUEST_ERROR) - return 'error', XX_REQUEST_ERROR - -xxClient = XxClient() \ No newline at end of file + return 'error', XX_REQUEST_ERROR \ No newline at end of file diff --git a/apps/wf/models.py b/apps/wf/models.py index d56f9cf3..fd059949 100644 --- a/apps/wf/models.py +++ b/apps/wf/models.py @@ -4,7 +4,7 @@ from django.db.models.base import Model import django.utils.timezone as timezone from django.db.models.query import QuerySet from apps.utils.models import CommonAModel -from apps.system.models import Dept, User, Dict, File +from apps.system.models import Dept, User, File from apps.utils.models import SoftModel, BaseModel from simple_history.models import HistoricalRecords diff --git a/requirements.txt b/requirements.txt index ba46b846..7b6cbc78 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,3 +17,4 @@ daphne==3.0.2 channels==3.0.4 channels-redis==3.4.0 django-restql==0.15.2 +stomp.py==8.0.0 diff --git a/server/settings.py b/server/settings.py index fb773681..f67a5419 100644 --- a/server/settings.py +++ b/server/settings.py @@ -312,13 +312,17 @@ DAHUA_USERNAME = conf.DAHUA_USERNAME DAHUA_PASSWORD = conf.DAHUA_PASSWORD DAHUA_CLIENTID = conf.DAHUA_CLIENTID DAHUA_SECRET = conf.DAHUA_SECRET +DAHUA_FACEGROUPID_1 = conf.DAHUA_FACEGROUPID_1 # 寻息定位 XX_ENABLED = conf.XX_ENABLED XX_BASE_URL = conf.XX_BASE_URL +XX_MQ_HOST = conf.XX_MQ_HOST +XX_MQ_PORT = conf.XX_MQ_PORT XX_LICENCE = conf.XX_LICENCE XX_USERNAME = conf.XX_USERNAME XX_BUILDID = conf.XX_BUILDID +XX_QUEUE = conf.XX_QUEUE # 运维相关 SD_PWD = conf.SD_PWD