|
@@ -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:
|