Explorar o código

新增联通叠加包购买成功短信通知、修改网关设备密码加密

zhangdongming %!s(int64=2) %!d(string=hai) anos
pai
achega
a5e5c3c6f2

+ 5 - 3
Controller/SensorGateway/EquipmentFamilyController.py

@@ -997,9 +997,9 @@ class EquipmentFamilyView(View):
         permission = cls.get_member_permission_details(user_id, int(family_id))
         permission = cls.get_member_permission_details(user_id, int(family_id))
         if not permission or permission == '003':
         if not permission or permission == '003':
             return response.json(404)
             return response.json(404)
-        family_room_device_qs = FamilyRoomDevice.objects.filter(Q(family_id=family_id), ~Q(device_id__isExist=2),
-                                                                Q(device__userID=user_id)).values().order_by('sort',
-                                                                                                             '-device__data_joined')
+        family_room_device_qs = FamilyRoomDevice.objects \
+            .filter(Q(family_id=family_id), ~Q(device_id__isExist=2), Q(device__userID=user_id)) \
+            .values().order_by('sort', '-device__data_joined')
         if not family_room_device_qs.exists():
         if not family_room_device_qs.exists():
             return response.json(0, device_dict)
             return response.json(0, device_dict)
         gateways = []
         gateways = []
@@ -1035,6 +1035,8 @@ class EquipmentFamilyView(View):
                     'isCameraOpenCloud', 'serial_number'
                     'isCameraOpenCloud', 'serial_number'
                 ).first()
                 ).first()
                 if device_qs:
                 if device_qs:
+                    if device_qs['View_Password']:
+                        device_qs['View_Password'] = CommonService.encode_data(item['View_Password'], 1, 4)
                     device_qs['sensorStatus'] = 0
                     device_qs['sensorStatus'] = 0
                     device_qs['roomName'] = room_name
                     device_qs['roomName'] = room_name
                     if device_qs['primaryUserID'] and device_qs['id'] == device_qs['primaryUserID']:
                     if device_qs['primaryUserID'] and device_qs['id'] == device_qs['primaryUserID']:

+ 29 - 1
Controller/UnicomCombo/UnicomComboPayNotifyController.py

@@ -8,6 +8,7 @@
 """
 """
 import logging
 import logging
 import time
 import time
+import traceback
 from urllib.parse import parse_qs, unquote
 from urllib.parse import parse_qs, unquote
 
 
 from django.db import transaction
 from django.db import transaction
@@ -15,8 +16,9 @@ from django.http import HttpResponse
 from django.views import View
 from django.views import View
 
 
 from Controller.UnicomCombo.UnicomComboController import UnicomComboView
 from Controller.UnicomCombo.UnicomComboController import UnicomComboView
-from Model.models import Order_Model, UnicomDeviceInfo
+from Model.models import Order_Model, UnicomDeviceInfo, UnicomCombo, Device_User
 from Object.AliPayObject import AliPayObject
 from Object.AliPayObject import AliPayObject
+from Object.AliSmsObject import AliSmsObject
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.WechatPayObject import WechatPayObject
 from Object.WechatPayObject import WechatPayObject
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
@@ -170,6 +172,7 @@ class UnicomComboPayNotifyView(View):
             # 支付宝交易凭证号。
             # 支付宝交易凭证号。
             order_qs = order_qs.values('UID', 'unify_combo_id', 'userID_id', 'order_type')
             order_qs = order_qs.values('UID', 'unify_combo_id', 'userID_id', 'order_type')
             device_uid = order_qs[0]['UID']
             device_uid = order_qs[0]['UID']
+            user_id = order_qs[0]['userID_id']
             combo_id = order_qs[0]['unify_combo_id']
             combo_id = order_qs[0]['unify_combo_id']
             serial_no = CommonService.query_serial_with_uid(device_uid)
             serial_no = CommonService.query_serial_with_uid(device_uid)
             unicom_device_info_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no).values('iccid')
             unicom_device_info_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no).values('iccid')
@@ -179,6 +182,7 @@ class UnicomComboPayNotifyView(View):
                                                         iccid, combo_id)
                                                         iccid, combo_id)
             order_qs.update(trade_no=trade_no, status=1, payTime=now_time, updTime=now_time)
             order_qs.update(trade_no=trade_no, status=1, payTime=now_time, updTime=now_time)
             logger.info('购买联通套餐成功,序列号为:{}'.format(serial_no))
             logger.info('购买联通套餐成功,序列号为:{}'.format(serial_no))
+            cls.buy_async_sms_sen(user_id, serial_no, combo_id)
         redisObj.del_data(key=request_key)
         redisObj.del_data(key=request_key)
         if is_wechat_pay:
         if is_wechat_pay:
             return HttpResponse("<xml>\
             return HttpResponse("<xml>\
@@ -187,3 +191,27 @@ class UnicomComboPayNotifyView(View):
                         </xml>")
                         </xml>")
         else:
         else:
             return HttpResponse('success')
             return HttpResponse('success')
+
+    @staticmethod
+    def buy_async_sms_sen(user_id, serial_no, combo_id):
+        try:
+            if not all([user_id, serial_no, combo_id]):
+                return True
+            user_qs = Device_User.objects.filter(userID=user_id).values('phone')
+            if user_qs.exists():
+                phone = user_qs.first()['phone']
+
+                combo_qs = UnicomCombo.objects.filter(id=combo_id).values('combo_name')
+                if combo_qs.exists():
+                    params = u'{"devname":"' + serial_no + '","submittime":"' + \
+                             time.strftime("%Y-%m-%d", time.localtime()) + '","name":"' + \
+                             combo_qs.first()['combo_name'] + '"}'
+                    sign = '周视'
+                    ali_sms = AliSmsObject()
+                    ali_sms.send_code_sms_cloud(phone, params, sign, 'SMS_251031744')
+            return True
+        except Exception as e:
+            print(e.args)
+            ex = traceback.format_exc()
+            print(ex)
+            return True