Browse Source

套餐设备时间戳,使用utc

chenjunkai 6 years ago
parent
commit
7e687dd480

+ 0 - 21
Ansjer/test/util/mongodb.py

@@ -1,21 +0,0 @@
-# from celery import Celery
-# from django.core.mail import send_mail
-# from django.conf import settings
-#
-# # 创建celery应用对象
-# app = Celery('celery_tasks.tasks', broker='redis://192.168.243.191:6379/4')
-#
-#
-# @app.task
-# def send_active_email(to_email, user_name, token):
-#     """发送激活邮件"""
-#
-#     subject = "天天生鲜用户激活"  # 标题
-#     body = ""  # 文本邮件体
-#     sender = settings.EMAIL_FROM  # 发件人
-#     receiver = [to_email]  # 接收人
-#     html_body = '<h1>尊敬的用户 %s, 感谢您注册天天生鲜!</h1>' \
-#                 '<br/><p>请点击此链接激活您的帐号<a href="http://127.0.0.1:8000/users/active/%s">' \
-#                 'http://127.0.0.1:8000/users/active/%s</a></p>' % (user_name, token, token)
-#     send_mail(subject, body, sender, receiver, html_message=html_body)
-#

+ 9 - 10
Ansjer/test/util/testss.py

@@ -1,18 +1,17 @@
-
 import time
 
 tmstm = '2018121810'
-timeArray = time.strptime(tmstm,"%Y%m%d%H")
-print(timeArray)
+timeArray = time.strptime(tmstm, "%Y%m%d%H")
+# print(timeArray)
 print(int(time.mktime(timeArray)))
 
-
-import datetime
-
+import datetime,time
+nowutcdatetime = datetime.datetime.utcnow()
+un_time = time.mktime(nowutcdatetime.timetuple())
+print(un_time)
 # utc时间
-nowutc = (datetime.datetime.utcnow())
-print(nowutc)
+# print(datetime.datetime.fromtimestamp(1545868858))
 # dtimeArray = time.strftime(nowutc)
 # utc转换时间
-timenow = (datetime.datetime.utcnow() + datetime.timedelta(hours=8))
-print(timenow)
+# timenow = (datetime.datetime.utcnow() + datetime.timedelta(hours=8))
+# print(timenow)

+ 6 - 185
Controller/CloudVod.py

@@ -119,7 +119,6 @@ class CloudVodView(View):
                 <!DOCTYPE html>
         <html lang="en">
         <head>
-            <meta charset="UTF-8">
             <meta charset="UTF-8">
             <meta name="viewport"
                   content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
@@ -141,106 +140,12 @@ class CloudVodView(View):
                 '''
         return response
 
-
-    def d2o_pay_error(self):
-        response = HttpResponse()
-        response.status_code = 200
-        # response.content = '''
-        #                        <!DOCTYPE html>
-        #                <html lang="en">
-        #                <head>
-        #                    <meta charset="UTF-8">
-        #                    <title>Title</title>
-        #                </head>
-        #                <body>
-        #                <div class="content"
-        #                     style="text-align:center;overflow: hidden;padding:20% 10% 10% 10%;margin:0 10%;background-color: #fff;box-shadow:0 4px 20px rgba(0,0,0,0.1);word-break: break-all;min-height: 300px">
-        #                    <span style="padding: 10px 20px; font-size: 48px;background-color: #EB6F5A;border-radius:4px;color:#fff;">付款失败</span>
-        #                </div>
-        #                </body>
-        #                </html>
-        #                        '''
-        response.content = '''
-        <!DOCTYPE html>
-<html>
-<head>
-    <title>拦截跳转实现通信</title>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-          content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
-    <script type="text/javascript" src="https://cdn.staticfile.org/jquery/1.12.4/jquery.js"></script>
-
-    <style type="text/css">
-        .btn {
-            background-color: #aaa;
-            height: 40px;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            color: #444444;
-            text-decoration: none;
-            margin-top: 10px;
-        }
-
-        #response {
-            background: #eeeeee;
-            word-wrap: break-word;
-            display: block;
-            outline: 1px solid #ccc;
-            padding: 5px;
-            margin: 5px;
-        }
-    </style>
-</head>
-<body>
-<p style="color: red">嵌入页区域</p>
-<p>以拦截跳转链接的方式实现</p>
-<input type="text" id="loginInputID">
-<button class="btn" id="login">发起APP登录</button>
-<input type="text" id="shareInputID">
-<button class="btn" id="share">发起社交化分享</button>
-
-<pre id="response"></pre>
-<script>
-
-    /**
-     * 显示响应信息
-     * @param response 响应信心
-     */
-    function showResponse(response) {
-        $('#response').text(response);
-        return response;
-    }
-
-    $(function () {
-        $('#login').click(function () {
-            let loginInputVal = $('#loginInputID').val()
-            alert(loginInputVal)
-            window.location = loginInputVal;
-            //window.location = 'app://login?account=13011112222&password=123456';
-        });
-
-        $('#share').click(function () {
-            let shareInputVal = $('#shareInputID').val()
-            alert(shareInputVal)
-            window.location = shareInputVal
-            //window.location = 'app://share?title=分享的标题&desc=分享的描述'
-        });
-    });
-</script>
-</body>
-</html>
-
-        '''
-        return response
-
     def do_pay_ok(self):
         response = HttpResponse()
         response.content = '''
         <!DOCTYPE html>
 <html lang="en">
 <head>
-    <meta charset="UTF-8">
     <meta charset="UTF-8">
     <meta name="viewport"
           content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
@@ -262,90 +167,6 @@ class CloudVodView(View):
         '''
         return response
 
-    def d2o_pay_ok(self):
-        response = HttpResponse()
-        # response.status_code = 200
-        # response.content = '''
-        #                 <!DOCTYPE html>
-        #         <html lang="en">
-        #         <head>
-        #             <meta charset="UTF-8">
-        #             <title>Title</title>
-        #         </head>
-        #         <body>
-        #         <div class="content"
-        #              style="text-align:center;overflow: hidden;padding:20% 10% 10% 10%;margin:0 10%;background-color: #fff;box-shadow:0 4px 20px rgba(0,0,0,0.1);word-break: break-all;min-height: 300px">
-        #             <span style="padding: 10px 20px; font-size: 48px;background-color: #EB6F5A;border-radius:4px;color:#fff;">付款成功</span>
-        #         </div>
-        #         </body>
-        #         </html>
-        #                 '''
-        response.content = '''
-                <!DOCTYPE html>
-        <html>
-        <head>
-            <title>拦截跳转实现通信</title>
-            <meta charset="UTF-8">
-            <meta name="viewport"
-                  content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
-            <script type="text/javascript" src="https://cdn.staticfile.org/jquery/1.12.4/jquery.js"></script>
-
-            <style type="text/css">
-                .btn {
-                    background-color: #aaa;
-                    height: 40px;
-                    display: flex;
-                    justify-content: center;
-                    align-items: center;
-                    color: #444444;
-                    text-decoration: none;
-                    margin-top: 10px;
-                }
-
-                #response {
-                    background: #eeeeee;
-                    word-wrap: break-word;
-                    display: block;
-                    outline: 1px solid #ccc;
-                    padding: 5px;
-                    margin: 5px;
-                }
-            </style>
-        </head>
-        <body>
-        <p style="color: red">嵌入页区域</p>
-        <p>以拦截跳转链接的方式实现</p>
-        <button class="btn" id="login">发起APP登录</button>
-        <button class="btn" id="share">发起社交化分享</button>
-
-        <pre id="response"></pre>
-        <script>
-
-            /**
-             * 显示响应信息
-             * @param response 响应信心
-             */
-            function showResponse(response) {
-                $('#response').text(response);
-                return response;
-            }
-
-            $(function () {
-                $('#login').click(function () {
-                    window.location = 'app://login?account=13011112222&password=123456';
-                });
-
-                $('#share').click(function () {
-                    window.location = 'app://share?title=分享的标题&desc=分享的描述'
-                });
-            });
-        </script>
-        </body>
-        </html>
-
-                '''
-        return response
-
     # next
     def do_create_order(self, request_dict, userID, response):
         did = request_dict.get('did', None)
@@ -398,7 +219,7 @@ class CloudVodView(View):
             print(payment.error)
             return response.json(10, payment.error)
         print(payment)
-        nowTime = int(time.time())
+        nowTime = CommonService.get_utc()
         for link in payment.links:
             if link.rel == "approval_url":
                 approval_url = str(link.href)
@@ -431,11 +252,11 @@ class CloudVodView(View):
             res = {'code': 403}
             return JsonResponse(status=200, data=res)
             # return response.json(10, '设备未购买')
-        now_time = int(time.time())
+        now_time = CommonService.get_utc()
         if now_time > ubqs[0]['endTime']:
             res = {'code': 403}
             return JsonResponse(status=200, data=res)
-        now_time_stamp = int(time.time())
+        now_time_stamp = CommonService.get_utc()
         oc_qs = OssCrdModel.objects.filter(uid=UID, channel=channel).values("addTime", "data")
         if oc_qs.exists():
             endTime = int(oc_qs[0]["addTime"]) + 3500
@@ -575,7 +396,7 @@ class CloudVodView(View):
             return response.json(10, payment.error)
         print("Payment execute successfully")
         order_qs = Order_Model.objects.filter(orderID=orderID)
-        order_qs.update(status=1, updTime=int(time.time()))
+        order_qs.update(status=1, updTime=CommonService.get_utc())
         order_list = order_qs.values("UID", "rank_id", "channel")
         rank_id = order_list[0]['rank_id']
         UID = order_list[0]['UID']
@@ -586,7 +407,7 @@ class CloudVodView(View):
             return response.json(0, '套餐已删除')
         addTime = int(smqs[0]["day"]) * 24 * 3600
         ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel).values("bucket_id", "endTime", "bucket__storeDay")
-        nowTime = int(time.time())
+        nowTime = CommonService.get_utc()
         if ubqs.exists():
             # 判断是否过期了
             if nowTime > ubqs[0]['endTime']:
@@ -631,7 +452,7 @@ class CloudVodView(View):
         ubqs = UID_Bucket.objects.filter(channel=channel, uid=UID)
         if not ubqs.exists():
             return response.json(10, '未购买')
-        now_time = int(time.time())
+        now_time = CommonService.get_utc()
         if now_time > ubqs[0].endTime:
             return response.json(10, '已过期')
         ubqs.update(status=status)

+ 3 - 6
Controller/Test.py

@@ -53,12 +53,9 @@ class Test(View):
 
     @ratelimit(key='ip', rate='1/m')
     def get(self, request, *args, **kwargs):
-        from django.utils import timezone
-        import time
-        nowTime = timezone.localtime(timezone.now())
-        ans_time = time.mktime(nowTime.timetuple())
-        print(ans_time)
-        return JsonResponse({'time':ans_time})
+        import datetime
+        print(datetime.datetime.now())
+        return JsonResponse(data={})
         # 阿里云oss测试
         return self.ossCrd()
         # 七牛测试

+ 6 - 6
Controller/VodBucket.py

@@ -12,16 +12,16 @@
 @Contact: chanjunkai@163.com
 """
 import json
-import time
 import math
 
 from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic.base import View
 
-from Model.models import VodBucketModel, UID_Bucket, Store_Meal,Device_Info
+from Model.models import VodBucketModel, UID_Bucket, Store_Meal, Device_Info
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
+from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 
 
@@ -69,7 +69,7 @@ class VodBucketView(View):
 
     def do_add(self, request_dict, response):
         request_dict.pop('token')
-        nowTime = int(time.time())
+        nowTime = CommonService.get_utc()
         try:
             VodBucketModel.objects.create(addTime=nowTime, updTime=nowTime, **request_dict)
         except Exception as e:
@@ -84,7 +84,7 @@ class VodBucketView(View):
     def do_update(self, request_dict, response):
         request_dict.pop('token')
 
-        nowTime = int(time.time())
+        nowTime = CommonService.get_utc()
         id = request_dict.get('id', None)
         try:
             VodBucketModel.objects.filter(id=id).update(updTime=nowTime, **request_dict)
@@ -161,7 +161,7 @@ class UidBucketView(View):
             bucketId = smqs[0]['bucket_id']
             addDay = smqs[0]['day']
             addTime = addDay * 3600 * 24
-            nowTime = int(time.time())
+            nowTime = CommonService.get_utc()
             ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel).values("bucket_id", "endTime",
                                                                               "bucket__storeDay")
             if ubqs.exists():
@@ -206,7 +206,7 @@ class UidBucketView(View):
         status = request_dict.get('status', None)
         id = request_dict.get('id', None)
         ubqs = UID_Bucket.objects.filter(id=id).values('endTime')
-        nowTime = int(time.time())
+        nowTime = CommonService.get_utc()
         endTime = ubqs[0]['endTime']
         if not ubqs.exists():
             return response.json(10, '未购买')

+ 9 - 1
Service/CommonService.py

@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
-import time,datetime
+import datetime
+import time
 from pathlib import Path
 from random import Random
 
@@ -181,3 +182,10 @@ class CommonService:
                 ps['end_time'] = ps['end_time'].strftime("%Y-%m-%d %H:%M:%S")
             res.append(ps)
         return res
+
+    # 获取utc时间戳
+    @staticmethod
+    def get_utc():
+        nowutcdatetime = datetime.datetime.utcnow()
+        un_time = time.mktime(nowutcdatetime.timetuple())
+        return int(un_time)