diff --git a/service/service.py b/service/service.py index 8f44f05..66e226f 100644 --- a/service/service.py +++ b/service/service.py @@ -52,18 +52,25 @@ class PointService: response = response[0]['address'] obj = models.PlacementPoint.objects.filter(street=response.get('street'), house_number=response.get('houseNumber'), - subject_rf=response.get('state'), city=response.get('city'), - is_vis=True, category=cat).values().first() if obj: + distances = models.PlacementPointPVZDistance.objects.filter(placement_point=obj.get('id')).all() obj.pop('id') - models.PrePlacementPoint.objects.get_or_create( + pre_obj, _ = models.PrePlacementPoint.objects.get_or_create( **{**obj, "matching_status": MatchingStatus.Matched.name}) + for d in distances: + models.PrePlacementPointPVZDistance.objects.get_or_create(placement_point=pre_obj, + pvz_postamates_group=d.pvz_postamates_group, + dist=d.dist) + matched += 1 else: models.PrePlacementPoint.objects.get_or_create(address=addr, street=response.get('street'), house_number=response.get('houseNumber'), + subject_rf=response.get('state'), + city=response.get('city'), category=cat, geometry=wkt, sample_trn=False, + is_vis=True, matching_status=MatchingStatus.New.name, status=PointStatus.Pending) return total, matched, problem