1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import json
- import copy
- from django.utils import timezone
- from django.shortcuts import render
- from user.models import User as User_models
- from order.models import Order as Order_models
- # Create your views here.
- from django.http import HttpResponse
- from django.views.decorators.http import require_http_methods
- from django.views.decorators.csrf import csrf_exempt
- from django.core import serializers # 序列化 QuerySet
- from admin_site.utils import setError, setSuccess, userPersonToDictionary
- # from rest_framework.views import APIView
- # from rest_framework.response import Response
- def index(request):
- return HttpResponse("Hello, user index")
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def info(request):
- if len(request.body) == 0:
- return HttpResponse(setError("请传入数据!"))
- body = json.loads(request.body)
- if body.get('id') == None:
- return HttpResponse(setError("该用户不存在!"))
- user_info = userPersonToDictionary(User_models.objects.get(id=body.get('id')))
- print(user_info)
- return HttpResponse(setSuccess(data=user_info))
- """ 用户登陆 """
- @csrf_exempt
- @require_http_methods(["POST"])
- def login(request):
- body = json.loads(request.body)
- if body.get('email') == None:
- return HttpResponse(setError("该用户不存在!"))
- if body.get('password') == None:
- return HttpResponse(setError("该用户不存在!"))
- user_info = userPersonToDictionary(User_models.objects.get(email=body.get('email'), password=body.get('password')))
- print(user_info)
- return HttpResponse(setSuccess(data=user_info))
- @csrf_exempt
- @require_http_methods(["POST"])
- def add(request):
- body = json.loads(request.body)
- # 如果是司机的话,需要填写车牌号
- # print(22, body['type'])
- if body['type'] == 'FL002' and body['car'] == '':
- return HttpResponse(setError("车牌号不存在"))
- isAdd = User_models.objects.all().filter(mobile=body['mobile'])
- if len(isAdd) > 0:
- return HttpResponse(setError("该用户手机号已存在,添加失败"))
- user_add = User_models(name=body['name'], nickname=body['nickname'], address=body['address'], email=body['email'],
- password=body['password'], mobile=body['mobile'], type=body['type'], sex=body['sex'],
- car=body['car'])
- user_add.save()
- return HttpResponse(setSuccess(msg='添加成功', data=userPersonToDictionary(user_add)))
- @csrf_exempt
- @require_http_methods(["POST"])
- def update(request):
- body = copy.deepcopy(json.loads(request.body))
- if body.get('id') == None or body['id'] == '':
- return HttpResponse(setError("用户不存在"))
- # type
- print(body.get('type'))
- field_list = ['address', 'password', 'nickname', 'mobile']
- params = {}
- # 用户信息更新
- if (body.get('type') == 'Fl001'):
- # 如果字段中存在未完成订单,不允许修改地址,联系方式
- if body.get('address') != None or body.get('mobile') != None:
- # 查询数据库中是否存在未完成订单
- user_order = Order_models.objects.filter(user_id=body['id'], status__lte=2)
- if len(user_order) > 0:
- return HttpResponse(setError("存在未完成订单,无法修改!"))
- for key in field_list:
- if params.get(key) == None and body.get(key) != None:
- params.setdefault(key, body.get(key))
- # elif body.get(key) != None and params.get(key) != None:
- # setattr(params, key, body.get(key))
- # 司机信息或者是回收站更新
- if body.get('type') == 'Fl002' or body.get('type') == 'Fl003':
- for key in field_list:
- # if body.get(key) != None and key != 'address':
- # setattr(params, key, body.get(key))
- if params.get(key) == None and body.get(key) != None and key != 'address':
- params.setdefault(key, body.get(key))
- User_models.objects.filter(id=body['id']).update(**params)
- return HttpResponse(setSuccess(msg='更新成功'))
|