فهرست منبع

购买联通套餐成功短信推送

zhangdongming 2 سال پیش
والد
کامیت
0666bc97a1
1فایلهای تغییر یافته به همراه29 افزوده شده و 1 حذف شده
  1. 29 1
      Controller/UnicomCombo/UnicomComboPayNotifyController.py

+ 29 - 1
Controller/UnicomCombo/UnicomComboPayNotifyController.py

@@ -8,6 +8,7 @@
 """
 import logging
 import time
+import traceback
 from urllib.parse import parse_qs, unquote
 
 from django.db import transaction
@@ -15,8 +16,9 @@ from django.http import HttpResponse
 from django.views import View
 
 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.AliSmsObject import AliSmsObject
 from Object.RedisObject import RedisObject
 from Object.WechatPayObject import WechatPayObject
 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')
             device_uid = order_qs[0]['UID']
+            user_id = order_qs[0]['userID_id']
             combo_id = order_qs[0]['unify_combo_id']
             serial_no = CommonService.query_serial_with_uid(device_uid)
             unicom_device_info_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no).values('iccid')
@@ -179,6 +182,7 @@ class UnicomComboPayNotifyView(View):
                                                         iccid, combo_id)
             order_qs.update(trade_no=trade_no, status=1, payTime=now_time, updTime=now_time)
             logger.info('购买联通套餐成功,序列号为:{}'.format(serial_no))
+            cls.buy_async_sms_sen(user_id, serial_no, combo_id)
         redisObj.del_data(key=request_key)
         if is_wechat_pay:
             return HttpResponse("<xml>\
@@ -187,3 +191,27 @@ class UnicomComboPayNotifyView(View):
                         </xml>")
         else:
             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