Browse Source

优惠券使用接口

keiSenFront 1 year ago
parent
commit
f50be022b0
1 changed files with 76 additions and 0 deletions
  1. 76 0
      AdminController/ServeManagementController.py

+ 76 - 0
AdminController/ServeManagementController.py

@@ -110,6 +110,14 @@ class serveManagement(View):
             elif operation == 'deleteCouponLang':    # 删除优惠券语言
                 return self.deleteCouponLang(request_dict, response)
 
+            # 优惠券使用
+            elif operation == 'getCouponUsingList':  # 查询优惠券使用
+                return self.getCouponUsingList(request_dict, response)
+            elif operation == 'editCouponUsing':    # 编辑优惠券使用
+                return self.editCouponUsing(request_dict, response)
+            elif operation == 'deleteCouponUsing':    # 删除优惠券使用
+                return self.deleteCouponUsing(request_dict, response)
+
             elif operation == 'getDeviceOrderList':
                 return self.getDeviceOrderList(request_dict, response)
             elif operation == 'deleteDeviceOrder':
@@ -915,6 +923,74 @@ class serveManagement(View):
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
+    @staticmethod
+    def getCouponUsingList(request_dict, response):
+        user_id = request_dict.get('userID', None)
+        use_status = request_dict.get('useStatus', None)
+        page_no = request_dict.get('pageNo', None)
+        page_size = request_dict.get('pageSize', None)
+
+        if not all([page_no, page_size]):
+            return response.json(444)
+
+        page = int(page_no)
+        line = int(page_size)
+
+        try:
+            coupon_qs = CouponModel.objects.all()
+            if user_id:
+                coupon_qs = coupon_qs.filter(userID=user_id)
+            if use_status:
+                coupon_qs = coupon_qs.filter(use_status=use_status)
+            if not coupon_qs.exists():
+                return response.json(0, [])
+            coupon_qs = coupon_qs.values(
+                'id', 'use_status', 'distribute_time', 'valid_time', 'userID', 'update_time', 'create_time')
+            count = coupon_qs.count()
+            coupons = coupon_qs[(page - 1) * line:page * line]
+            coupon_list = []
+            for coupon in coupons:
+                coupon_list.append({
+                    'id': coupon['id'],
+                    'useStatus': coupon['use_status'],
+                    'distributeTime': coupon['distribute_time'],
+                    'validTime': coupon['valid_time'],
+                    'userID': coupon['userID'],
+                    'updateTime': coupon['update_time'],
+                    'createTime': coupon['create_time'],
+                })
+            return response.json(0, {'list': coupon_list, 'total': count})
+        except Exception as e:
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
+    @staticmethod
+    def editCouponUsing(request_dict, response):
+        id = request_dict.get('id', None)
+        use_status = request_dict.get('useStatus', 0)
+        valid_time = request_dict.get('validTime', None)
+
+        if not all([id, use_status, valid_time]):
+            return response.json(444)
+
+        try:
+            now_time = int(time.time())
+            CouponModel.objects.filter(id=id).update(use_status=use_status, valid_time=valid_time, update_time=now_time)
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
+    @staticmethod
+    def deleteCouponUsing(request_dict, response):
+        id = request_dict.get('id', None)
+        if not id:
+            return response.json(444)
+
+        try:
+            CouponModel.objects.filter(id=id).delete()
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
     def getDeviceOrderList(self, request_dict, response):
         print('request_dict: ', request_dict)
         pageNo = request_dict.get('pageNo', None)