Browse Source

增加用户账号、用户手机号和用户邮箱查询

keiSenFront 1 year ago
parent
commit
2a9fdb126a
1 changed files with 37 additions and 6 deletions
  1. 37 6
      AdminController/ServeManagementController.py

+ 37 - 6
AdminController/ServeManagementController.py

@@ -21,7 +21,7 @@ from Controller.UnicomCombo.UnicomComboTaskController import UnicomComboTaskView
 from Model.models import VodBucketModel, CDKcontextModel, Store_Meal, Order_Model, \
     UID_Bucket, ExperienceContextModel, Lang, CloudLogModel, UidSetModel, Unused_Uid_Meal, \
     Device_Info, DeviceTypeModel, UnicomComboOrderInfo, AiService, CountryModel, CouponLang, CouponConfigModel, \
-    CouponCombo, CouponModel
+    CouponCombo, CouponModel, Device_User
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UnicomObject import UnicomObjeect
@@ -925,7 +925,9 @@ class serveManagement(View):
 
     @staticmethod
     def getCouponUsingList(request_dict, response):
-        user_id = request_dict.get('userID', None)
+        username = request_dict.get('username', None)
+        phone = request_dict.get('phone', None)
+        user_email = request_dict.get('userEmail', None)
         use_status = request_dict.get('useStatus', None)
         page_no = request_dict.get('pageNo', None)
         page_size = request_dict.get('pageSize', None)
@@ -938,26 +940,55 @@ class serveManagement(View):
 
         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, [])
+
+            device_user_qs = Device_User.objects.filter().values(
+                'userID', 'username', 'phone', 'userEmail')
+            if username:
+                device_user_qs = device_user_qs.filter(username=username)
+                if not device_user_qs.exists():
+                    return response.json(0, [])
+                user_id = device_user_qs.first()['userID']
+                coupon_qs = coupon_qs.filter(userID=user_id)
+            if phone:
+                device_user_qs = device_user_qs.filter(phone__contains=phone)
+                if not device_user_qs.exists():
+                    return response.json(0, [])
+                user_id = device_user_qs.first()['userID']
+                coupon_qs = coupon_qs.filter(userID=user_id)
+            if user_email:
+                device_user_qs = device_user_qs.filter(userEmail__contains=user_email)
+                if not device_user_qs.exists():
+                    return response.json(0, [])
+                user_id = device_user_qs.first()['userID']
+                coupon_qs = coupon_qs.filter(userID=user_id)
+
             coupon_qs = coupon_qs.values(
-                'id', 'use_status', 'distribute_time', 'valid_time', 'userID', 'update_time', 'create_time')
+                'id', 'use_status', 'distribute_time', 'valid_time', 'update_time', 'create_time', 'userID',
+                'coupon_config__id', 'userID')
             count = coupon_qs.count()
             coupons = coupon_qs[(page - 1) * line:page * line]
             coupon_list = []
             for coupon in coupons:
+                device_user_qs = Device_User.objects.filter(userID=coupon['userID']).values('username', 'phone',
+                                                                                            'userEmail')
+                username = device_user_qs[0]['username'] if device_user_qs.exists() else ''
+                phone = device_user_qs[0]['phone'] if device_user_qs.exists() else ''
+                user_email = device_user_qs[0]['userEmail'] if device_user_qs.exists() else ''
                 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'],
+                    'couponID': coupon['coupon_config__id'],
+                    'username': username,
+                    'phone': phone,
+                    'userEmail': user_email,
                 })
             return response.json(0, {'list': coupon_list, 'total': count})
         except Exception as e: