@@ -20,6 +20,7 @@ from utils.error.errno_utils import (AdministratorStatusCode, OperatorStatusCode |
||
| 20 | 20 |
ProductDistributorStatusCode, ProductModelStatusCode, SaleclerkStatusCode, |
| 21 | 21 |
UserStatusCode) |
| 22 | 22 |
from utils.redis.connect import r |
| 23 |
+from utils.redis.rkeys import MINI_PROGRAM_GIS_LIST |
|
| 23 | 24 |
|
| 24 | 25 |
|
| 25 | 26 |
WECHAT = settings.WECHAT |
@@ -266,7 +267,7 @@ def consumer_info_api(request): |
||
| 266 | 267 |
# return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND) |
| 267 | 268 |
|
| 268 | 269 |
# 记录用户信息提交记录 |
| 269 |
- ConsumeInfoSubmitLogInfo.objects.create( |
|
| 270 |
+ log = ConsumeInfoSubmitLogInfo.objects.create( |
|
| 270 | 271 |
user_id=user_id, |
| 271 | 272 |
phone=purePhoneNumber, |
| 272 | 273 |
iv=iv, |
@@ -349,6 +350,13 @@ def consumer_info_api(request): |
||
| 349 | 350 |
mssi.num += 1 |
| 350 | 351 |
mssi.save() |
| 351 | 352 |
|
| 353 |
+ r.rpushjson(MINI_PROGRAM_GIS_LIST, {
|
|
| 354 |
+ 'brand_id': log.brand_id, |
|
| 355 |
+ 'lat': log.lat, |
|
| 356 |
+ 'lon': log.lon, |
|
| 357 |
+ 'ymd': ymd, |
|
| 358 |
+ }) |
|
| 359 |
+ |
|
| 352 | 360 |
# mssi2, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create( |
| 353 | 361 |
# brand_id=brand.brand_id, |
| 354 | 362 |
# model_id=model.model_id, |
@@ -219,24 +219,19 @@ def ymdtj(brand_id, ymd, lastymd): |
||
| 219 | 219 |
# 与上个统计周期数据的用户人数比例 |
| 220 | 220 |
user_count_increase_pct = '%.2f' % (scan_user_count * 100.0 / last_scan_user_count) if last_scan_user_count != 0 else 0 |
| 221 | 221 |
|
| 222 |
- # [经销商维度] 周期内镜头销售支数 |
|
| 223 |
- try: |
|
| 224 |
- sell_volume_count = SaleStatisticInfo.objects.get(brand_id=brand_id, ymd=ymd).num |
|
| 225 |
- except SaleStatisticInfo.DoesNotExist: |
|
| 226 |
- sell_volume_count = 0 |
|
| 222 |
+ # [消费者维度] 统计周期内型号扫描排行数据,请按顺序返回 |
|
| 223 |
+ current_models = ConsumeModelSaleStatisticInfo.objects.filter(brand_id=brand_id, ymd=ymd, status=True).order_by('-num')
|
|
| 224 |
+ models = [m.data for m in current_models[:20]] |
|
| 227 | 225 |
|
| 228 |
- try: |
|
| 229 |
- last_sell_volume_count = SaleStatisticInfo.objects.get(brand_id=brand_id, ymd=lastymd).num |
|
| 230 |
- except SaleStatisticInfo.DoesNotExist: |
|
| 231 |
- last_sell_volume_count = 0 |
|
| 226 |
+ # [消费者维度] 周期内镜头销售支数 |
|
| 227 |
+ sell_volume_count = sum([m.get('num', 0) for m in current_models])
|
|
| 228 |
+ |
|
| 229 |
+ last_models = ConsumeModelSaleStatisticInfo.objects.filter(brand_id=brand_id, ymd=lastymd, status=True).order_by('-num')
|
|
| 230 |
+ last_sell_volume_count = sum([m.num for m in last_models]) |
|
| 232 | 231 |
|
| 233 | 232 |
# 与上个统计周期数据的销售支数比例 |
| 234 | 233 |
volume_count_increase_pct = '%.2f' % (sell_volume_count * 100.0 / last_sell_volume_count) if last_sell_volume_count != 0 else 0 |
| 235 | 234 |
|
| 236 |
- # [消费者维度] 统计周期内型号扫描排行数据,请按顺序返回 |
|
| 237 |
- models = ConsumeModelSaleStatisticInfo.objects.filter(brand_id=brand_id, ymd=ymd, status=True).order_by('-num')[:20]
|
|
| 238 |
- models = [m.data for m in models] |
|
| 239 |
- |
|
| 240 | 235 |
# [经销商维度] 统计周期内销售员排行数据,请按顺序返回 |
| 241 | 236 |
salesmen = SaleclerkSaleStatisticInfo.objects.filter(brand_id=brand_id, ymd=ymd, status=True).order_by('-num')[:20]
|
| 242 | 237 |
salesmen = [s.data for s in salesmen] |