Aucune description

complement_views.py 2.4KB

    # -*- coding: utf-8 -*- from __future__ import division from django.db import transaction from django_logit import logit from django_response import response from paginator import pagination from logs.models import ComplementCodeLogInfo from utils.error.errno_utils import ComplementCodeStatusCode @logit(res=True) def complement_code(request): user_id = request.POST.get('user_id', '') log_id = request.POST.get('log_id', '') name = request.POST.get('name', '') phone = request.POST.get('phone', '') model_id = request.POST.get('model_id', '') model_name = request.POST.get('model_name', '') sn = request.POST.get('sn', '') shot_path = request.POST.get('shot_path', '') invoice_path = request.POST.get('invoice_path', '') log, _ = ComplementCodeLogInfo.objects.update_or_create(user_id=user_id, log_id=log_id, defaults={ 'name': name, 'phone': phone, 'model_id': model_id, 'model_name': model_name, 'sn': sn, 'shot_image': shot_path, 'invoice_image': invoice_path, }) return response(data={ 'log_id': log.log_id, }) def complement_code_list(request): user_id = request.POST.get('user_id', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) logs = ComplementCodeLogInfo.objects.filter(user_id=user_id, status=True).order_by('-pk') logs, left = pagination(logs, page, num) logs = [log.admindata for log in logs] return response(200, 'Get Complement Code List Success', u'获取补码列表成功', data={ 'logs': logs, 'left': left, }) @transaction.atomic def complement_code_audit(request): log_id = request.POST.get('log_id', '') audit_status = int(request.POST.get('audit_status', 0)) # -1 审核不通过, 1 审核通过 if audit_status not in [ComplementCodeLogInfo.AUDIT_REFUSED, ComplementCodeLogInfo.AUDIT_PASS]: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_STATUS_INVALID) try: log = ComplementCodeLogInfo.objects.select_for_update().get(log_id=log_id, status=True) except ComplementCodeLogInfo.DoesNotExist: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_NOT_FOUND) if log.audit_status != ComplementCodeLogInfo.AUDIT_TODO: return response(ComplementCodeStatusCode.COMPLEMENT_CODE_HAS_AUDITED) log.audit_status = audit_status log.save() return response()