yf_yzl 2 years ago
parent
commit
3297204f2d
1 changed files with 29 additions and 17 deletions
  1. 29 17
      apps/apply_weather.py

+ 29 - 17
apps/apply_weather.py

@@ -51,6 +51,7 @@ class GetWeather(APIView):
         try:        
             db = "/data/weather/weather.db"
             data = request.data
+            cityid = data.get("cityid", "")
             province = data.get("province")
             city = data.get("city")
             district = data.get("district")
@@ -68,29 +69,40 @@ class GetWeather(APIView):
                 return Response({"msg":"认证失败", "code": 400})
             table = "day_data" if day_type == "1" else "serven_day_data"
             table = "day_data" if day_type == "1" else "server_day_data"
-            sql = f"select content from {table} where province = '{province}' and city ='{city}' and district ='{district}'"
-            cursor.execute(sql)
-            result = cursor.fetchone()
-            if not result:
-                # 省市正确
-                sql = f"select content from {table} where province= '{province}' and city = '{city}'"
+            if cityid:
+                sql = f"select content from {table} where cityid = '{cityid}'"
                 cursor.execute(sql)
                 result = cursor.fetchone()
-                if not result:
-                    # 省正确
-                    sql = f"select content from {table} where province = '{province}'"
-                    cursor.execute(sql)
-                    result = cursor.fetchone()
-            if result:
-                try:
+                if result:
                     temp = result[0].replace("'", '"')
                     result = json.loads(temp)
                     return Response({"content": result, "msg": "success", "code": 200})
-                except Exception as e:
-                    logging.info(e)
-                    return Response({"msg": "请联系管理员", "code": "50001"})
+                else:
+                    return Response({"msg": "请联系管理员排查", "code": 500})
             else:
-                return Response({"content": "", "msg": "success", "code": 500})
+                sql = f"select content from {table} where province = '{province}' and city ='{city}' and district ='{district}'"
+                cursor.execute(sql)
+                result = cursor.fetchone()
+                if not result:
+                    # 省市正确
+                    sql = f"select content from {table} where province= '{province}' and city = '{city}'"
+                    cursor.execute(sql)
+                    result = cursor.fetchone()
+                    if not result:
+                        # 省正确
+                        sql = f"select content from {table} where province = '{province}'"
+                        cursor.execute(sql)
+                        result = cursor.fetchone()
+                if result:
+                    try:
+                        temp = result[0].replace("'", '"')
+                        result = json.loads(temp)
+                        return Response({"content": result, "msg": "success", "code": 200})
+                    except Exception as e:
+                        logging.info(e)
+                        return Response({"msg": "请联系管理员", "code": "50001"})
+                else:
+                    return Response({"content": "", "msg": "success", "code": 500})
         except Exception as e:
             logging.info(e)
             return Response({"msg": "请联系管理员", "code": "50001"})