123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #!/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
- from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
- from Service.CommonService import CommonService
- # 优惠券
- 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","valid_time")
- for couponList in couponObj:
- couponList['valid_time'] = CommonService.timestamp_to_str(couponList['valid_time'])
- result = {
- 'count':couponObj.count(),
- 'couponList':list(couponObj),
- }
- return response.json(0, result)
|