fixed
This commit is contained in:
parent
fe17ba9cc5
commit
1b26df75e2
22
sql/sql.py
22
sql/sql.py
|
@ -172,7 +172,16 @@ def get_has_clientId_sql(clientid):
|
||||||
"sql": f"select timestamp from root.farm.clientId where clientId='{clientid}'"
|
"sql": f"select timestamp from root.farm.clientId where clientId='{clientid}'"
|
||||||
}
|
}
|
||||||
return send_json
|
return send_json
|
||||||
|
# 获取空气设备正常7天的报警数据sql
|
||||||
|
def air_device_normal_past_seven_days_sql(deviceId):
|
||||||
|
current_date = datetime.now().date()
|
||||||
|
tomorrow = current_date + timedelta(days=1)
|
||||||
|
past_6_days_date = current_date - timedelta(days=6)
|
||||||
|
sql = f"select MAX_VALUE(air_temperature),MAX_VALUE(air_humidity) from root.farm.{deviceId} group by ([{past_6_days_date}, {tomorrow}), 1d)"
|
||||||
|
send_json = {
|
||||||
|
"sql": sql
|
||||||
|
}
|
||||||
|
return send_json
|
||||||
|
|
||||||
# 获取空气设备历史7天的报警数据sql
|
# 获取空气设备历史7天的报警数据sql
|
||||||
def air_device_past_seven_days_sql(deviceId):
|
def air_device_past_seven_days_sql(deviceId):
|
||||||
|
@ -184,7 +193,16 @@ def air_device_past_seven_days_sql(deviceId):
|
||||||
"sql": sql
|
"sql": sql
|
||||||
}
|
}
|
||||||
return send_json
|
return send_json
|
||||||
|
# 获取普通设备正常7天的报警数据sql
|
||||||
|
def common_device_normal_past_seven_days_sql(deviceId):
|
||||||
|
current_date = datetime.now().date()
|
||||||
|
tomorrow = current_date + timedelta(days=1)
|
||||||
|
past_6_days_date = current_date - timedelta(days=6)
|
||||||
|
sql = f"select MAX_VALUE(value) from root.farm.{deviceId} group by ([{past_6_days_date}, {tomorrow}), 1d)"
|
||||||
|
send_json = {
|
||||||
|
"sql": sql
|
||||||
|
}
|
||||||
|
return send_json
|
||||||
|
|
||||||
# 获取普通设备历史7天的报警数据sql
|
# 获取普通设备历史7天的报警数据sql
|
||||||
def common_device_past_seven_days_sql(deviceId):
|
def common_device_past_seven_days_sql(deviceId):
|
||||||
|
|
33
xumu.py
33
xumu.py
|
@ -194,7 +194,6 @@ async def register(request: Request):
|
||||||
return BaseResponse(code=500, msg=str(e))
|
return BaseResponse(code=500, msg=str(e))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 数据发布接口
|
# 数据发布接口
|
||||||
async def message_publish(data):
|
async def message_publish(data):
|
||||||
try:
|
try:
|
||||||
|
@ -288,7 +287,37 @@ async def process_data(request: Request):
|
||||||
return BaseResponse(code=500, msg=str(e))
|
return BaseResponse(code=500, msg=str(e))
|
||||||
|
|
||||||
|
|
||||||
# 报警数据最近7天的数据
|
@app.get("/api/xumu/normal/past_seven_days")
|
||||||
|
async def past_seven_days(deviceId):
|
||||||
|
try:
|
||||||
|
the_decvice = await get_device(None, deviceId)
|
||||||
|
device_type = None
|
||||||
|
if the_decvice.code == 200:
|
||||||
|
device_values = the_decvice.data["values"]
|
||||||
|
if len(device_values) != 0:
|
||||||
|
device_type = device_values[1][0]
|
||||||
|
# 如果是空气设备,则有两个值
|
||||||
|
if device_type == 1:
|
||||||
|
send_json = air_device_normal_past_seven_days_sql(deviceId)
|
||||||
|
# 如果是其他设备,则有一个值,RFID不算
|
||||||
|
else:
|
||||||
|
send_json = common_device_normal_past_seven_days_sql(deviceId)
|
||||||
|
r = requests.post(baseHost + queryUri, headers=headers, json=send_json)
|
||||||
|
data = r.json()
|
||||||
|
timestamps = data["timestamps"]
|
||||||
|
times = []
|
||||||
|
for timestamp in timestamps:
|
||||||
|
dt = datetime.fromtimestamp(timestamp / 1000) # 因为时间戳是以毫秒为单位的,所以需要除以1000
|
||||||
|
# 将datetime对象格式化为只包含年月日的字符串
|
||||||
|
year_month_day_str = dt.strftime('%Y-%m-%d')
|
||||||
|
times.append(year_month_day_str)
|
||||||
|
data["timestamps"] = times
|
||||||
|
return BaseResponse(data=data)
|
||||||
|
except Exception as e:
|
||||||
|
return BaseResponse(code=500, msg=str(e))
|
||||||
|
|
||||||
|
|
||||||
|
# 正常数据最近7天的数据
|
||||||
@app.get("/api/xumu/warning/past_seven_days")
|
@app.get("/api/xumu/warning/past_seven_days")
|
||||||
async def past_seven_days(deviceId):
|
async def past_seven_days(deviceId):
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue