|
# -*- 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()
|