Browse Source

圣诞节活动指定赠送优惠券

zhangdongming 8 months ago
parent
commit
07c529784a
1 changed files with 43 additions and 0 deletions
  1. 43 0
      Controller/CouponController.py

+ 43 - 0
Controller/CouponController.py

@@ -1,6 +1,8 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 import time
+from datetime import datetime
+
 
 from django.db.models import F
 from django.http import HttpResponse
@@ -11,6 +13,7 @@ from Model.models import CouponModel, Device_User
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
+from Ansjer.config import LOGGER, CONFIG_INFO, CONFIG_TEST
 
 
 # 优惠券
@@ -42,6 +45,9 @@ class CouponView(View):
             userID = tko.userID
             if operation == 'UserCoupon':  # 用户优惠券
                 return self.query_user_coupon(request_dict, userID, response)
+            elif operation == 'createCoupon':
+                self.generate_coupon_by_user(userID)
+                return response.json(0)
             else:
                 return response.json(414)
 
@@ -116,3 +122,40 @@ class CouponView(View):
             'couponList': list(coupon_obj),
         }
         return response.json(0, result)
+
+    @staticmethod
+    def generate_coupon_by_user(user_id):
+        """
+        赠送优惠券圣诞节
+        @param user_id: 用户ID
+        @return: True | False
+        """
+        try:
+            # 创建指定的日期和时间
+            end_dt = datetime(2024, 12, 29, 23, 59, 59)
+            end_timestamp = int(end_dt.timestamp())  # 圣诞节活动时间戳
+
+            now_time = int(time.time())
+            if now_time >= end_timestamp:
+                LOGGER.info('活动已结束,无法赠送优惠券')
+                return False
+
+                # 赠送三个优惠券
+            for i in range(1, 4):  # 赠送三个优惠券
+                coupon_config_id = 21 if i < 3 else 22  # 21 9折 22 8折
+                CouponModel.objects.create(
+                    use_status=0,
+                    distribute_time=now_time,
+                    valid_time=end_timestamp,
+                    userID=user_id,
+                    coupon_config_id=coupon_config_id,
+                    update_time=now_time,
+                    create_time=now_time
+                )
+
+            return True
+        except Exception as e:
+            # 记录异常信息
+            LOGGER.error('赠送优惠券异常 user: {}: errLine: {}, errMsg: {}'.format(
+                user_id, e.__traceback__.tb_lineno, repr(e)))
+            return False