PHONE_2_ADMINISTRATIVE_DIVISION

Brightcells 6 years ago
parent
commit
cfd9fc85fa
4 changed files with 19 additions and 0 deletions
  1. 1 0
      api/mch_views.py
  2. 16 0
      commands/management/commands/gis.py
  3. 1 0
      kodo/settings.py
  4. 1 0
      pre/views.py

+ 1 - 0
api/mch_views.py

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

+ 16 - 0
commands/management/commands/gis.py

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

+ 1 - 0
kodo/settings.py

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

+ 1 - 0
pre/views.py

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