Browse Source

优化统计每月订单成本利润

peng 1 year ago
parent
commit
2a703e40b7
2 changed files with 8 additions and 6 deletions
  1. 3 1
      Controller/Cron/CronTaskController.py
  2. 5 5
      Model/models.py

+ 3 - 1
Controller/Cron/CronTaskController.py

@@ -1091,7 +1091,7 @@ class CronCollectDataView(View):
         try:
             today = datetime.datetime.today()
             start_time = datetime.datetime(today.year, today.month, 1)
-            end_time = start_time + relativedelta(months=1)
+            end_time = datetime.datetime(today.year, today.month, today.day)
             start_time_stamp = CommonService.str_to_timestamp(start_time.strftime('%Y-%m-%d %H:%M:%S'))
             end_time_stamp = CommonService.str_to_timestamp(end_time.strftime('%Y-%m-%d %H:%M:%S'))
             thread = threading.Thread(target=CronCollectDataView.thread_collect_operating_costs,
@@ -1106,6 +1106,7 @@ class CronCollectDataView(View):
         try:
             operating_costs_qs = OperatingCosts.objects.filter(time=start_time_stamp).values('order_id', 'end_time',
                                                                                              'uid')
+            create_time = int(time.time())
             for item in operating_costs_qs:
                 order_qs = Order_Model.objects.filter(orderID=item['order_id'], UID=item['uid']).values('price',
                                                                                                         'payTime',
@@ -1149,6 +1150,7 @@ class CronCollectDataView(View):
                                                                           actual_storage=actual_storage,
                                                                           settlement_days=settlement_days,
                                                                           actual_api=actual_api,
+                                                                          created_time=create_time,
                                                                           remaining_usage_time=remaining_usage_time)
             print('结束')
         except Exception as e:

+ 5 - 5
Model/models.py

@@ -4206,13 +4206,13 @@ class OperatingCosts(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='主键id')
     order_id = models.CharField(verbose_name='订单号', default='', max_length=24, db_index=True)
     uid = models.CharField(verbose_name='设备UID', default='', max_length=20, db_index=True)
-    day_average_price = models.CharField(verbose_name='收入分摊/天', default='', max_length=16)  # 订单金额/订单天数
-    month_average_price = models.CharField(verbose_name='收入分摊/月', default='', max_length=16)  # 收入分摊/天*当月使用天数
+    day_average_price = models.CharField(verbose_name='收入分摊/天', default='0', max_length=16)  # 订单金额/订单天数
+    month_average_price = models.CharField(verbose_name='收入分摊/月', default='0', max_length=16)  # 收入分摊/天*当月使用天数
     purchase_quantity = models.CharField(verbose_name='购买量/月', default='', max_length=8, blank=True)
-    actual_storage = models.CharField(default='', verbose_name='实际存储量', max_length=16)
+    actual_storage = models.CharField(default='0', verbose_name='实际存储量', max_length=16)
     actual_api = models.IntegerField(default=0, verbose_name='实际调用api次数')
-    actual_flow = models.CharField(default='', verbose_name='实际流量', max_length=16)
-    monthly_income = models.CharField(verbose_name='当月结算收入', default='', max_length=16)  # 实际收入/套餐总天数*结算天数
+    actual_flow = models.CharField(default='0', verbose_name='实际流量', max_length=16)
+    monthly_income = models.CharField(verbose_name='当月结算收入', default='0', max_length=16)  # 实际收入/套餐总天数*结算天数
     settlement_days = models.SmallIntegerField(verbose_name='当月结算天数', default=0)
     remaining_usage_time = models.IntegerField(default=0, verbose_name='剩余使用时间')
     created_time = models.IntegerField(default=0, verbose_name='当月结算时间')