Browse Source

Merge branch 'test' of http://192.168.136.99:3000/servers/ASJServer into ming

zhangdongming 3 năm trước cách đây
mục cha
commit
143af8e80b

+ 27 - 10
AdminController/DeviceManagementController.py

@@ -68,6 +68,8 @@ class DeviceManagement(View):
                 return self.get_app_device_type_list(request_dict, response)
             elif operation == 'getAppBundleIdList':  # 获取app包id数据
                 return self.get_app_bundle_id_list(response)
+            elif operation == 'editAppDeviceType':  # 编辑app设备类型数据
+                return self.edit_app_device_type(request_dict, response)
             else:
                 return response.json(444, 'operation')
 
@@ -376,11 +378,8 @@ class DeviceManagement(View):
 
     @staticmethod
     def get_app_device_type_list(request_dict, response):
-        app_bundle_id = request_dict.get('appBundleId', 'com.ansjer.zccloud')
-        model = request_dict.get('model', None)
-        type = request_dict.get('type', None)
+        app_bundle_id = request_dict.get('appBundleId', None)
         lang = request_dict.get('lang', 'cn')
-        name = request_dict.get('name', None)
 
         pageNo = request_dict.get('pageNo', None)
         pageSize = request_dict.get('pageSize', None)
@@ -391,21 +390,23 @@ class DeviceManagement(View):
         page = int(pageNo)
         line = int(pageSize)
         try:
-            app_bundle_qs = AppBundle.objects.filter()
-            if app_bundle_id:
-                app_bundle_qs = app_bundle_qs.filter(app_bundle_id=app_bundle_id)
+            if not app_bundle_id:
+                app_bundle_id = 'com.ansjer.zccloud'
+            app_bundle_qs = AppBundle.objects.filter(app_bundle_id=app_bundle_id)
             if lang:
                 app_bundle_qs = app_bundle_qs.filter(app_device_type__devicenamelanguage__lang=lang)
 
-            total = app_bundle_qs.count()
             app_bundle_qs = app_bundle_qs.annotate(
                 model=F('app_device_type__model'), type=F('app_device_type__type'), icon=F('app_device_type__icon'),
                 lang=F('app_device_type__devicenamelanguage__lang'),
                 name=F('app_device_type__devicenamelanguage__name'),
-                sort=F('app_device_type__devicenamelanguage__sort')).values('model', 'type', 'icon', 'lang', 'name',
-                                                                            'sort')[(page - 1) * line:page * line]
+                sort=F('app_device_type__devicenamelanguage__sort')).values('id', 'app_device_type__id', 'model', 'type', 'icon', 'lang',
+                                                                            'name', 'sort').order_by(
+                'app_device_type__devicenamelanguage__sort')
             if not app_bundle_qs.exists():
                 return response.json(0)
+            total = app_bundle_qs.count()
+            app_bundle_qs = app_bundle_qs[(page - 1) * line:page * line]
             app_device_type_list = [app_bundle for app_bundle in app_bundle_qs]
             return response.json(0, {'list': app_device_type_list, 'total': total})
         except Exception as e:
@@ -421,3 +422,19 @@ class DeviceManagement(View):
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
+
+    @staticmethod
+    def edit_app_device_type(request_dict, response):
+        app_device_type_id = request_dict.get('app_device_type__id', None)
+        model = request_dict.get('model', None)
+        type = request_dict.get('type', None)
+        lang = request_dict.get('lang', None)
+        name = request_dict.get('name', None)
+        sort = request_dict.get('sort', None)
+        icon = request_dict.get('icon', None)
+
+        try:
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))

+ 13 - 5
AdminController/ServeManagementController.py

@@ -14,7 +14,7 @@ from boto3.session import Session
 from django.http import JsonResponse, HttpResponseRedirect, HttpResponse, StreamingHttpResponse
 from django.views.generic.base import View
 from Model.models import Device_Info, Role, MenuModel, VodBucketModel, CDKcontextModel, Store_Meal, Order_Model, \
-    UID_Bucket, ExperienceContextModel, Lang, Device_User, CloudLogModel, UidSetModel
+    UID_Bucket, ExperienceContextModel, Lang, Device_User, CloudLogModel, UidSetModel, Unused_Uid_Meal
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -845,16 +845,24 @@ class serveManagement(View):
             uid_bucket_qs = uid_bucket_qs.order_by('-addTime')[(page - 1) * line:page * line]
 
             for uid_bucket in uid_bucket_qs:
+                # 套餐到期时间累加未使用套餐
+                unused_qs = Unused_Uid_Meal.objects.filter(uid=uid_bucket.uid).values('num', 'expire')
+                if unused_qs.exists():
+                    addMonth = 0
+                    for unused in unused_qs:
+                        addMonth += unused['num'] * unused['expire']
+                    endTime = CommonService.calcMonthLater(addMonth, uid_bucket.endTime)
+                    endTime = time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(endTime))
+                else:
+                    endTime = time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(uid_bucket.endTime))
+
                 uid = uid_bucket.uid.upper()
                 data = {
                     'id': uid_bucket.id,
                     'uid': uid,
                     'channel': uid_bucket.channel,
                     'status': uid_bucket.status,
-                    'endTime': time.strftime(
-                        "%Y--%m--%d %H:%M:%S",
-                        time.localtime(
-                            uid_bucket.endTime)),
+                    'endTime': endTime,
                     'addTime': time.strftime(
                         "%Y--%m--%d %H:%M:%S",
                         time.localtime(