فهرست منبع

生成cdk及修改速卖通订单号

peng 2 سال پیش
والد
کامیت
527a26120d
2فایلهای تغییر یافته به همراه45 افزوده شده و 9 حذف شده
  1. 44 8
      AdminController/ServeManagementController.py
  2. 1 1
      Model/models.py

+ 44 - 8
AdminController/ServeManagementController.py

@@ -80,6 +80,10 @@ class serveManagement(View):
                 return self.getCdkList(userID, request_dict, response)
             elif operation == 'createCdk':
                 return self.createCdk(request_dict, response)
+            elif operation == 'getVodStoreMeal':
+                return self.getVodStoreMeal(response)
+            elif operation == 'editExpress':
+                return self.editExpress(request_dict, response)
             elif operation == 'deleteCdk':
                 return self.deleteCdk(request_dict, response)
             elif operation == 'downloadCDK':
@@ -573,23 +577,50 @@ class serveManagement(View):
             print(e)
             return response.json(500, repr(e))
 
+    def editExpress(self, request_dict, response):
+        order_id = request_dict.get('orderID', None)
+        express_id = request_dict.get('express_id', None)
+        if not all([order_id, express_id]):
+            return response.json(444, {'error param': 'orderID or express_id'})
+        try:
+            CDKcontextModel.objects.filter(order=order_id).update(express_id=express_id)
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, repr(e))
+
+    def getVodStoreMeal(self, response):
+        try:
+            store_meal = Store_Meal.objects.filter(Q(is_show=0), ~Q(commodity_code='paypal_cycle'),
+                                                   Q(lang__lang='cn')).values('id', 'lang__title', 'lang__content')
+            if not store_meal.exists():
+                return response.json(0, [])
+            store_meal_list = []
+            for item in store_meal:
+                store_meal_list.append({'id': item['id'], 'title': item['lang__title'] + '--' + item['lang__content']})
+            return response.json(0, store_meal_list)
+        except Exception as e:
+            return response.json(500, repr(e))
+
     def createCdk(self, request_dict, response):
         cdk_num = request_dict.get("cdknum", None)
         mold = request_dict.get('mold', None)
         order = request_dict.get('order', None)
-        cdk_list = []
-        sm_qs = Store_Meal.objects.filter(
-            pay_type__payment='cdk_pay', bucket__mold=mold, is_show=0)
-        if not sm_qs.exists():
+        rank = request_dict.get('rank', None)
+        if not all([cdk_num, rank]):
+            return response.json(444, {'error param': 'cdknum or rank'})
+        store_meal = Store_Meal.objects.filter(id=rank)
+        # sm_qs = Store_Meal.objects.filter(
+        #     pay_type__payment='cdk_pay', bucket__mold=mold, is_show=0)
+        if not store_meal.exists():
             return response.json(173)
-        rank = sm_qs[0].id
+        cdk_list = []
         for i in range(int(cdk_num)):
-            nowTime = int(time.time())
+            now_time = int(time.time())
             cdk = hashlib.md5((str(uuid.uuid1()) +
-                               str(nowTime)).encode('utf-8')).hexdigest()
+                               str(now_time)).encode('utf-8')).hexdigest()
             cdk_model = CDKcontextModel(
                 cdk=cdk,
-                create_time=nowTime,
+                create_time=now_time,
                 valid_time=0,
                 is_activate=0,
                 is_down=0,
@@ -736,6 +767,11 @@ class serveManagement(View):
                 data['trade_no'] = 'N/A'
                 if data['payType'] == 1:
                     data['trade_no'] = order['trade_no'] if order['trade_no'] else 'N/A'
+                data['express_id'] = ''
+                if data['payType'] == 11:
+                    cdk_context_qs = CDKcontextModel.objects.filter(order=data['orderID']).values('express_id')
+                    if cdk_context_qs.exists():
+                        data['express_id'] = cdk_context_qs[0]['express_id']
                 order_list.append(data)
             return response.json(
                 0, {'list': order_list, 'total': count})

+ 1 - 1
Model/models.py

@@ -1694,12 +1694,12 @@ class CDKcontextModel(models.Model):
     rank = models.ForeignKey(Store_Meal, to_field='id', default='', on_delete=models.CASCADE, verbose_name='套餐类型')
     # order = models.ForeignKey(Order_Model, blank=True, max_length=20, to_field='orderID', on_delete=models.CASCADE, verbose_name='订单id', unique=True)
     order = models.CharField(max_length=20, blank=True, unique=True, verbose_name='订单id')
+    express_id = models.CharField(blank=True, max_length=20, verbose_name='速卖通订单id')
 
     # 备用字段
     spare_1 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段1')
     spare_2 = models.CharField(default='', blank=True, max_length=64, verbose_name=u'备用字段2')
     spare_3 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段3')
-    spare_4 = models.CharField(default='', blank=True, max_length=64, db_index=True, verbose_name=u'备用字段4')
 
     class Meta:
         db_table = 'cdk_context'