|
# -*- coding: utf-8 -*-
from __future__ import division
from django.db.models import Q
from django_response import response
from TimeConvert import TimeConvert as tc
from account.models import UserInfo
from equipment.models import AntigenMeasureLogInfo, IsolationPointUserInfo, IsolationPointInfo
from utils.error.errno_utils import IsolationPointStatusCode
def upload_antigen(request):
unionid = request.POST.get('unionid', '')
macid = request.POST.get('macid', '')
user_name = request.POST.get('user_name', '')
phone = request.POST.get('phone', 1)
result = request.POST.get('result', 2)
detect_at = request.POST.get('detect_at', '')
detect_at = tc.string_to_datetime(detect_at, format='%Y-%m-%d %H:%M:%S')
try:
user = IsolationPointUserInfo.objects.get(Q(fields__icontains=phone, member_id='') | Q(unionid=unionid), status=True)
user.detect_at = detect_at
user.antigen_result = result
user.save()
except IsolationPointUserInfo.DoesNotExist:
user = None
AntigenMeasureLogInfo.objects.create(
unionid=unionid,
point_id=user.point_id if user else '',
user_id=user.user_id if user else '',
macid=macid,
user_name=user_name,
phone=phone,
result=result,
detect_at=detect_at
)
return response(200, '', 'Antigen Upload Success', '抗原检测上传成功')
def get_antigen_screen_data(point_id):
try:
point = IsolationPointInfo.objects.get(point_id=point_id, status=True)
except IsolationPointInfo.DoesNotExist:
return response(IsolationPointStatusCode.ISOLATIONPOINT_NOT_FOUND)
ipuis = IsolationPointUserInfo.objects.filter(point_id=point_id, status=True).order_by('-detect_at')
ipuis = [ipui.antigen_screen_data for ipui in ipuis]
return ipuis
def get_antigen_screen_result(request):
point_id = request.POST.get('point_id', '')
screen_data = get_antigen_screen_data(point_id)
return response(data=screen_data)
def userinfo_update(request):
unionid = request.POST.get('unionid', '')
phone = request.POST.get('phone', '')
identifty_card_number = request.POST.get('identifty_card_number', '')
identifty_card_name = request.POST.get('identifty_card_name', '')
if unionid:
return response(40001, 'Unionid Cannot Be Empty', 'Unionid 不能为空')
UserInfo.objects.filter(unionid=unionid).update(phone=phone, identifty_card_name=identifty_card_name, identifty_card_number=identifty_card_number)
IsolationPointUserInfo.objects.filter(unionid=unionid).update(phone=phone, name=identifty_card_name)
return response(200, '', 'UserInfo Update Success', '用户个人信息更新成功')
|