Kaynağa Gözat

新增优惠券接口

lang 3 yıl önce
ebeveyn
işleme
4abe469976
3 değiştirilmiş dosya ile 57 ekleme ve 7 silme
  1. 4 1
      Ansjer/urls.py
  2. 0 6
      Controller/CloudStorage.py
  3. 53 0
      Controller/CouponController.py

+ 4 - 1
Ansjer/urls.py

@@ -19,7 +19,7 @@ from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppIn
     OrderTaskController, HistoryUIDController, UIDManageUserController, SerialNumberController, CompanyController, \
     RegionController, VPGController, LanguageController, TestController, DeviceConfirmRegion, S3GetStsController, \
     DetectControllerV2, ShadowController, TestDetectController, PcInfo, PctestController, DeviceDebug, PaymentCycle, \
-    DeviceLogController
+    DeviceLogController, CouponController
 from AdminController import UserManageController, RoleController, MenuController, TestServeController, \
     ServeManagementController, LogManagementController, DeviceManagementController, VersionManagementController
 
@@ -289,6 +289,9 @@ urlpatterns = [
     # 云存转移功能
     url(r'^cloudTransfer/(?P<operation>.*)$', CloudTransfer.cloudTestView.as_view()),
 
+    #优惠券
+    url(r'^coupon/(?P<operation>.*)$', CouponController.CouponView.as_view()),
+
     # app 设备消息模板
     # 路由加参数参考
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),

+ 0 - 6
Controller/CloudStorage.py

@@ -255,11 +255,6 @@ class CloudStorageView(View):
                 promotion = {
                     'is_promotion': 0
                 }
-
-            #优惠券
-            couponObj = CouponModel.objects.filter(userID_id=userID,use_status=0,distributeTime__lte=nowTime,
-                                                   valid_time__gt=nowTime).annotate(coupon_id=F('id')).values(
-                                                   "coupon_id","type","coupon_discount")
             result = {
                 'meals': res,
                 'extra':
@@ -268,7 +263,6 @@ class CloudStorageView(View):
                         'cloud_en_baner': SERVER_DOMAIN_SSL+'web/images/cloud_en_banner.png'
                     },
                 'promotion':promotion,
-                'couponList':list(couponObj),
             }
             return response.json(0, result)
         else:

+ 53 - 0
Controller/CouponController.py

@@ -0,0 +1,53 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import base64
+import json
+import os
+import time
+from django.views.generic.base import View
+from Model.models import CouponModel
+from Object.ResponseObject import ResponseObject
+from Object.TokenObject import TokenObject
+from django.db.models import Q, F, Count
+
+
+# 优惠券
+class CouponView(View):
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.GET, request, operation)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.POST, request, operation)
+
+    def validation(self, request_dict, request, operation):
+        response = ResponseObject()
+        if operation is None:
+            return response.json(444, 'error path')
+
+        else:
+            token = request_dict.get('token', None)
+            tko = TokenObject(token)
+            response.lang = tko.lang
+            if tko.code != 0:
+                return response.json(tko.code)
+            userID = tko.userID
+            if operation == 'UserCoupon':  #用户优惠券
+                return self.query_user_coupon(request_dict, userID, response)
+            else:
+                return response.json(414)
+
+    def query_user_coupon(self, request_dict, userID, response):  #用户优惠券列表
+        nowTime = int(time.time())
+        couponObj = CouponModel.objects.filter(userID_id=userID,use_status=0,distributeTime__lte=nowTime,
+                                               valid_time__gt=nowTime).annotate(coupon_id=F('id')).values(
+                                               "coupon_id","type","coupon_discount")
+        result = {
+            'count':couponObj.count(),
+            'couponList':list(couponObj),
+        }
+        return response.json(0, result)