|
@@ -25,7 +25,8 @@ from Ansjer.config import DETECT_PUSH_DOMAIN, DETECT_PUSH_DOMAINS, DETECT_PUSH_D
|
|
|
SERVER_DOMAIN, SERVER_DOMAIN_SSL, \
|
|
|
OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
|
|
|
JPUSH_CONFIG, FCM_CONFIG, APNS_CONFIG, BASE_DIR, APNS_MODE, SERVER_TYPE
|
|
|
-from Model.models import Device_Info, VodHlsModel, Equipment_Info, UidSetModel, UidPushModel, CompanyModel, SysMsgModel
|
|
|
+from Model.models import Device_Info, VodHlsModel, Equipment_Info, UidSetModel, UidPushModel, CompanyModel, SysMsgModel, \
|
|
|
+ AiService
|
|
|
from Object.ETkObject import ETkObject
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
@@ -127,54 +128,54 @@ class DetectControllerViewV2(View):
|
|
|
return response.json(904)
|
|
|
else:
|
|
|
return response.json(173)
|
|
|
- dvqs = Device_Info.objects.filter(userID_id=userID, UID=uid)
|
|
|
- # 获取用户区域
|
|
|
- # ip = self.ip
|
|
|
- # ipInfo = CommonService.getIpIpInfo(ip=ip, lang='EN')
|
|
|
- # area = ipInfo['country_name']
|
|
|
- # if area == 'China':
|
|
|
- # DETECT_PUSH_DOMAIN_V2 = 'cn.push.dvema.com'
|
|
|
- # else:
|
|
|
- # DETECT_PUSH_DOMAIN_V2 = 'en.push.dvema.com'
|
|
|
|
|
|
- nowTime = int(time.time())
|
|
|
- if not dvqs.exists():
|
|
|
+ # 判断用户是否拥有设备
|
|
|
+ device_info_qs = Device_Info.objects.filter(userID_id=userID, UID=uid)
|
|
|
+ if not device_info_qs.exists():
|
|
|
return response.json(14)
|
|
|
- # 修改状态
|
|
|
+
|
|
|
+ # 更新或创建uid_set数据
|
|
|
+ nowTime = int(time.time())
|
|
|
+ uid_set_data = {}
|
|
|
+
|
|
|
+ # 设置开关状态,0:关闭,1:开启
|
|
|
if status:
|
|
|
- dvqs.update(NotificationMode=int(status))
|
|
|
- uid_set_qs = UidSetModel.objects.filter(uid=uid)
|
|
|
- # uid配置信息是否存在
|
|
|
+ status = int(status)
|
|
|
+ uid_set_data['detect_status'] = status
|
|
|
+ device_info_qs.update(NotificationMode=status)
|
|
|
+
|
|
|
+ # 检测类型
|
|
|
+ if detect_group:
|
|
|
+ uid_set_data['detect_group'] = detect_group
|
|
|
+
|
|
|
+ # 设置消息推送间隔
|
|
|
+ if interval:
|
|
|
+ interval = int(interval)
|
|
|
+ uid_set_data['detect_interval'] = interval
|
|
|
+ # 开通了ai服务的设备,通过mqtt通知设备修改消息推送间隔
|
|
|
+ ai_service_qs = AiService.objects.filter(uid=uid, use_status=1, endTime__lte=nowTime)
|
|
|
+ if ai_service_qs.exists():
|
|
|
+ topic_name = 'ansjer/generic/{}'.format(uid)
|
|
|
+ msg = {
|
|
|
+ 'commandType': 'AIState',
|
|
|
+ 'payload': {
|
|
|
+ 'IntervalTime': interval
|
|
|
+ }
|
|
|
+ }
|
|
|
+ req_success = CommonService.req_publish_mqtt_msg(uid, topic_name, msg)
|
|
|
+ if not req_success:
|
|
|
+ return response.json(10044)
|
|
|
|
|
|
+ uid_set_qs = UidSetModel.objects.filter(uid=uid)
|
|
|
if uid_set_qs.exists():
|
|
|
uid_set_id = uid_set_qs[0].id
|
|
|
- qs_data = {
|
|
|
- 'updTime': nowTime,
|
|
|
- }
|
|
|
- if status:
|
|
|
- qs_data['detect_status'] = int(status)
|
|
|
- if interval:
|
|
|
- qs_data['detect_interval'] = int(interval)
|
|
|
- if detect_group:
|
|
|
- qs_data['detect_group'] = detect_group
|
|
|
- print(qs_data)
|
|
|
- uid_set_qs.update(**qs_data)
|
|
|
-
|
|
|
+ uid_set_data['updTime'] = nowTime
|
|
|
+ uid_set_qs.update(**uid_set_data)
|
|
|
else:
|
|
|
- qs_data = {
|
|
|
- 'uid': uid,
|
|
|
- 'addTime': nowTime,
|
|
|
- 'updTime': nowTime,
|
|
|
- }
|
|
|
- if status:
|
|
|
- qs_data['detect_status'] = int(status)
|
|
|
- if interval:
|
|
|
- qs_data['detect_interval'] = int(interval)
|
|
|
- if detect_group:
|
|
|
- qs_data['detect_group'] = detect_group
|
|
|
- # 添加设备配置
|
|
|
- uid_set_qs = UidSetModel.objects.create(**qs_data)
|
|
|
-
|
|
|
+ uid_set_data['uid'] = uid
|
|
|
+ uid_set_data['addTime'] = nowTime
|
|
|
+ uid_set_data['updTime'] = nowTime
|
|
|
+ uid_set_qs = UidSetModel.objects.create(**uid_set_data)
|
|
|
uid_set_id = uid_set_qs.id
|
|
|
|
|
|
# 初始化UidPushModel推送表
|
|
@@ -196,11 +197,11 @@ class DetectControllerViewV2(View):
|
|
|
UidPushModel.objects.create(**uid_push_create_dict)
|
|
|
return response.json(0)
|
|
|
|
|
|
- if status == '0':
|
|
|
+ if status == 0:
|
|
|
# 状态为0的时候删除redis缓存数据
|
|
|
self.do_delete_redis(uid)
|
|
|
return response.json(0)
|
|
|
- elif status == '1':
|
|
|
+ elif status == 1:
|
|
|
uid_push_qs = UidPushModel.objects.filter(userID_id=userID, m_code=m_code, uid_set__uid=uid)
|
|
|
|
|
|
if uid_push_qs.exists():
|
|
@@ -233,7 +234,7 @@ class DetectControllerViewV2(View):
|
|
|
UidPushModel.objects.create(**uid_push_create_dict)
|
|
|
|
|
|
if interval:
|
|
|
- self.do_delete_redis(uid, int(interval))
|
|
|
+ self.do_delete_redis(uid, interval)
|
|
|
else:
|
|
|
self.do_delete_redis(uid)
|
|
|
# utko = UidTokenObject()
|