|
@@ -38,10 +38,13 @@ from pyfcm import FCMNotification
|
|
|
from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
|
|
|
SERVER_DOMAIN_SSL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ARN, APNS_MODE, APNS_CONFIG, BASE_DIR, \
|
|
|
JPUSH_CONFIG, FCM_CONFIG, OAUTH_ACCESS_TOKEN_SECRET
|
|
|
+from Controller.CheckUserData import DataValid
|
|
|
from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
|
|
|
ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel, \
|
|
|
- Unused_Uid_Meal, UIDMainUser
|
|
|
+ Unused_Uid_Meal, UIDMainUser, UserModel
|
|
|
+from Object.AWS.S3Email import S3Email
|
|
|
from Object.AliPayObject import AliPayObject
|
|
|
+from Object.AliSmsObject import AliSmsObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Object.UidTokenObject import UidTokenObject
|
|
@@ -302,7 +305,7 @@ class CloudStorageView(View):
|
|
|
print(channel)
|
|
|
print(uid)
|
|
|
now_time = int(time.time())
|
|
|
- ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
|
|
|
+ ubqs = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time, channel=channel). \
|
|
|
values("bucket__mold", "bucket__bucket", "bucket__endpoint",
|
|
|
"bucket__region", "endTime").order_by('addTime')[:1]
|
|
|
if ubqs.exists():
|
|
@@ -395,7 +398,7 @@ class CloudStorageView(View):
|
|
|
if dv_qs[0]['vodPrimaryUserID'] != userID:
|
|
|
return response.json(10034)
|
|
|
now_time = int(time.time())
|
|
|
- bv_qs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time).values('bucket_id').order_by('addTime')
|
|
|
+ bv_qs = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time ,channel=channel).values('bucket_id').order_by('addTime')
|
|
|
if not bv_qs.exists():
|
|
|
return response.json(10030)
|
|
|
vh_qs = VodHlsModel.objects.filter \
|
|
@@ -460,7 +463,7 @@ class CloudStorageView(View):
|
|
|
print('channel:')
|
|
|
print(channel)
|
|
|
now_time = int(time.time())
|
|
|
- ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel, endTime__gte=now_time). \
|
|
|
+ ubqs = UID_Bucket.objects.filter(uid=UID, endTime__gte=now_time, channel=channel). \
|
|
|
values("bucket__mold", "bucket__bucket", "bucket__endpoint",
|
|
|
"bucket__region", "status", "bucket__storeDay", "bucket__id").order_by('addTime')[:1]
|
|
|
if ubqs.exists():
|
|
@@ -786,7 +789,8 @@ class CloudStorageView(View):
|
|
|
# UIDMainUser.objects.create(**uid_main_dict)
|
|
|
|
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
- sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
|
+ datetime = time.strftime("%Y-%m-%d", time.localtime())
|
|
|
+ sys_msg_text_list = ['尊重的客户,您的'+UID+'设备在'+datetime+'已成功购买云存套餐,特此通知。', 'Dear customer, your '+UID+' device has successfully purchased the cloud storage package at '+datetime+', hereby notified.']
|
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
|
red_url = "{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
|
if lang != 'cn':
|
|
@@ -806,7 +810,6 @@ class CloudStorageView(View):
|
|
|
PayerID = request_dict.get('PayerID', None)
|
|
|
orderID = request_dict.get('orderID', None)
|
|
|
lang = request_dict.get('lang', 'en')
|
|
|
- file_handle=open('/web/www/AnsjerFormal/static/log/info.log',mode='w')
|
|
|
try:
|
|
|
order_qs = Order_Model.objects.filter(orderID=orderID, status=0)
|
|
|
|
|
@@ -823,8 +826,6 @@ class CloudStorageView(View):
|
|
|
payres = payment.execute({"payer_id": PayerID})
|
|
|
print(payres)
|
|
|
if not payres:
|
|
|
- file_handle.write('----pal----payres')
|
|
|
- file_handle.write(payres)
|
|
|
red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
|
if lang != 'cn':
|
|
|
red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
@@ -894,7 +895,10 @@ class CloudStorageView(View):
|
|
|
# UIDMainUser.objects.create(**uid_main_dict)
|
|
|
|
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
- sys_msg_text_list = ['成功购买云存','Successful purchase of cloud storage']
|
|
|
+ datetime = time.strftime("%Y-%m-%d", time.localtime())
|
|
|
+ sys_msg_text_list = ['尊重的客户,您的' + UID + '设备在' + datetime + '已成功购买云存套餐,特此通知。',
|
|
|
+ 'Dear customer, your ' + UID + ' device has successfully purchased the cloud storage package at ' + datetime + ', hereby notified.']
|
|
|
+
|
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
|
|
|
|
# return response.json(0)
|
|
@@ -905,8 +909,6 @@ class CloudStorageView(View):
|
|
|
return HttpResponseRedirect(red_url)
|
|
|
except Exception as e:
|
|
|
print(repr(e))
|
|
|
- file_handle.write('----pal----repr')
|
|
|
- file_handle.write(repr(e))
|
|
|
if order_qs:
|
|
|
order_qs.update(status=10)
|
|
|
red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
|
|
@@ -996,7 +998,9 @@ class CloudStorageView(View):
|
|
|
# UIDMainUser.objects.create(**uid_main_dict)
|
|
|
|
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
- sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
|
+ datetime = time.strftime("%Y-%m-%d", time.localtime())
|
|
|
+ sys_msg_text_list = ['尊重的客户,您的' + UID + '设备在' + datetime + '已成功购买云存套餐,特此通知。',
|
|
|
+ 'Dear customer, your ' + UID + ' device has successfully purchased the cloud storage package at ' + datetime + ', hereby notified.']
|
|
|
self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
|
|
|
return HttpResponse(pay.xml_to_dict({'return_code': 'SUCCESS', 'return_msg': 'OK'}))
|
|
|
else:
|
|
@@ -1275,7 +1279,9 @@ class CloudStorageView(View):
|
|
|
# }
|
|
|
# UIDMainUser.objects.create(**uid_main_dict)
|
|
|
|
|
|
- sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
|
|
|
+ datetime = time.strftime("%Y-%m-%d", time.localtime())
|
|
|
+ sys_msg_text_list = ['尊重的客户,您的' + uid + '设备在' + datetime + '已成功购买云存套餐,特此通知。',
|
|
|
+ 'Dear customer, your ' + uid + ' device has successfully purchased the cloud storage package at ' + datetime + ', hereby notified.']
|
|
|
# return response.json(0)
|
|
|
returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
|
|
|
if pay_type == 10:
|
|
@@ -1285,7 +1291,9 @@ class CloudStorageView(View):
|
|
|
do_time=nowTime
|
|
|
)
|
|
|
returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?paytype=10&lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
|
|
|
- sys_msg_text_list = ['成功体验云存', 'Successful experience of cloud storage']
|
|
|
+ datetime = time.strftime("%Y-%m-%d", time.localtime())
|
|
|
+ sys_msg_text_list = ['尊重的客户,您的' + uid + '设备在' + datetime + '已成功体验云存,特此通知。',
|
|
|
+ 'Dear customers, your '+uid+' device has successfully experienced cloud storage at '+datetime+', hereby notified.']
|
|
|
|
|
|
if pay_type == 11:
|
|
|
update_dict = {}
|
|
@@ -1293,7 +1301,10 @@ class CloudStorageView(View):
|
|
|
update_dict['order'] = orderID
|
|
|
CDKcontextModel.objects.filter(cdk=cdk).update(**update_dict)
|
|
|
returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?paytype=11&lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
|
|
|
- sys_msg_text_list = ['成功兑换云存', 'Successful exchange of cloud storage']
|
|
|
+
|
|
|
+ datetime = time.strftime("%Y-%m-%d", time.localtime())
|
|
|
+ sys_msg_text_list = ['尊重的客户,您的' + uid + '设备在' + datetime + '已成功兑换云存,特此通知。',
|
|
|
+ 'Dear customer, your '+uid+' device has been redeemed for cloud deposit at '+datetime+', hereby notified.']
|
|
|
|
|
|
|
|
|
self.do_vod_msg_Notice(uid, channel, userID, lang, sys_msg_text_list)
|
|
@@ -1437,20 +1448,38 @@ class CloudStorageView(View):
|
|
|
create_data = {'userID_id': userID, 'msg': sys_msg_text, 'addTime': nowTime,
|
|
|
'updTime': nowTime, 'uid': uid, 'eventType': 0}
|
|
|
SysMsgModel.objects.create(**create_data)
|
|
|
- self.pushApp(nowTime, uid, channel, sys_msg_text)
|
|
|
+
|
|
|
+ user_qs = Device_User.objects.filter(userID=userID)
|
|
|
+ if user_qs.exists():
|
|
|
+ user = user_qs[0]
|
|
|
+ username = user.username
|
|
|
+ data_valid = DataValid()
|
|
|
+ if data_valid.email_validate(username):
|
|
|
+ S3Email.faEmail(sys_msg_text,username)
|
|
|
+ elif data_valid.mobile_validate(username):
|
|
|
+ params = u'{"devname":"' + uid + '","submittime":"' + time.strftime("%Y-%m-%d",time.localtime()) + '"}'
|
|
|
+ self.sendMessage(username, params, 'SMS_217405528')
|
|
|
+
|
|
|
+ self.pushApp(nowTime, uid, channel, sys_msg_text)
|
|
|
+
|
|
|
|
|
|
logger.info('出去了')
|
|
|
except Exception as e:
|
|
|
return repr(e)
|
|
|
- # 云存到期续费提醒 提前1天
|
|
|
+ # 云存到期续费提醒 提前3天
|
|
|
def do_vod_msg_end(self, request_dict):
|
|
|
response = ResponseObject()
|
|
|
now_time = int(time.time())
|
|
|
+ # 前7天提示一次
|
|
|
+ list = UID_Bucket.objects.filter(Q(endTime__lte=(now_time - 3600 * 168)) & Q(endTime__gt=now_time - 3600 * 72)).values('id','uid','bucket__area','channel','endTime')
|
|
|
+ self.do_vod_msg(now_time,list)
|
|
|
|
|
|
- list = UID_Bucket.objects.filter(Q(endTime__lte=(now_time - 3600 * 24)) & Q(endTime__gt=now_time)).values('id',
|
|
|
- 'uid',
|
|
|
- 'bucket__area','channel')
|
|
|
+ # 前3天提示一次
|
|
|
+ list = UID_Bucket.objects.filter(Q(endTime__lte=(now_time - 3600 * 72)) & Q(endTime__gt=now_time)).values('id','uid','bucket__area','channel','endTime')
|
|
|
+ self.do_vod_msg(now_time,list)
|
|
|
+ return response.json(0)
|
|
|
|
|
|
+ def do_vod_msg(self, now_time, list):
|
|
|
uq_list = []
|
|
|
ids = []
|
|
|
for ub in list:
|
|
@@ -1462,9 +1491,12 @@ class CloudStorageView(View):
|
|
|
for oo in oqlist:
|
|
|
if ub['id'] == oo['uid_bucket_id']:
|
|
|
if ub['bucket__area'] == 'cn':
|
|
|
- sys_msg_text = "云存即将过期,请您注意!"
|
|
|
+ sys_msg_text = "尊重的客户,您" + ub['uid'] + "设备的云存套餐将在" + time.strftime("%Y-%m-%d",
|
|
|
+ ub['endTime']) + "到期,特此通知。"
|
|
|
else:
|
|
|
- sys_msg_text = "Cloud storage is about to expire, please pay attention!"
|
|
|
+ sys_msg_text = "Dear customer, the cloud storage package of your " + ub[
|
|
|
+ 'uid'] + " device will expire in " + time.strftime("%Y-%m-%d",
|
|
|
+ ub['endTime']) + ", hereby notified."
|
|
|
uq_list.append(SysMsgModel(
|
|
|
userID_id=oo['userID_id'],
|
|
|
addTime=now_time,
|
|
@@ -1474,13 +1506,25 @@ class CloudStorageView(View):
|
|
|
msg=sys_msg_text,
|
|
|
status=0
|
|
|
))
|
|
|
- self.pushApp(now_time, ub['uid'], ub['channel'], sys_msg_text)
|
|
|
+ user_qs = Device_User.objects.filter(userID=oo['userID_id'])
|
|
|
+ if user_qs.exists():
|
|
|
+ user = user_qs[0]
|
|
|
+ username = user.username
|
|
|
+ data_valid = DataValid()
|
|
|
+
|
|
|
+ if data_valid.email_validate(username):
|
|
|
+ S3Email.faEmail(sys_msg_text, username)
|
|
|
+ elif data_valid.mobile_validate(username):
|
|
|
+ params = u'{"devname":"' + ub['uid'] + '","submittime":"' + time.strftime("%Y-%m-%d",
|
|
|
+ ub[
|
|
|
+ 'endTime']) + '"}'
|
|
|
+ self.sendMessage(username, params, 'SMS_217425550')
|
|
|
+
|
|
|
+ self.pushApp(now_time, ub['uid'], ub['channel'], sys_msg_text)
|
|
|
|
|
|
SysMsgModel.objects.bulk_create(uq_list)
|
|
|
|
|
|
|
|
|
- return response.json(0)
|
|
|
-
|
|
|
def pushApp(self, nowTime, uid, channel, sys_msg_text):
|
|
|
n_time = nowTime
|
|
|
|
|
@@ -1598,6 +1642,14 @@ class CloudStorageView(View):
|
|
|
print(res)
|
|
|
return res.status_code
|
|
|
|
|
|
+ def sendMessage(self, phone , params, temp_msg):
|
|
|
+ # 购买成功
|
|
|
+ sign_ms = 'Ansjer'
|
|
|
+ # 发送手机验证码
|
|
|
+ aliSms = AliSmsObject()
|
|
|
+ res = aliSms.send_code_sms_cloud(phone=phone, params = params, sign_name=sign_ms,
|
|
|
+ temp_msg=temp_msg)
|
|
|
+
|
|
|
|
|
|
|
|
|
# 删除过期云存播放列表
|