@@ -373,6 +373,7 @@ def consumer_info_api(request): |
||
| 373 | 373 |
'brand_id': log.brand_id, |
| 374 | 374 |
'lat': log.lat, |
| 375 | 375 |
'lon': log.lon, |
| 376 |
+ 'phone': log.phone, |
|
| 376 | 377 |
'ymd': ymd, |
| 377 | 378 |
}) |
| 378 | 379 |
|
@@ -1,5 +1,6 @@ |
||
| 1 | 1 |
# -*- coding: utf-8 -*- |
| 2 | 2 |
|
| 3 |
+import json |
|
| 3 | 4 |
import logging |
| 4 | 5 |
|
| 5 | 6 |
import requests |
@@ -26,6 +27,7 @@ class Command(CompatibilityBaseCommand): |
||
| 26 | 27 |
# 'brand_id': 'brand_id', |
| 27 | 28 |
# 'lat': .0, |
| 28 | 29 |
# 'lon': .0, |
| 30 |
+ # 'phone': '18888888888', |
|
| 29 | 31 |
# 'ymd': '20121212', |
| 30 | 32 |
# }) |
| 31 | 33 |
k, v = r.blpopjson(MINI_PROGRAM_GIS_LIST, 60) |
@@ -50,6 +52,20 @@ class Command(CompatibilityBaseCommand): |
||
| 50 | 52 |
|
| 51 | 53 |
province_code = ProvinceModelMixin.PROVINCE_NAME_CODE_DICT.get(zh1) |
| 52 | 54 |
|
| 55 |
+ # 手机归属地 |
|
| 56 |
+ if not province_code: |
|
| 57 |
+ try: |
|
| 58 |
+ phoneinfo = requests.get(settings.PHONE_2_ADMINISTRATIVE_DIVISION.format(v.get('phone', 0)))
|
|
| 59 |
+ except Exception as e: |
|
| 60 |
+ logger.info(e.message) |
|
| 61 |
+ continue |
|
| 62 |
+ try: |
|
| 63 |
+ province_name = json.loads(phoneinfo.content.split('(')[-1][:-1])['data']['area']
|
|
| 64 |
+ except Exception as e: |
|
| 65 |
+ logger.info(e.message) |
|
| 66 |
+ continue |
|
| 67 |
+ province_code = ProvinceShortModelMixin.PROVINCE_NAME_CODE_DICT.get(province_name) |
|
| 68 |
+ |
|
| 53 | 69 |
if not province_code: |
| 54 | 70 |
continue |
| 55 | 71 |
|
@@ -393,6 +393,7 @@ KODO_CLERK_AUTH_URL = 'http://pai.ai/w/o?r=http%3A%2F%2Fkodo.xfoto.com.cn%2Fp%2F |
||
| 393 | 393 |
|
| 394 | 394 |
# 经纬度 |
| 395 | 395 |
GIS_2_ADMINISTRATIVE_DIVISION = 'http://116.196.105.215:1234/gis?auth_user=freevip&latitude={0}&longitude={1}'
|
| 396 |
+PHONE_2_ADMINISTRATIVE_DIVISION = 'https://www.baifubao.com/callback?cmd=1059&callback=phone&phone={0}'
|
|
| 396 | 397 |
|
| 397 | 398 |
try: |
| 398 | 399 |
from local_settings import * |
@@ -288,5 +288,6 @@ def refreshs(): |
||
| 288 | 288 |
'brand_id': log.brand_id, |
| 289 | 289 |
'lat': log.lat, |
| 290 | 290 |
'lon': log.lon, |
| 291 |
+ 'phone': log.phone, |
|
| 291 | 292 |
'ymd': tc.local_string(tc.to_local_datetime(log.created_at), format='%Y%m%d'), |
| 292 | 293 |
}) |