Ver código fonte

add pre targets

chenhaiyang 4 anos atrás
pai
commit
7d7ee02731
1 arquivos alterados com 21 adições e 3 exclusões
  1. 21 3
      app/services/transfer.py

+ 21 - 3
app/services/transfer.py

@@ -7,6 +7,7 @@ import arrow
 import numpy as np
 import pandas as pd
 from httpx import AsyncClient, URL
+from loguru import logger
 
 from app.core.config import settings
 from app.services.service import Service
@@ -91,8 +92,8 @@ class SpaceInfoService(Service):
 
         return feedback_dic
 
-    async def get_custom_target(self) -> pd.DataFrame:
-        url = self._base_url.join('duoduo-service/transfer/environment/target')
+    async def query_targets(self, url: str) -> pd.DataFrame:
+        url = self._base_url.join(url)
         params = self._common_parameters()
         params.update({'date': arrow.get(self._now_time, TIME_FMT).date().strftime('%Y%m%d')})
         raw_info = await self._get(url, params)
@@ -105,8 +106,25 @@ class SpaceInfoService(Service):
 
         return custom_target_df
 
+    async def get_custom_target(self) -> pd.DataFrame:
+        url = 'duoduo-service/transfer/environment/target'
+        targets = await self.query_targets(url)
+
+        return targets
+
+    async def query_pre_target(self) -> pd.DataFrame:
+        url = 'duoduo-service/setup-service/run/getBeforehand'
+        targets = await self.query_targets(url)
+
+        return targets
+
     async def get_current_temperature_target(self) -> float:
-        current_targets = await self.get_custom_target()
+        custom_targets = await self.get_custom_target()
+        pre_targets = await self.query_pre_target()
+        if len(pre_targets) > 0:
+            current_targets = pre_targets.append(custom_targets)
+        else:
+            current_targets = custom_targets
         temp = arrow.get(self._now_time, TIME_FMT).shift(minutes=15).timestamp // (15 * 60) * (15 * 60)
         next_quarter_minutes = arrow.get(temp).time().strftime('%H%M%S')
         try: