| @@ -7,8 +7,11 @@ from paginator import pagination | ||
| 7 | 7 | from django.db import transaction | 
| 8 | 8 | from django.db.models import Q | 
| 9 | 9 | from django_logit import logit | 
| 10 | +from django_response import response | |
| 11 | +from TimeConvert import TimeConvert as tc | |
| 10 | 12 |  | 
| 11 | 13 | from kodo.decorators import check_admin | 
| 14 | +from account.models import UserInfo | |
| 12 | 15 | from mch.models import AdministratorInfo, ConsumeShotUnbindingInfo | 
| 13 | 16 |  | 
| 14 | 17 |  | 
| @@ -18,21 +21,35 @@ def consumer_shot_unbinding_list(request, administrator): | ||
| 18 | 21 |      start_time = request.POST.get('start_time', '') | 
| 19 | 22 |      end_time = request.POST.get('end_time', '') | 
| 20 | 23 |      query = request.POST.get('query', '') | 
| 24 | +    model_id = request.POST.get('model_id', '') | |
| 25 | +    page = request.POST.get('page', 1) | |
| 26 | +    num = request.POST.get('num', 20) | |
| 21 | 27 |  | 
| 22 | - unbindings = ConsumeShotUnbindingInfo.objects.filter(Q(phone__icontains=query) | Q(sn__icontains=query), status=True) | |
| 28 | +    unbindings = ConsumeShotUnbindingInfo.objects.filter(status=True).order_by('-created_at') | |
| 29 | + | |
| 30 | + if query: | |
| 31 | + user_id = '' | |
| 32 | + try: | |
| 33 | + user_id = UserInfo.objects.get(phone__icontains=query, status=True) | |
| 34 | + except UserInfo.DoesNotExist: | |
| 35 | + pass | |
| 36 | + unbindings = unbindings.filter(Q(sn__icontains=query) | Q(user_id=user_id)) | |
| 23 | 37 |  | 
| 24 | 38 | if start_time and end_time: | 
| 25 | 39 | start_time = tc.string_to_utc_datetime(start_time, format='%Y%m%d') | 
| 26 | 40 | end_time = tc.string_to_utc_datetime(end_time + ' 23:59:59', format='%Y%m%d %H:%M:%S') | 
| 27 | 41 | unbindings = unbindings.filter(created_at__range=(start_time, end_time)) | 
| 28 | 42 |  | 
| 43 | + if model_id: | |
| 44 | + unbindings = unbindings.filter(model_id=model_id) | |
| 45 | + | |
| 29 | 46 | count = unbindings.count() | 
| 30 | 47 |  | 
| 31 | 48 | unbindings, left = pagination(unbindings, page, num) | 
| 32 | 49 | unbindings = [unbinding.admindata for unbinding in unbindings] | 
| 33 | 50 |  | 
| 34 | -    return response(200, 'Get Cosumer Shot Unbinding List Success', u'用户列表获取成功', data={ | |
| 35 | - 'unbinding': userinfos, | |
| 51 | +    return response(200, 'Get Cosumer Shot Unbinding List Success', u'消费者镜头解绑列表获取成功', data={ | |
| 52 | + 'unbindings': unbindings, | |
| 36 | 53 | 'count': count, | 
| 37 | 54 | 'left': left | 
| 38 | 55 | }) | 
| @@ -500,7 +500,7 @@ def consumer_snlist_api(request): | ||
| 500 | 500 | return response(UserStatusCode.USER_NOT_FOUND) | 
| 501 | 501 |  | 
| 502 | 502 | # 用户信息提交列表 | 
| 503 | - logs = ConsumeInfoSubmitLogInfo.objects.filter(user_id=user_id, status=True).distinct() | |
| 503 | +    logs = ConsumeInfoSubmitLogInfo.objects.filter(user_id=user_id, status=True).distinct().order_by('-created_at') | |
| 504 | 504 | seen = set() | 
| 505 | 505 | seen_add = seen.add | 
| 506 | 506 | logs = [log.data for log in logs if not ((log.serialNo, log.model_name) in seen or seen_add((log.serialNo, log.model_name)))] | 
| @@ -302,6 +302,9 @@ def exec_del_consumer_submit(pk, admin_id): | ||
| 302 | 302 | code=ssli.serialNo | 
| 303 | 303 | ) | 
| 304 | 304 |  | 
| 305 | + if ssli.unbound: | |
| 306 | + return response() | |
| 307 | + | |
| 305 | 308 | # 消除用户劵 | 
| 306 | 309 | if user.shots_num <= 5: | 
| 307 | 310 | rights = RightInfo.objects.filter(is_send_coupon=True, status=True) | 
| @@ -841,7 +841,7 @@ class ConsumeShotUnbindingInfo(BaseModelMixin, BrandInfoMixin): | ||
| 841 | 841 | def admindata(self): | 
| 842 | 842 | from account.models import UserInfo | 
| 843 | 843 |  | 
| 844 | - info = ModelInfo.objects.get(model_id=self.model_id).fulldata | |
| 844 | + model_info = ModelInfo.objects.get(model_id=self.model_id).fulldata | |
| 845 | 845 | user = UserInfo.objects.get(user_id=self.user_id) | 
| 846 | 846 |  | 
| 847 | 847 |          return { | 
| @@ -851,8 +851,8 @@ class ConsumeShotUnbindingInfo(BaseModelMixin, BrandInfoMixin): | ||
| 851 | 851 | 'sn': self.sn, | 
| 852 | 852 | 'reason': self.reason, | 
| 853 | 853 | 'submit_pk': self.submit_pk, | 
| 854 | - 'submit_at': self.submit_at, | |
| 855 | - 'created_at': self.created_at, | |
| 854 | + 'submit_at': tc.local_string(utc_dt=self.submit_at, format='%Y-%m-%d %H:%M'), | |
| 855 | + 'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d %H:%M'), | |
| 856 | 856 | } | 
| 857 | 857 |  | 
| 858 | 858 |  |