chenshibin 4 rokov pred
rodič
commit
efe11942cb

+ 47 - 12
Controller/CDKController.py

@@ -104,7 +104,7 @@ class CDKView(View):
             CDKcontextModel.objects.bulk_create(cdk_list)
         except Exception as e:
             print(repr(e))
-            return response.json(500, repr(e))
+            return response.json(404, repr(e))
         else:
             return response.json(0)
 
@@ -128,25 +128,25 @@ class CDKView(View):
             cdk_qs = CDKcontextModel.objects.filter().all()  # values('cdk','create_time','valid_time','is_activate','rank__id','order__id')
             if searchVal:
                 if cdk:
-                    cdk_qs = cdk_qs.filter(cdk=searchVal)
+                    cdk_qs = cdk_qs.filter(cdk__contains=searchVal)
                 elif order:
                     cdk_qs = cdk_qs.filter(order=searchVal)
                 elif is_activate:
                     cdk_qs = cdk_qs.filter(is_activate=searchVal)
-            cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'rank__id', 'order',
+            cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'rank__id', 'rank__title', 'order',
                                    'create_time')
             cdk_qs = cdk_qs.order_by('-create_time')  # 根据CDK创建时间降序排序
             count = cdk_qs.count()
             cdk_qs = cdk_qs[(page - 1) * line:page * line]
 
-            cdk_dict = {}
-            for cdk in cdk_qs:
-                cdk_dict[cdk['id']] = {'id': cdk['id'], 'cdk': cdk['cdk'], 'create_time': cdk['create_time'],
-                                       'valid_time': cdk['valid_time'], 'is_activate': cdk['is_activate'],
-                                       'rank': cdk['rank__id'], 'order': cdk['order']}
+            # cdk_dict = {}
+            # for cdk in cdk_qs:
+            #     cdk_dict[cdk['id']] = {'id': cdk['id'], 'cdk': cdk['cdk'], 'create_time': cdk['create_time'],
+            #                            'valid_time': cdk['valid_time'], 'is_activate': cdk['is_activate'],
+            #                            'rank': cdk['rank__id'], 'order': cdk['order']}
 
             res = {
-                'cdk_list': cdk_dict,
+                'datas': list(cdk_qs),
                 'count': count
             }
             return response.json(0, res)
@@ -156,12 +156,47 @@ class CDKView(View):
     def deleteCDK(self, request_dict, response):
         cdk_id = request_dict.get("id", None)
         try:
-            CDKcontextModel.objects.get(id=cdk_id).delete()
+            CDKcontextModel.objects.get(cdk=cdk_id).delete()
         except Exception as e:
-            print(e)
             return response.json(500, repr(e))
         else:
-            return response.json(0)
+            page = int(request_dict.get('page', None))
+            line = int(request_dict.get('line', None))
+            # channel = request_dict.get('channel', None)
+            cdk = request_dict.get('cdk', None)
+            order = request_dict.get('order', None)
+            is_activate = request_dict.get('is_activate', None)
+
+            searchVal = ''
+            if cdk:
+                searchVal = cdk.strip()
+            elif order:
+                searchVal = order.strip()
+            elif is_activate:
+                searchVal = is_activate.strip()
+
+            if page and line:
+                cdk_qs = CDKcontextModel.objects.filter().all()  # values('cdk','create_time','valid_time','is_activate','rank__id','order__id')
+                if searchVal:
+                    if cdk:
+                        cdk_qs = cdk_qs.filter(cdk__contains=searchVal)
+                    elif order:
+                        cdk_qs = cdk_qs.filter(order=searchVal)
+                    elif is_activate:
+                        cdk_qs = cdk_qs.filter(is_activate=searchVal)
+                cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'rank__id',
+                                       'rank__title', 'order',
+                                       'create_time')
+                cdk_qs = cdk_qs.order_by('-create_time')  # 根据CDK创建时间降序排序
+                count = cdk_qs.count()
+                cdk_qs = cdk_qs[(page - 1) * line:page * line]
+                res = {
+                    'datas': list(cdk_qs),
+                    'count': count
+                }
+                return response.json(0, res)
+
+
 
     def saveOrEditCDK(self, request_dict, response):
         cdk_id = request_dict.get("id", None)

+ 24 - 7
Controller/CloudStorage.py

@@ -27,7 +27,8 @@ from django.views.generic.base import View
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
     SERVER_DOMAIN_SSL
-from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, ExperienceContextModel, Pay_Type
+from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
+    ExperienceContextModel, Pay_Type, CDKcontextModel
 from Object.AliPayObject import AliPayObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -1090,13 +1091,23 @@ class CloudStorageView(View):
         commodity_code = request_dict.get('commodity_code', None)
         pay_type = int(request_dict.get('pay_type', None))
         rank = request_dict.get('rank', None)
+        cdk = request_dict.get('cdk', None)
+
+        if cdk != None and pay_type == 11:
+            cdk_qs = CDKcontextModel.objects.filter(cdk=cdk).values('is_activate', 'rank__id', 'rank__commodity_code')
+            if not cdk_qs.exists():
+                return response.json(10, '无效激活码')
+            if cdk_qs[0]['is_activate'] == 1:
+                return response.json(10, '激活码已被使用过')
+            rank = cdk_qs[0]['rank__id']
+            commodity_code = cdk_qs[0]['rank__commodity_code']
 
         if uid == None or channel == None or commodity_code == None or pay_type == None or rank == None:
             return response.json(13, '参数有误.')
         dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1)
         if not dv_qs.exists():
             return response.json(12)
-        smqs = Store_Meal.objects.filter(commodity_code=commodity_code, type=pay_type). \
+        smqs = Store_Meal.objects.filter(commodity_code=commodity_code, pay_type=pay_type). \
             values('currency', 'price', 'content', 'day', 'commodity_type', 'title', 'content')
         if not smqs.exists():
             return response.json(10, '套餐不存在')
@@ -1153,13 +1164,19 @@ class CloudStorageView(View):
         order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
 
         # return response.json(0)
+        if pay_type == 10:
+            ExperienceContextModel.objects.create(
+                experience_type=0,
+                uid=uid,
+                do_time=nowTime
 
-        ExperienceContextModel.objects.create(
-            experience_type=0,
-            uid=uid,
-            do_time=nowTime
+            )
 
-        )
+        if pay_type== 11:
+            update_dict = {}
+            update_dict['is_activate'] = 1
+            update_dict['order'] = orderID
+            CDKcontextModel.objects.filter(cdk=cdk).update(**update_dict)
 
         result = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
         return response.json(0, result)

+ 5 - 2
Controller/MealManage.py

@@ -80,6 +80,7 @@ class MealManage(View):
         currency = request_dict.get('currency', None)
         bucketID = request_dict.get('bucketID', None)
         paytype = request_dict.get('paytype', None)
+        virtual_price = request_dict.get('virtual_price', None)
         if not title or not id or not price or not day or not content:
             return response.json(444, 'title,id,price,content,day,bucketID')
         own_perm = ModelService.check_perm(userID=userID, permID=40)
@@ -90,7 +91,7 @@ class MealManage(View):
             if Store_Meal.objects.filter(id=id):
                 return response.json(10, '已存在')
             store_meal = Store_Meal(id=id, title=title, price=price, content=content, day=day, bucket_id=bucketID,
-                                    currency=currency)
+                                    currency=currency, virtual_price=virtual_price)
             store_meal.save()
             paytype = paytype.split(',')
             if len(paytype) > 0:
@@ -121,7 +122,7 @@ class MealManage(View):
             return response.json(444)
         qs = Store_Meal.objects.values("id", "title", "price", "content", "day", "add_time", "update_time", "currency"
                                        , "bucket_id", "bucket__bucket", "bucket__area", "commodity_type", "commodity_code",
-                                       "bucket__storeDay")
+                                       "bucket__storeDay", "virtual_price")
         res = {}
         if qs.exists():
             ql = list(qs)
@@ -151,6 +152,7 @@ class MealManage(View):
         bucketID = request_dict.get('bucketID', None)
         commodity_type = request_dict.get('commodity_type', None)
         commodity_code = request_dict.get('commodity_code', None)
+        virtual_price = request_dict.get('virtual_price', None)
         type = request_dict.get('type', None)
         if not id or not title or not price or not content or not day or not type:
             return response.json(444, 'id, title, price, content, day,type')
@@ -166,6 +168,7 @@ class MealManage(View):
             store_meal.content = content
             store_meal.commodity_type = commodity_type
             store_meal.commodity_code = commodity_code
+            store_meal.virtual_price = virtual_price
             store_meal.day = day
             if bucketID:
                 store_meal.bucket_id = bucketID