|
@@ -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
|