|
@@ -380,7 +380,6 @@ class SmartSocketView(View):
|
|
return result
|
|
return result
|
|
|
|
|
|
# 以下是查询智能插座接口
|
|
# 以下是查询智能插座接口
|
|
-
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
def get_all_scene(request_dict, response):
|
|
def get_all_scene(request_dict, response):
|
|
"""
|
|
"""
|
|
@@ -439,7 +438,6 @@ class SmartSocketView(View):
|
|
socket_qs = socket_power_qs.filter(created_time__gte=yesterday_start_time,
|
|
socket_qs = socket_power_qs.filter(created_time__gte=yesterday_start_time,
|
|
created_time__lt=yesterday_end_time).values('electricity')
|
|
created_time__lt=yesterday_end_time).values('electricity')
|
|
data['electricityYesterday'] = socket_qs[0]['electricity'] if socket_qs.exists() else 0
|
|
data['electricityYesterday'] = socket_qs[0]['electricity'] if socket_qs.exists() else 0
|
|
-
|
|
|
|
return response.json(0, data)
|
|
return response.json(0, data)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
@@ -485,7 +483,7 @@ class SmartSocketView(View):
|
|
'endTime': socket_schedule['end_time'],
|
|
'endTime': socket_schedule['end_time'],
|
|
'switchStatus': socket_schedule['switch_status'] if socket_schedule['switch_status'] else False,
|
|
'switchStatus': socket_schedule['switch_status'] if socket_schedule['switch_status'] else False,
|
|
'taskStatus': socket_schedule['task_status'] if socket_schedule['task_status'] else False,
|
|
'taskStatus': socket_schedule['task_status'] if socket_schedule['task_status'] else False,
|
|
- # 需转换进制
|
|
|
|
|
|
+ # 进制
|
|
'repeat': socket_schedule['repeat'],
|
|
'repeat': socket_schedule['repeat'],
|
|
})
|
|
})
|
|
return response.json(0, schedule_list)
|
|
return response.json(0, schedule_list)
|
|
@@ -569,9 +567,7 @@ class SmartSocketView(View):
|
|
else:
|
|
else:
|
|
endMonth -= 1
|
|
endMonth -= 1
|
|
endDay = calendar.monthrange(endYear, endMonth)[1]
|
|
endDay = calendar.monthrange(endYear, endMonth)[1]
|
|
- endYear = str(endYear)
|
|
|
|
- endMonth = str(endMonth)
|
|
|
|
- endTime = parse('%s-%s-%s 23:59:59' % (endYear, endMonth, endDay))
|
|
|
|
|
|
+ endTime = parse('%s-%s-%s 23:59:59' % (str(endYear), str(endMonth), endDay))
|
|
time_list = CommonService.cutting_time(startTime, endTime, time_unit='month')
|
|
time_list = CommonService.cutting_time(startTime, endTime, time_unit='month')
|
|
startMonth_time = CommonService.str_to_timestamp(str(startTime))
|
|
startMonth_time = CommonService.str_to_timestamp(str(startTime))
|
|
endMonth_time = CommonService.str_to_timestamp(str(endTime))
|
|
endMonth_time = CommonService.str_to_timestamp(str(endTime))
|
|
@@ -627,21 +623,20 @@ class SmartSocketView(View):
|
|
"""
|
|
"""
|
|
serial_number = request_dict.get('serialNumber', None)
|
|
serial_number = request_dict.get('serialNumber', None)
|
|
unit = request_dict.get('unit', None)
|
|
unit = request_dict.get('unit', None)
|
|
- # 确定是否会传值
|
|
|
|
startTime = request_dict.get('startTime', None)
|
|
startTime = request_dict.get('startTime', None)
|
|
endTime = request_dict.get('endTime', None)
|
|
endTime = request_dict.get('endTime', None)
|
|
- if not all([unit, startTime, endTime]):
|
|
|
|
|
|
+ if not all([unit, startTime, endTime, serial_number]):
|
|
return response.json(500, {'errno': 'unit or startTime or endTime or serialNumber'})
|
|
return response.json(500, {'errno': 'unit or startTime or endTime or serialNumber'})
|
|
-
|
|
|
|
try:
|
|
try:
|
|
- socket_power_qs = SocketPowerStatistics.objects.filter(serial_number=serial_number).\
|
|
|
|
|
|
+ socket_power_qs = SocketPowerStatistics.objects.filter(serial_number=serial_number). \
|
|
values('electricity', 'accumulated_time', 'power', 'created_time')
|
|
values('electricity', 'accumulated_time', 'power', 'created_time')
|
|
|
|
+ if not socket_power_qs.exists():
|
|
|
|
+ return response.json(173)
|
|
# 时间和功耗
|
|
# 时间和功耗
|
|
data = {}
|
|
data = {}
|
|
new_list = []
|
|
new_list = []
|
|
socket_qs = socket_power_qs.filter(created_time__gte=startTime, created_time__lt=endTime).aggregate(
|
|
socket_qs = socket_power_qs.filter(created_time__gte=startTime, created_time__lt=endTime).aggregate(
|
|
electricity=Sum('electricity'), accumulatedTime=Sum('accumulated_time'))
|
|
electricity=Sum('electricity'), accumulatedTime=Sum('accumulated_time'))
|
|
-
|
|
|
|
data['electricityTimeAll'] = socket_qs['electricity'] if socket_qs['electricity'] else 0
|
|
data['electricityTimeAll'] = socket_qs['electricity'] if socket_qs['electricity'] else 0
|
|
data['accumulatedTimeAll'] = socket_qs['accumulatedTime'] if socket_qs['accumulatedTime'] else 0
|
|
data['accumulatedTimeAll'] = socket_qs['accumulatedTime'] if socket_qs['accumulatedTime'] else 0
|
|
|
|
|
|
@@ -657,7 +652,7 @@ class SmartSocketView(View):
|
|
subscript = cls.get_subscript(unit, startTime)
|
|
subscript = cls.get_subscript(unit, startTime)
|
|
new_list.append({
|
|
new_list.append({
|
|
'subscript': subscript,
|
|
'subscript': subscript,
|
|
- 'startTime': int(startTime),
|
|
|
|
|
|
+ 'time': int(startTime),
|
|
'electricity': round(electricity, 1)
|
|
'electricity': round(electricity, 1)
|
|
})
|
|
})
|
|
# 查询天月
|
|
# 查询天月
|
|
@@ -669,49 +664,47 @@ class SmartSocketView(View):
|
|
subscript = cls.get_subscript(unit, item[0])
|
|
subscript = cls.get_subscript(unit, item[0])
|
|
new_list.append({
|
|
new_list.append({
|
|
'subscript': subscript,
|
|
'subscript': subscript,
|
|
- 'startTime': item[0],
|
|
|
|
|
|
+ 'time': item[0],
|
|
'electricity': round(electricity, 1)
|
|
'electricity': round(electricity, 1)
|
|
})
|
|
})
|
|
|
|
|
|
if unit == 'year':
|
|
if unit == 'year':
|
|
# 结束月
|
|
# 结束月
|
|
socket_qs = socket_power_qs.filter(created_time__gte=diction['endMonth_time'],
|
|
socket_qs = socket_power_qs.filter(created_time__gte=diction['endMonth_time'],
|
|
- created_time__lt=endTime).aggregate(
|
|
|
|
- electricity=Sum('electricity'))
|
|
|
|
|
|
+ created_time__lt=endTime).aggregate(electricity=Sum('electricity'))
|
|
electricity = socket_qs['electricity'] if socket_qs['electricity'] else 0
|
|
electricity = socket_qs['electricity'] if socket_qs['electricity'] else 0
|
|
# 標記月日
|
|
# 標記月日
|
|
- subscript = cls.get_subscript(unit, startTime)
|
|
|
|
|
|
+ subscript = cls.get_subscript(unit, endTime)
|
|
new_list.append({
|
|
new_list.append({
|
|
'subscript': subscript,
|
|
'subscript': subscript,
|
|
- 'startTime': int(endTime),
|
|
|
|
|
|
+ 'time': int(endTime),
|
|
'electricity': round(electricity, 1)
|
|
'electricity': round(electricity, 1)
|
|
})
|
|
})
|
|
- new_list.sort(key=lambda k: k["startTime"], reverse=True)
|
|
|
|
|
|
+ # 降序排序
|
|
|
|
+ # new_list.sort(key=lambda k: k["time"], reverse=True)
|
|
data['week_or_month_or_year'] = new_list
|
|
data['week_or_month_or_year'] = new_list
|
|
return response.json(0, data)
|
|
return response.json(0, data)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
- def get_subscript(cls, unit, startTime):
|
|
|
|
|
|
+ def get_subscript(cls, unit, time_stamp):
|
|
"""標記月日"""
|
|
"""標記月日"""
|
|
- startTime = int(startTime)
|
|
|
|
- # endTime = int(endTime)
|
|
|
|
- time_tuple = time.localtime(startTime) # 把时间戳转换成时间元祖
|
|
|
|
- startTime = time.strftime('%Y-%m-%d-%w', time_tuple) # 把时间元祖转换成格式化好的时间
|
|
|
|
|
|
+ time_tuple = time.localtime(int(time_stamp)) # 把时间戳转换成时间元祖
|
|
|
|
+ time_tuple = time.strftime('%Y-%m-%d-%w', time_tuple) # 把时间元祖转换成格式化好的时间
|
|
if unit == 'week' or unit == 'year':
|
|
if unit == 'week' or unit == 'year':
|
|
if unit == 'week':
|
|
if unit == 'week':
|
|
- subscript = int(str(startTime).split('-')[3])
|
|
|
|
|
|
+ subscript = int(str(time_tuple).split('-')[3])
|
|
return subscript
|
|
return subscript
|
|
else:
|
|
else:
|
|
- startYear, startMonth, startDay = int(startTime.split('-')[0]), int(startTime.split('-')[1]), int(
|
|
|
|
- startTime.split('-')[2])
|
|
|
|
- subscript = datetime.date(startYear, startMonth, startDay).month
|
|
|
|
|
|
+ Year, Month, Day = int(time_tuple.split('-')[0]), int(time_tuple.split('-')[1]), int(
|
|
|
|
+ time_tuple.split('-')[2])
|
|
|
|
+ subscript = datetime.date(Year, Month, Day).month
|
|
subscript -= 1
|
|
subscript -= 1
|
|
return subscript
|
|
return subscript
|
|
else:
|
|
else:
|
|
- startYear, startMonth, startDay = int(startTime.split('-')[0]), int(startTime.split('-')[1]), int(
|
|
|
|
- startTime.split('-')[2])
|
|
|
|
- subscript = datetime.date(startYear, startMonth, startDay).day
|
|
|
|
|
|
+ Year, Month, Day = int(time_tuple.split('-')[0]), int(time_tuple.split('-')[1]), int(
|
|
|
|
+ time_tuple.split('-')[2])
|
|
|
|
+ subscript = datetime.date(Year, Month, Day).day
|
|
subscript -= 1
|
|
subscript -= 1
|
|
return subscript
|
|
return subscript
|