Jelajahi Sumber

完善添加/编辑优惠券接口

locky 1 tahun lalu
induk
melakukan
6d91f023f3
1 mengubah file dengan 59 tambahan dan 6 penghapusan
  1. 59 6
      AdminController/ServeManagementController.py

+ 59 - 6
AdminController/ServeManagementController.py

@@ -95,12 +95,14 @@ class serveManagement(View):
             # 优惠券
             elif operation == 'getCouponList':  # 查询优惠券
                 return self.getCouponList(request_dict, response)
-            elif operation == 'addOrEditCoupon':
+            elif operation == 'addOrEditCoupon':    # 添加/编辑优惠券
                 return self.addOrEditCoupon(request_dict, response)
 
             # 优惠券语言
             elif operation == 'getCouponLangList':  # 查询优惠券语言
                 return self.getCouponLangList(request_dict, response)
+            elif operation == 'addOrEditCouponLang':    # 添加/编辑优惠券语言
+                return self.addOrEditCouponLang(request_dict, response)
 
             elif operation == 'getDeviceOrderList':
                 return self.getDeviceOrderList(request_dict, response)
@@ -706,6 +708,39 @@ class serveManagement(View):
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
+    @staticmethod
+    def addOrEditCoupon(request_dict, response):
+        coupon_id = request_dict.get('couponID', None)
+        combo_id = request_dict.get('comboID', None)
+        coupon_type = int(request_dict.get('type', 0))
+        use_range = request_dict.get('useRange', '')
+        coupon_discount = request_dict.get('couponDiscount', '')
+        is_edit = request_dict.get('isEdit', None)
+
+        if not all([coupon_type, use_range, coupon_discount]):
+            return response.json(444)
+
+        try:
+            now_time = int(time.time())
+            coupon_data = {
+                'type': coupon_type,
+                'use_range': use_range,
+                'coupon_discount': coupon_discount
+            }
+            if is_edit:
+                if not coupon_id:
+                    return response.json(444)
+                CouponConfigModel.objects.filter(id=coupon_id).update(**coupon_data)
+                CouponCombo.objects.filter(coupon_id=coupon_id).update(combo_id=combo_id, update_time=now_time)
+            else:
+                CouponConfigModel.objects.create(**coupon_data)
+                # 关联套餐
+                CouponCombo.objects.create(coupon_id=coupon_id, combo_id=combo_id,
+                                           create_time=now_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 getCouponLangList(request_dict, response):
         coupon_id = request_dict.get('couponID', None)
@@ -750,13 +785,31 @@ class serveManagement(View):
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
     @staticmethod
-    def addOrEditCoupon(request_dict, response):
-        coupon_type = request_dict.get('type', None)
-        use_range = request_dict.get('use_range', None)
+    def addOrEditCouponLang(request_dict, response):
+        coupon_id = request_dict.get('couponID', None)
+        coupon_type = int(request_dict.get('type', 0))
+        use_range = request_dict.get('use_range', '')
         coupon_discount = request_dict.get('coupon_discount', '')
-        isEdit = request_dict.get('isEdit', None)
+        is_edit = request_dict.get('isEdit', None)
 
-        pass
+        if not all([coupon_type, use_range, coupon_discount]):
+            return response.json(444)
+
+        try:
+            coupon_data = {
+                'type': coupon_type,
+                'use_range': use_range,
+                'coupon_discount': coupon_discount
+            }
+            if is_edit:
+                if not coupon_id:
+                    return response.json(444)
+                CouponConfigModel.objects.filter(id=coupon_id).update(**coupon_data)
+            else:
+                CouponConfigModel.objects.create(**coupon_data)
+            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)