Issues 0 Pull Requests 0 Commits 743 Releases 0

No Description

gis.py 3.3KB

    # -*- coding: utf-8 -*- import logging import requests from django.conf import settings from django.db import transaction from django_models_ext import ProvinceModelMixin, ProvinceShortModelMixin from django_six import CompatibilityBaseCommand, close_old_connections from statistic.models import ConsumeProvinceSaleStatisticInfo from utils.redis.connect import r from utils.redis.rkeys import MINI_PROGRAM_GIS_LIST logger = logging.getLogger('console') class Command(CompatibilityBaseCommand): def handle(self, *args, **options): logger.info('Gis is dealing') while True: # r.rpushjson('TEMPLET_CMD_KEY', { # 'brand_id': 'brand_id', # 'lat': .0, # 'lon': .0, # 'ymd': '20121212', # }) k, v = r.blpopjson(MINI_PROGRAM_GIS_LIST, 60) if v: close_old_connections() logger.info(v) with transaction.atomic(): try: gisinfo = requests.get(settings.GIS_2_ADMINISTRATIVE_DIVISION.format(v.get('lat', 0), v.get('lon', 0))).json() except Exception as e: logger.info(e.message) if gisinfo.get('error') != 0: continue zh1 = gisinfo.get('data', {}).get('zh1', '') if not zh1: continue province_code = ProvinceModelMixin.PROVINCE_NAME_CODE_DICT.get(zh1) if not province_code: continue brand_id = v.get('brand_id', '') ymd = v.get('ymd', '') # [消费者维度]省份销量统计 # 日 cpssi, _ = ConsumeProvinceSaleStatisticInfo.objects.select_for_update().get_or_create( brand_id=brand_id, province_code=province_code, ymd=ymd, ) if not cpssi.province_name: cpssi.province_name = ProvinceShortModelMixin.PROVINCE_CODE_NAME_DICT.get(province_code) cpssi.num += 1 cpssi.save() # 月 cpssi, _ = ConsumeProvinceSaleStatisticInfo.objects.select_for_update().get_or_create( brand_id=brand_id, province_code=province_code, ymd=ymd[:6], ) if not cpssi.province_name: cpssi.province_name = ProvinceShortModelMixin.PROVINCE_CODE_NAME_DICT.get(province_code) cpssi.num += 1 cpssi.save() # 年 cpssi, _ = ConsumeProvinceSaleStatisticInfo.objects.select_for_update().get_or_create( brand_id=brand_id, province_code=province_code, ymd=ymd[:4], ) if not cpssi.province_name: cpssi.province_name = ProvinceShortModelMixin.PROVINCE_CODE_NAME_DICT.get(province_code) cpssi.num += 1 cpssi.save() close_old_connections()
kodo - Gogs: Go Git Service

Keine Beschreibung

Brightcells: a7cbbf15a7 Update max_length for CharField vor 8 Jahren
..
0001_initial.py 7a17d0fb90 add api wxpay & add redis relative vor 10 Jahren
0002_orderinfo_trade_type.py 0f425ae151 add api wx_order_query_api vor 10 Jahren
0003_auto_20160417_1544.py a0dfcb6f16 Alter field pay_status on orderinfo vor 10 Jahren
0004_auto_20160422_1322.py 102152ca4a add api lensman_photo_bought & modify api wx_order_create_api and adjust return field vor 10 Jahren
0005_remove_orderinfo_to_lid.py 8c384ff52e remove to_lid vor 10 Jahren
0006_auto_20160901_1439.py 6199c8f7ad add api lensman_origin_wanted_api/lensman_origin_photo_upload_api vor 10 Jahren
0007_orderinfo_unifiedorder_result.py b2aa0f8533 Add new field unifiedorder_result vor 9 Jahren
0008_auto_20170714_0759.py 32061504ff Add some fields for Order vor 9 Jahren
0009_auto_20170715_2314.py 75dbf7fdc8 New migration vor 9 Jahren
0010_auto_20180101_2220.py 9bb56c50cc Makemigrations vor 8 Jahren
0011_auto_20180103_0446.py a7cbbf15a7 Update max_length for CharField vor 8 Jahren
__init__.py 7a17d0fb90 add api wxpay & add redis relative vor 10 Jahren