:art: Opt refreshs2

huangqimin 5 年之前
父節點
當前提交
2640b9969b
共有 1 個文件被更改,包括 211 次插入211 次删除
  1. 211 211
      pre/views.py

+ 211 - 211
pre/views.py

@@ -240,7 +240,6 @@ def fill_ym():
240 240
             ssi.save()
241 241
 
242 242
 
243
-@transaction.atomic
244 243
 def refreshs():
245 244
     ConsumeUserStatisticInfo.objects.all().delete()
246 245
     ConsumeSaleStatisticInfo.objects.all().delete()
@@ -257,83 +256,83 @@ def refreshs():
257 256
         except ModelInfo.DoesNotExist:
258 257
             continue
259 258
 
260
-        cusi, _ = ConsumeUserStatisticInfo.objects.select_for_update().get_or_create(
261
-            brand_id=mdl.brand_id,
262
-            ymd=ymd,
263
-        )
264
-        cusi.users = list(set(cusi.users + [log.user_id]))
265
-        cusi.num = len(cusi.users)
266
-        cusi.save()
267
-        cusi, _ = ConsumeUserStatisticInfo.objects.select_for_update().get_or_create(
268
-            brand_id=mdl.brand_id,
269
-            ymd=ymd[:6],
270
-        )
271
-        cusi.users = list(set(cusi.users + [log.user_id]))
272
-        cusi.num = len(cusi.users)
273
-        cusi.save()
274
-        cusi, _ = ConsumeUserStatisticInfo.objects.select_for_update().get_or_create(
275
-            brand_id=mdl.brand_id,
276
-            ymd=ymd[:4],
277
-        )
278
-        cusi.users = list(set(cusi.users + [log.user_id]))
279
-        cusi.num = len(cusi.users)
280
-        cusi.save()
281
-
282
-        cssi, _ = ConsumeSaleStatisticInfo.objects.select_for_update().get_or_create(
283
-            brand_id=mdl.brand_id,
284
-            ymd=ymd,
285
-        )
286
-        cssi.num += 1
287
-        cssi.save()
288
-        cssi, _ = ConsumeSaleStatisticInfo.objects.select_for_update().get_or_create(
289
-            brand_id=mdl.brand_id,
290
-            ymd=ymd[:6],
291
-        )
292
-        cssi.num += 1
293
-        cssi.save()
294
-        cssi, _ = ConsumeSaleStatisticInfo.objects.select_for_update().get_or_create(
295
-            brand_id=mdl.brand_id,
296
-            ymd=ymd[:4],
297
-        )
298
-        cssi.num += 1
299
-        cssi.save()
300
-
301
-        # 日型号销量统计
302
-        cmssi, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create(
303
-            brand_id=mdl.brand_id,
304
-            model_name=mdl.model_uni_name,
305
-            ymd=ymd,
306
-        )
307
-        cmssi.num += 1
308
-        cmssi.save()
309
-        # 月型号销量统计
310
-        cmssi, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create(
311
-            brand_id=mdl.brand_id,
312
-            model_name=mdl.model_uni_name,
313
-            ymd=ymd[:6],
314
-        )
315
-        cmssi.num += 1
316
-        cmssi.save()
317
-        # 年型号销量统计
318
-        cmssi, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create(
319
-            brand_id=mdl.brand_id,
320
-            model_name=mdl.model_uni_name,
321
-            ymd=ymd[:4],
322
-        )
323
-        cmssi.num += 1
324
-        cmssi.save()
325
-
326
-        r.rpushjson(MINI_PROGRAM_GIS_LIST, {
327
-            'brand_id': log.brand_id,
328
-            'user_id': log.user_id,
329
-            'lat': log.lat,
330
-            'lon': log.lon,
331
-            'phone': log.phone,
332
-            'ymd': tc.local_string(tc.to_local_datetime(log.created_at), format='%Y%m%d'),
333
-        })
334
-
335
-
336
-@transaction.atomic
259
+        with transaction.atomic():
260
+            cusi, _ = ConsumeUserStatisticInfo.objects.select_for_update().get_or_create(
261
+                brand_id=mdl.brand_id,
262
+                ymd=ymd,
263
+            )
264
+            cusi.users = list(set(cusi.users + [log.user_id]))
265
+            cusi.num = len(cusi.users)
266
+            cusi.save()
267
+            cusi, _ = ConsumeUserStatisticInfo.objects.select_for_update().get_or_create(
268
+                brand_id=mdl.brand_id,
269
+                ymd=ymd[:6],
270
+            )
271
+            cusi.users = list(set(cusi.users + [log.user_id]))
272
+            cusi.num = len(cusi.users)
273
+            cusi.save()
274
+            cusi, _ = ConsumeUserStatisticInfo.objects.select_for_update().get_or_create(
275
+                brand_id=mdl.brand_id,
276
+                ymd=ymd[:4],
277
+            )
278
+            cusi.users = list(set(cusi.users + [log.user_id]))
279
+            cusi.num = len(cusi.users)
280
+            cusi.save()
281
+
282
+            cssi, _ = ConsumeSaleStatisticInfo.objects.select_for_update().get_or_create(
283
+                brand_id=mdl.brand_id,
284
+                ymd=ymd,
285
+            )
286
+            cssi.num += 1
287
+            cssi.save()
288
+            cssi, _ = ConsumeSaleStatisticInfo.objects.select_for_update().get_or_create(
289
+                brand_id=mdl.brand_id,
290
+                ymd=ymd[:6],
291
+            )
292
+            cssi.num += 1
293
+            cssi.save()
294
+            cssi, _ = ConsumeSaleStatisticInfo.objects.select_for_update().get_or_create(
295
+                brand_id=mdl.brand_id,
296
+                ymd=ymd[:4],
297
+            )
298
+            cssi.num += 1
299
+            cssi.save()
300
+
301
+            # 日型号销量统计
302
+            cmssi, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create(
303
+                brand_id=mdl.brand_id,
304
+                model_name=mdl.model_uni_name,
305
+                ymd=ymd,
306
+            )
307
+            cmssi.num += 1
308
+            cmssi.save()
309
+            # 月型号销量统计
310
+            cmssi, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create(
311
+                brand_id=mdl.brand_id,
312
+                model_name=mdl.model_uni_name,
313
+                ymd=ymd[:6],
314
+            )
315
+            cmssi.num += 1
316
+            cmssi.save()
317
+            # 年型号销量统计
318
+            cmssi, _ = ConsumeModelSaleStatisticInfo.objects.select_for_update().get_or_create(
319
+                brand_id=mdl.brand_id,
320
+                model_name=mdl.model_uni_name,
321
+                ymd=ymd[:4],
322
+            )
323
+            cmssi.num += 1
324
+            cmssi.save()
325
+
326
+            r.rpushjson(MINI_PROGRAM_GIS_LIST, {
327
+                'brand_id': log.brand_id,
328
+                'user_id': log.user_id,
329
+                'lat': log.lat,
330
+                'lon': log.lon,
331
+                'phone': log.phone,
332
+                'ymd': tc.local_string(tc.to_local_datetime(log.created_at), format='%Y%m%d'),
333
+            })
334
+
335
+
337 336
 def refreshs2():
338 337
     SaleStatisticInfo.objects.all().delete()
339 338
     ModelSaleStatisticInfo.objects.all().delete()
@@ -366,136 +365,137 @@ def refreshs2():
366 365
         except DistributorInfo.DoesNotExist:
367 366
             continue
368 367
 
369
-        # 日销量统计
370
-        ssi, _ = SaleStatisticInfo.objects.select_for_update().get_or_create(
371
-            brand_id=brand.brand_id,
372
-            ymd=ymd,
373
-        )
374
-        ssi.num += 1
375
-        ssi.save()
376
-        # 月销量统计
377
-        ssi, _ = SaleStatisticInfo.objects.select_for_update().get_or_create(
378
-            brand_id=brand.brand_id,
379
-            ymd=ymd[:6],
380
-        )
381
-        ssi.num += 1
382
-        ssi.save()
383
-        # 年销量统计
384
-        ssi, _ = SaleStatisticInfo.objects.select_for_update().get_or_create(
385
-            brand_id=brand.brand_id,
386
-            ymd=ymd[:4],
387
-        )
388
-        ssi.num += 1
389
-        ssi.save()
390
-
391
-        # 型号销量统计
392
-        mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create(
393
-            brand_id=brand.brand_id,
394
-            model_name=model.model_uni_name,
395
-            ymd=ymd,
396
-        )
397
-        mssi.saleclerks += [clerk.clerk_id]
398
-        mssi.num = len(mssi.saleclerks)
399
-        mssi.save()
400
-
401
-        mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create(
402
-            brand_id=brand.brand_id,
403
-            model_name=model.model_uni_name,
404
-            ymd=ymd[:6],
405
-        )
406
-        mssi.saleclerks += [clerk.clerk_id]
407
-        mssi.num = len(mssi.saleclerks)
408
-        mssi.save()
409
-
410
-        mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create(
411
-            brand_id=brand.brand_id,
412
-            model_name=model.model_uni_name,
413
-            ymd=ymd[:4],
414
-        )
415
-        mssi.saleclerks += [clerk.clerk_id]
416
-        mssi.num = len(mssi.saleclerks)
417
-        mssi.save()
418
-
419
-        # 经销商销量统计
420
-        dssi, _ = DistributorSaleStatisticInfo.objects.select_for_update().get_or_create(
421
-            brand_id=brand.brand_id,
422
-            distributor_id=distributor.distributor_id,
423
-            ymd=ymd,
424
-        )
425
-        dssi.distributor_name = distributor.distributor_name
426
-        dssi.num += 1
427
-        dssi.save()
428
-
429
-        dssi2, _ = DistributorSaleStatisticInfo.objects.select_for_update().get_or_create(
430
-            brand_id=brand.brand_id,
431
-            distributor_id=distributor.distributor_id,
432
-            ymd=0,
433
-        )
434
-        dssi2.distributor_name = distributor.distributor_name
435
-        dssi2.num += 1
436
-        dssi2.save()
437
-
438
-        # 日省份销量统计
439
-        pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create(
440
-            brand_id=brand.brand_id,
441
-            province_code=distributor.distributor_province_code,
442
-            ymd=ymd,
443
-        )
444
-        pssi.province_name = distributor.distributor_province_name
445
-        pssi.num += 1
446
-        pssi.save()
447
-        # 月省份销量统计
448
-        pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create(
449
-            brand_id=brand.brand_id,
450
-            province_code=distributor.distributor_province_code,
451
-            ymd=ymd[:6],
452
-        )
453
-        pssi.province_name = distributor.distributor_province_name
454
-        pssi.num += 1
455
-        pssi.save()
456
-        # 年省份销量统计
457
-        pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create(
458
-            brand_id=brand.brand_id,
459
-            province_code=distributor.distributor_province_code,
460
-            ymd=ymd[:4],
461
-        )
462
-        pssi.province_name = distributor.distributor_province_name
463
-        pssi.num += 1
464
-        pssi.save()
465
-
466
-        # 日销售员销量统计
467
-        sssi, _ = SaleclerkSaleStatisticInfo.objects.select_for_update().get_or_create(
468
-            brand_id=brand.brand_id,
469
-            clerk_id=clerk.clerk_id,
470
-            ymd=ymd,
471
-        )
472
-        sssi.distributor_id = distributor.distributor_id
473
-        sssi.distributor_name = distributor.distributor_name
474
-        sssi.distributor_short_name = distributor.distributor_short_name
475
-        sssi.clerk_name = clerk.clerk_name
476
-        sssi.num += 1
477
-        sssi.save()
478
-        # 月销售员销量统计
479
-        sssi, _ = SaleclerkSaleStatisticInfo.objects.select_for_update().get_or_create(
480
-            brand_id=brand.brand_id,
481
-            clerk_id=clerk.clerk_id,
482
-            ymd=ymd[:6],
483
-        )
484
-        sssi.distributor_id = distributor.distributor_id
485
-        sssi.distributor_name = distributor.distributor_name
486
-        sssi.distributor_short_name = distributor.distributor_short_name
487
-        sssi.clerk_name = clerk.clerk_name
488
-        sssi.num += 1
489
-        sssi.save()
490
-        # 年销售员销量统计
491
-        sssi, _ = SaleclerkSaleStatisticInfo.objects.select_for_update().get_or_create(
492
-            brand_id=brand.brand_id,
493
-            clerk_id=clerk.clerk_id,
494
-            ymd=ymd[:4],
495
-        )
496
-        sssi.distributor_id = distributor.distributor_id
497
-        sssi.distributor_name = distributor.distributor_name
498
-        sssi.distributor_short_name = distributor.distributor_short_name
499
-        sssi.clerk_name = clerk.clerk_name
500
-        sssi.num += 1
501
-        sssi.save()
368
+        with transaction.atomic():
369
+            # 日销量统计
370
+            ssi, _ = SaleStatisticInfo.objects.select_for_update().get_or_create(
371
+                brand_id=brand.brand_id,
372
+                ymd=ymd,
373
+            )
374
+            ssi.num += 1
375
+            ssi.save()
376
+            # 月销量统计
377
+            ssi, _ = SaleStatisticInfo.objects.select_for_update().get_or_create(
378
+                brand_id=brand.brand_id,
379
+                ymd=ymd[:6],
380
+            )
381
+            ssi.num += 1
382
+            ssi.save()
383
+            # 年销量统计
384
+            ssi, _ = SaleStatisticInfo.objects.select_for_update().get_or_create(
385
+                brand_id=brand.brand_id,
386
+                ymd=ymd[:4],
387
+            )
388
+            ssi.num += 1
389
+            ssi.save()
390
+
391
+            # 型号销量统计
392
+            mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create(
393
+                brand_id=brand.brand_id,
394
+                model_name=model.model_uni_name,
395
+                ymd=ymd,
396
+            )
397
+            mssi.saleclerks += [clerk.clerk_id]
398
+            mssi.num = len(mssi.saleclerks)
399
+            mssi.save()
400
+
401
+            mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create(
402
+                brand_id=brand.brand_id,
403
+                model_name=model.model_uni_name,
404
+                ymd=ymd[:6],
405
+            )
406
+            mssi.saleclerks += [clerk.clerk_id]
407
+            mssi.num = len(mssi.saleclerks)
408
+            mssi.save()
409
+
410
+            mssi, _ = ModelSaleStatisticInfo.objects.select_for_update().get_or_create(
411
+                brand_id=brand.brand_id,
412
+                model_name=model.model_uni_name,
413
+                ymd=ymd[:4],
414
+            )
415
+            mssi.saleclerks += [clerk.clerk_id]
416
+            mssi.num = len(mssi.saleclerks)
417
+            mssi.save()
418
+
419
+            # 经销商销量统计
420
+            dssi, _ = DistributorSaleStatisticInfo.objects.select_for_update().get_or_create(
421
+                brand_id=brand.brand_id,
422
+                distributor_id=distributor.distributor_id,
423
+                ymd=ymd,
424
+            )
425
+            dssi.distributor_name = distributor.distributor_name
426
+            dssi.num += 1
427
+            dssi.save()
428
+
429
+            dssi2, _ = DistributorSaleStatisticInfo.objects.select_for_update().get_or_create(
430
+                brand_id=brand.brand_id,
431
+                distributor_id=distributor.distributor_id,
432
+                ymd=0,
433
+            )
434
+            dssi2.distributor_name = distributor.distributor_name
435
+            dssi2.num += 1
436
+            dssi2.save()
437
+
438
+            # 日省份销量统计
439
+            pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create(
440
+                brand_id=brand.brand_id,
441
+                province_code=distributor.distributor_province_code,
442
+                ymd=ymd,
443
+            )
444
+            pssi.province_name = distributor.distributor_province_name
445
+            pssi.num += 1
446
+            pssi.save()
447
+            # 月省份销量统计
448
+            pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create(
449
+                brand_id=brand.brand_id,
450
+                province_code=distributor.distributor_province_code,
451
+                ymd=ymd[:6],
452
+            )
453
+            pssi.province_name = distributor.distributor_province_name
454
+            pssi.num += 1
455
+            pssi.save()
456
+            # 年省份销量统计
457
+            pssi, _ = ProvinceSaleStatisticInfo.objects.select_for_update().get_or_create(
458
+                brand_id=brand.brand_id,
459
+                province_code=distributor.distributor_province_code,
460
+                ymd=ymd[:4],
461
+            )
462
+            pssi.province_name = distributor.distributor_province_name
463
+            pssi.num += 1
464
+            pssi.save()
465
+
466
+            # 日销售员销量统计
467
+            sssi, _ = SaleclerkSaleStatisticInfo.objects.select_for_update().get_or_create(
468
+                brand_id=brand.brand_id,
469
+                clerk_id=clerk.clerk_id,
470
+                ymd=ymd,
471
+            )
472
+            sssi.distributor_id = distributor.distributor_id
473
+            sssi.distributor_name = distributor.distributor_name
474
+            sssi.distributor_short_name = distributor.distributor_short_name
475
+            sssi.clerk_name = clerk.clerk_name
476
+            sssi.num += 1
477
+            sssi.save()
478
+            # 月销售员销量统计
479
+            sssi, _ = SaleclerkSaleStatisticInfo.objects.select_for_update().get_or_create(
480
+                brand_id=brand.brand_id,
481
+                clerk_id=clerk.clerk_id,
482
+                ymd=ymd[:6],
483
+            )
484
+            sssi.distributor_id = distributor.distributor_id
485
+            sssi.distributor_name = distributor.distributor_name
486
+            sssi.distributor_short_name = distributor.distributor_short_name
487
+            sssi.clerk_name = clerk.clerk_name
488
+            sssi.num += 1
489
+            sssi.save()
490
+            # 年销售员销量统计
491
+            sssi, _ = SaleclerkSaleStatisticInfo.objects.select_for_update().get_or_create(
492
+                brand_id=brand.brand_id,
493
+                clerk_id=clerk.clerk_id,
494
+                ymd=ymd[:4],
495
+            )
496
+            sssi.distributor_id = distributor.distributor_id
497
+            sssi.distributor_name = distributor.distributor_name
498
+            sssi.distributor_short_name = distributor.distributor_short_name
499
+            sssi.clerk_name = clerk.clerk_name
500
+            sssi.num += 1
501
+            sssi.save()