|
@@ -46,45 +46,35 @@ async def mine(request: Request,body = Depends(remove_xss_json),db: Session = De
|
|
|
try:
|
|
|
body = await request.json()
|
|
|
rn = body.get('rn')
|
|
|
- one_hour = get_rain_township(db,1)
|
|
|
- three_hour = get_rain_township(db,3)
|
|
|
- max_rain = get_max_rain_township(db)
|
|
|
- # print(one_hour)
|
|
|
- # print(three_hour)
|
|
|
- one_hour_rain = 6
|
|
|
- one_hour_more_50 = 0
|
|
|
- three_hour_more_50 = 0
|
|
|
+ if rn is None:
|
|
|
+ rn=1
|
|
|
+ rain_data = get_rain_township(db,rn)
|
|
|
+ raining_township = sum([i['value'] for i in rain_data])
|
|
|
+ rain_dict = {i['name']:i['value'] for i in rain_data}
|
|
|
+ max_rain = get_max_rain_township(db,rn)
|
|
|
max_time = get_rain_max_time(db)
|
|
|
- result = ''
|
|
|
- raining_township = 0
|
|
|
- for i in range(len(one_hour)):
|
|
|
- if one_hour[i]["value"] == 0:
|
|
|
- one_hour_rain-=1
|
|
|
- elif one_hour[i]["value"] != 0:
|
|
|
- raining_township+=1
|
|
|
- elif one_hour[i]['name'] in ['暴雨(50-100)','大暴雨(100-250)','特大暴雨(>250)']:
|
|
|
- one_hour_more_50+=one_hour[i]["value"]
|
|
|
- elif three_hour[i]['name'] in ['大暴雨(100-250)','特大暴雨(>250)']:
|
|
|
- three_hour_more_50+=one_hour[i]["value"]
|
|
|
- print(max_rain[0])
|
|
|
max_rain_township = max_rain[0]["township"]
|
|
|
max_rain_name = max_rain[0]["name"]
|
|
|
max_rain_value = max_rain[0]["rainfall"]
|
|
|
- # print(one_hour_rain)
|
|
|
- # print(one_hour_more_50)
|
|
|
- # print(three_hour_more_50)
|
|
|
- # print(max_rain_township)
|
|
|
- # print(max_rain_value)
|
|
|
- if one_hour_rain==0:
|
|
|
- result = '''{}至当前,当前无地区下雨 。
|
|
|
- '''.format(max_time)
|
|
|
|
|
|
+ if raining_township==0:
|
|
|
+ result = f'''截至{max_time},近{rn}小时内,当前无地区下雨 。'''
|
|
|
else:
|
|
|
- result = '''{}至当前,全市有 {}个站点发生降雨, 最大降雨出现在 {} {} 站点,累计雨量为{}毫米 。
|
|
|
- 当前1小时降雨量大于50毫米的站点 {}个;
|
|
|
- 当前3小时降雨量大于100毫米的站点 {}个;
|
|
|
- '''.format(max_time,one_hour_rain,max_rain_township,max_rain_name,max_rain_value,one_hour_more_50,three_hour_more_50)
|
|
|
-
|
|
|
+ result = f'''截至{max_time},近{rn}小时内,全市有 {raining_township}个站点发生降雨, 最大降雨出现在 {max_rain_township} {max_rain_name} 站点,累计雨量为{max_rain_value}毫米 。\n
|
|
|
+ 其中,'''
|
|
|
+ if rain_dict['小雨(0.1-10)']>0:
|
|
|
+ result+=f"降雨量在0.1-10毫米之间的站点有 {rain_dict['小雨(0.1-10)']} 个;"
|
|
|
+ if rain_dict['中雨(10-25)']>0:
|
|
|
+ result+=f"降雨量在10-25毫米之间的站点有 {rain_dict['中雨(10-25)']} 个;"
|
|
|
+ if rain_dict['大雨(25-50)']>0:
|
|
|
+ result+=f"降雨量在25-50毫米之间的站点有 {rain_dict['大雨(25-50)']} 个;"
|
|
|
+ if rain_dict['暴雨(50-100)']>0:
|
|
|
+ result+=f"降雨量在50-100毫米之间的站点有 {rain_dict['暴雨(50-100)']} 个;"
|
|
|
+ if rain_dict['大暴雨(100-250)']>0:
|
|
|
+ result+=f"降雨量在100-250毫米之间的站点有 {rain_dict['大暴雨(100-250)']} 个;"
|
|
|
+ if rain_dict['特大暴雨(>250)']>0:
|
|
|
+ result+=f"降雨量大于250毫米的站点有 {rain_dict['特大暴雨(>250)']} 个;"
|
|
|
+ result= result[:-1]+"。"
|
|
|
#print(result)
|
|
|
|
|
|
return {
|