diff --git a/apps/am/tasks.py b/apps/am/tasks.py index da6061a9..81b67363 100644 --- a/apps/am/tasks.py +++ b/apps/am/tasks.py @@ -3,7 +3,7 @@ from apps.utils.task import CustomTask from apps.am.models import Area from celery import shared_task from django.core.cache import cache -import shapely.geometry +from shapely.geometry import Polygon @shared_task(base=CustomTask) @@ -13,15 +13,14 @@ def cache_areas_info(): """ area_fix_list = [] for i in Area.objects.filter(type=Area.AREA_TYPE_FIX).exclude(third_info__xx_rail=None): - polygon = [] + points = [] for item in i.third_info['xx_rail']['detail']['polygon']['points']: - polygon.append([item.x, item.y]) - poly_context = {'type': 'MULTIPOLYGON', - 'coordinates': [[area_fix_list]]} + points.append((item['x'], item['y'])) + area_dict = { 'id': i.id, 'floor_no': i.third_info['xx_rail']['detail']['floorNo'], - 'poly_shape': shapely.geometry.asShape(poly_context), + 'polygon': Polygon(points), 'stay_minute_min': i.stay_minute_min, 'stay_minute_max': i.stay_minute_max } diff --git a/apps/am/urls.py b/apps/am/urls.py index 8085a149..05ff0e7f 100644 --- a/apps/am/urls.py +++ b/apps/am/urls.py @@ -1,10 +1,11 @@ +from apps.am.tasks import cache_areas_info from apps.am.views import AreaViewSet, AccessViewSet from django.urls import path, include from rest_framework.routers import DefaultRouter API_BASE_URL = 'api/am/' HTML_BASE_URL = 'am/' - +cache_areas_info() router = DefaultRouter() router.register('area', AreaViewSet, basename='area') router.register('access', AccessViewSet, basename='access') diff --git a/apps/ecm/service.py b/apps/ecm/service.py index 1aa75c87..089aa62c 100644 --- a/apps/ecm/service.py +++ b/apps/ecm/service.py @@ -12,7 +12,7 @@ from apps.third.tapis import xxapis from apps.utils.queryset import get_child_queryset2, get_parent_queryset from django.core.cache import cache import time -import shapely.geometry +from shapely.geometry import Point from apps.third.clients import dhClient, spClient from django.utils import timezone from django.conf import settings @@ -403,8 +403,8 @@ def loc_change(data): else: for i in area_fix_list: if data['floorNo'] == i['floor_no']: - point = shapely.geometry.Point(data['xMillimeter'], data['yMillimeter']) - if i['poly_shape'].intersects(point): # 如果点在多边形中 + point = Point(data['xMillimeter'], data['yMillimeter']) + if i['polygon'].intersects(point): # 如果点在多边形中 ep_loc_dict['time1'] = time2 ep_loc_dict['are_id'] = i['area_fix_id'] ep_loc_dict['time2'] = time2 diff --git a/apps/monitor/views.py b/apps/monitor/views.py index 94abd038..490c3569 100755 --- a/apps/monitor/views.py +++ b/apps/monitor/views.py @@ -97,7 +97,7 @@ class LogView(APIView): logs.append({ "name": file, "filepath": filepath, - "size": round(fsize/1000, 1) + "size": round(fsize/1024, 1) }) else: fsize = os.path.getsize(filepath) @@ -105,7 +105,7 @@ class LogView(APIView): logs.append({ "name": file, "filepath": filepath, - "size": round(fsize/1000, 1) + "size": round(fsize/1024, 1) }) return Response(logs) diff --git a/apps/opm/services.py b/apps/opm/services.py index 5ec2bb2b..1d9a1f66 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -28,6 +28,7 @@ def get_op_monitor(state, ticket, new_ticket_data, handler): if opl: return [opl.monitor.id] + def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict): opl = Opl.objects.get(id=new_ticket_data['opl']) ticket_data = ticket.ticket_data diff --git a/apps/third/views_d.py b/apps/third/views_d.py index a8a4b194..831ef124 100644 --- a/apps/third/views_d.py +++ b/apps/third/views_d.py @@ -326,6 +326,7 @@ class TDeviceViewSet(ListModelMixin, UpdateModelMixin, DestroyModelMixin, Custom 喇叭列表 """ + # print(request.data) _, res = spClient.request(**spapis['device_list'], params=request.data) codes = [] for i in res['rows']: