|
|
|
|
@ -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
|
|
|
|
|
|