zjl 2 سال پیش
والد
کامیت
a16177831b
2فایلهای تغییر یافته به همراه59 افزوده شده و 11 حذف شده
  1. 21 8
      apps/web/dealer/views.py
  2. 38 3
      apps/web/user/models.py

+ 21 - 8
apps/web/dealer/views.py

@@ -2165,7 +2165,13 @@ def getConsumptionList(request):
         groupId = request.GET.get('groupId')
 
         filters = {
-            'isNormal': True
+            "status__in": [
+                ConsumeRecord.Status.FINISHED,
+                ConsumeRecord.Status.END,
+                ConsumeRecord.Status.TIMEOUT,
+                ConsumeRecord.Status.WAIT_PAY,
+                ConsumeRecord.Status.CREATED,
+            ]
         }
 
         if not groupId:
@@ -2194,13 +2200,15 @@ def getConsumptionList(request):
             filters.update({"searchKey": searchKey})
 
         # 获取的是总的数据条目
-        records = ClientConsumeModelProxy.get_data_list(startTime=startTime, endTime=endTime,
-                                                        **filters)  # type: CustomQuerySet
+        records = ConsumeRecord.objects.filter(
+            dateTimeAdded__gte=to_datetime(startTime, "%Y-%m-%d"),
+            dateTimeAdded__lt=to_datetime(endTime, "%Y-%m-%d")+datetime.timedelta(days=1),
+            **filters
+        )
 
         total, totalAmount = records.sum_and_count("coin")
         totalAmount = coin_quantity(totalAmount)
 
-        agent = Agent.objects.get(id=current_dealer.agentId)  # type: Agent
         return JsonResponse(
             {
                 'result': 1,
@@ -2211,7 +2219,7 @@ def getConsumptionList(request):
                         'adShow': current_dealer.adShow,
                         'totalAmount': totalAmount,
                         'dataList': [
-                            _record.to_dict(source=source, hides=agent.hide_consume_kinds_dealer) for _record in
+                            _record.to_dealer_list() for _record in
                             records.paginate(pageIndex, pageSize)
                         ],
                     }
@@ -9768,9 +9776,14 @@ def getConsumptionOrderList(request):
         if phoneOwner:
             filters.update({"openId": phoneOwner.openId})
 
-    records = ClientConsumeModelProxy.get_data_list(startTime=startDate,
-                                                    endTime=endDate,
-                                                    **filters)  # type: CustomQuerySet
+    records = ConsumeRecord.objects.filter(
+        dateTimeAdded__gte=startDate,
+        dateTimeAdded__lt=endDate,
+        **filters
+    )
+    # records = ConsumeRecord.get_data_list(startTime=startDate,
+    #                                                 endTime=endDate,
+    #                                                 **filters)  # type: CustomQuerySet
     count = records.count()
 
     for rcd in records.paginate(pageIndex, pageSize):  # type: ConsumeRecord

+ 38 - 3
apps/web/user/models.py

@@ -6680,13 +6680,13 @@ class ConsumeRecord(Searchable):
             "id": str(self.id),
             'orderNo': self.orderNo,
 
-            'createdTime': self.dateTimeAdded,
-            'completionTime': self.finishedTime,
+            'createdTime': self.dateTimeAdded.strftime("%Y-%m-%d %H:%M:%S"),
+            'completionTime': self.finishedTime.strftime("%Y-%m-%d %H:%M:%S") if self.finishedTime else "",
 
             'deviceStatTime': self.device_start_time,
             'deviceFinishedTime': self.device_end_time,
 
-            'amount': self.price,
+            'amount': self.price.amount,
 
             'openId': self.openId,
             'groupId': self.groupId,
@@ -6719,6 +6719,41 @@ class ConsumeRecord(Searchable):
 
         return data
 
+    @cached_property
+    def statusText(self):
+        if self.status == self.Status.CREATED:
+            return u"订单创建"
+        elif self.status == self.Status.WAIT_CONF:
+            return u"等待支付"
+        elif self.status == self.Status.FINISHED:
+            return u"订单结束"
+        elif self.status == self.Status.WAITING:
+            return u"等待执行"
+        elif self.status == self.Status.RUNNING:
+            return u"运行中"
+        elif self.status == self.Status.END:
+            return u"运行结束"
+        elif self.status == self.Status.TIMEOUT:
+            return u"订单超时"
+        elif self.status == self.Status.TIMEOUT:
+            return u"订单失败"
+        elif self.status == self.Status.UNKNOWN:
+            return u"状态未知"
+        elif self.status == self.Status.WAIT_PAY:
+            return u"支付中"
+
+    def to_dealer_list(self):
+        data = {
+            "id": str(self.id),
+            "title": "{}-{}".format(self.logicalCode, self.port),
+            "nickname": self.nickname,
+            "ownerId": self.ownerId,
+            "amount": str(self.price),
+            "createdTime": self.dateTimeAdded.strftime("%Y-%m-%d %H:%M:%S"),
+            "orderStatus": self.statusText
+        }
+        return data
+
 
 class BalanceLog(Searchable):
     meta = {