|
@@ -364,7 +364,7 @@ class SmartSocketView(View):
|
|
if socket_s_qs.exists():
|
|
if socket_s_qs.exists():
|
|
return response.json(174)
|
|
return response.json(174)
|
|
schedule_count = SocketSchedule.objects.filter(device_id=device_id).count()
|
|
schedule_count = SocketSchedule.objects.filter(device_id=device_id).count()
|
|
- if schedule_count >= 30:
|
|
|
|
|
|
+ if schedule_count >= 20:
|
|
return response.json(10061)
|
|
return response.json(10061)
|
|
# 添加排程
|
|
# 添加排程
|
|
data['device_id'] = device_id
|
|
data['device_id'] = device_id
|
|
@@ -409,7 +409,7 @@ class SmartSocketView(View):
|
|
# 主题名称
|
|
# 主题名称
|
|
topic_name = SOCKET_TOPIC_NAME.format(serial_number)
|
|
topic_name = SOCKET_TOPIC_NAME.format(serial_number)
|
|
result = CommonService.req_publish_mqtt_msg(serial_number, topic_name, msg)
|
|
result = CommonService.req_publish_mqtt_msg(serial_number, topic_name, msg)
|
|
- LOGGER.info('智能插座排程任务发布MQTT消息结果{}'.format(result))
|
|
|
|
|
|
+ LOGGER.info('智能插座{}排程任务发布MQTT消息结果{}'.format(serial_number, result))
|
|
return result
|
|
return result
|
|
|
|
|
|
# 以下是查询智能插座接口
|
|
# 以下是查询智能插座接口
|
|
@@ -438,7 +438,7 @@ class SmartSocketView(View):
|
|
data = {}
|
|
data = {}
|
|
# 设备累计电量
|
|
# 设备累计电量
|
|
all_electricity = all_socket_power_qs.aggregate(total=Sum('electricity'))
|
|
all_electricity = all_socket_power_qs.aggregate(total=Sum('electricity'))
|
|
- data['electricityAll'] = all_electricity['total'].quantize(Decimal("0.00"))
|
|
|
|
|
|
+ data['electricityAll'] = round(all_electricity['total'], 1)
|
|
|
|
|
|
# 本月电费
|
|
# 本月电费
|
|
nowTime = int(time.time())
|
|
nowTime = int(time.time())
|
|
@@ -453,7 +453,7 @@ class SmartSocketView(View):
|
|
created_time__lt=endTime_now).aggregate(
|
|
created_time__lt=endTime_now).aggregate(
|
|
total=Sum('electricity'))
|
|
total=Sum('electricity'))
|
|
if electricity['total'] != None:
|
|
if electricity['total'] != None:
|
|
- data['electricityMonth'] = electricity['total'].quantize(Decimal("0.00"))
|
|
|
|
|
|
+ data['electricityMonth'] = round(electricity['total'], 1)
|
|
else:
|
|
else:
|
|
data['electricityMonth'] = 0
|
|
data['electricityMonth'] = 0
|
|
|
|
|
|
@@ -468,13 +468,12 @@ class SmartSocketView(View):
|
|
'power',
|
|
'power',
|
|
'created_time')
|
|
'created_time')
|
|
# 当天使用电量
|
|
# 当天使用电量
|
|
- data['electricityToday'] = today_socket_power_qs[0]['electricity'].quantize(
|
|
|
|
- Decimal("0.00")) if today_socket_power_qs.exists() else 0
|
|
|
|
|
|
+ data['electricityToday'] = round(today_socket_power_qs[0]['electricity'], 1) if today_socket_power_qs.exists() else 0
|
|
# 当天累计时长
|
|
# 当天累计时长
|
|
data['accumulated_time'] = today_socket_power_qs[0][
|
|
data['accumulated_time'] = today_socket_power_qs[0][
|
|
'accumulated_time'] if today_socket_power_qs.exists() else 0
|
|
'accumulated_time'] if today_socket_power_qs.exists() else 0
|
|
# 当前功率
|
|
# 当前功率
|
|
- data['power'] = today_socket_power_qs[0]['power'] if today_socket_power_qs.exists() else 0
|
|
|
|
|
|
+ data['power'] = round(today_socket_power_qs[0]['power'], 1) if today_socket_power_qs.exists() else 0
|
|
|
|
|
|
# 昨天使用电量
|
|
# 昨天使用电量
|
|
yesterday = today - datetime.timedelta(days=1)
|
|
yesterday = today - datetime.timedelta(days=1)
|
|
@@ -485,7 +484,7 @@ class SmartSocketView(View):
|
|
socket_qs = all_socket_power_qs.filter(created_time__gte=yesterday_start_time,
|
|
socket_qs = all_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')
|
|
if socket_qs.exists():
|
|
if socket_qs.exists():
|
|
- data['electricityYesterday'] = socket_qs[0]['electricity'].quantize(Decimal("0.00"))
|
|
|
|
|
|
+ data['electricityYesterday'] = round(socket_qs[0]['electricity'], 1)
|
|
else:
|
|
else:
|
|
data['electricityYesterday'] = 0
|
|
data['electricityYesterday'] = 0
|
|
return response.json(0, data)
|
|
return response.json(0, data)
|
|
@@ -704,7 +703,7 @@ class SmartSocketView(View):
|
|
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'] = Decimal(socket_qs['electricity']).quantize(Decimal("0.00")) if socket_qs[
|
|
|
|
|
|
+ data['electricityTimeAll'] = round(socket_qs['electricity'], 2) if socket_qs[
|
|
'electricity'] else 0
|
|
'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
|
|
|
|
|
|
@@ -715,28 +714,28 @@ class SmartSocketView(View):
|
|
socket_qs = socket_power_qs.filter(created_time__gte=startTime,
|
|
socket_qs = socket_power_qs.filter(created_time__gte=startTime,
|
|
created_time__lt=diction['startMonth_time']).aggregate(
|
|
created_time__lt=diction['startMonth_time']).aggregate(
|
|
electricity=Sum('electricity'), accumulatedTime=Sum('accumulated_time'))
|
|
electricity=Sum('electricity'), accumulatedTime=Sum('accumulated_time'))
|
|
- electricity = Decimal(socket_qs['electricity']).quantize(Decimal("0.00")) if socket_qs[
|
|
|
|
|
|
+ electricity = socket_qs['electricity'] if socket_qs[
|
|
'electricity'] else 0
|
|
'electricity'] else 0
|
|
# 標記月日
|
|
# 標記月日
|
|
subscript = cls.get_subscript(unit, startTime)
|
|
subscript = cls.get_subscript(unit, startTime)
|
|
new_list.append({
|
|
new_list.append({
|
|
'subscript': subscript,
|
|
'subscript': subscript,
|
|
'time': int(startTime),
|
|
'time': int(startTime),
|
|
- 'electricity': round(electricity, 1)
|
|
|
|
|
|
+ 'electricity': round(electricity, 2)
|
|
})
|
|
})
|
|
# 查询天月
|
|
# 查询天月
|
|
for item in diction['time_list']:
|
|
for item in diction['time_list']:
|
|
socket_qs = socket_power_qs.filter(created_time__gte=item[0],
|
|
socket_qs = socket_power_qs.filter(created_time__gte=item[0],
|
|
created_time__lt=item[1]).aggregate(
|
|
created_time__lt=item[1]).aggregate(
|
|
electricity=Sum('electricity'))
|
|
electricity=Sum('electricity'))
|
|
- electricity = Decimal(socket_qs['electricity']).quantize(Decimal("0.00")) if socket_qs[
|
|
|
|
|
|
+ electricity = socket_qs['electricity'] if socket_qs[
|
|
'electricity'] else 0
|
|
'electricity'] else 0
|
|
# 標記月日
|
|
# 標記月日
|
|
subscript = cls.get_subscript(unit, item[0])
|
|
subscript = cls.get_subscript(unit, item[0])
|
|
new_list.append({
|
|
new_list.append({
|
|
'subscript': subscript,
|
|
'subscript': subscript,
|
|
'time': item[0],
|
|
'time': item[0],
|
|
- 'electricity': round(electricity, 1)
|
|
|
|
|
|
+ 'electricity': round(electricity, 2)
|
|
})
|
|
})
|
|
|
|
|
|
if unit == 'year':
|
|
if unit == 'year':
|
|
@@ -744,14 +743,14 @@ class SmartSocketView(View):
|
|
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(
|
|
created_time__lt=endTime).aggregate(
|
|
electricity=Sum('electricity'))
|
|
electricity=Sum('electricity'))
|
|
- electricity = Decimal(socket_qs['electricity']).quantize(Decimal("0.00")) if socket_qs[
|
|
|
|
|
|
+ electricity = socket_qs['electricity'] if socket_qs[
|
|
'electricity'] else 0
|
|
'electricity'] else 0
|
|
# 標記月日
|
|
# 標記月日
|
|
subscript = cls.get_subscript(unit, endTime)
|
|
subscript = cls.get_subscript(unit, endTime)
|
|
new_list.append({
|
|
new_list.append({
|
|
'subscript': subscript,
|
|
'subscript': subscript,
|
|
'time': int(endTime),
|
|
'time': int(endTime),
|
|
- 'electricity': round(electricity, 1)
|
|
|
|
|
|
+ 'electricity': round(electricity, 2)
|
|
})
|
|
})
|
|
# 降序排序
|
|
# 降序排序
|
|
# new_list.sort(key=lambda k: k["time"], reverse=True)
|
|
# new_list.sort(key=lambda k: k["time"], reverse=True)
|
|
@@ -813,4 +812,4 @@ class SmartSocketView(View):
|
|
})
|
|
})
|
|
return response.json(0, schedule_date_list)
|
|
return response.json(0, schedule_date_list)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
- return response.json(500, repr(e))
|
|
|
|
|
|
+ return response.json(500, repr(e))
|