123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- from __future__ import division
- from django.contrib.auth.hashers import check_password, make_password
- from django_logit import logit
- from django_response import response
- from mch.models import BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, LatestAppInfo, ModelInfo, OperatorInfo
- from utils.error.errno_utils import OperatorStatusCode
- @logit
- def login_api(request):
- phone = request.POST.get('phone', '')
- password = request.POST.get('password', '')
- try:
- operator = OperatorInfo.objects.get(phone=phone, status=True)
- except OperatorInfo.DoesNotExist:
- return response(OperatorStatusCode.OPERATOR_NOT_FOUND)
- if operator.user_status == OperatorInfo.DISABLED:
- return response(OperatorStatusCode.OPERATOR_NOT_ACTIVATED)
- if not check_password(password, operator.encryption):
- return response(OperatorStatusCode.OPERATOR_PASSWORD_ERROR)
- return response(200, data={
- 'optor_id': operator.operator_id,
- })
- @logit
- def bmd_infos(request):
- optor_id = request.POST.get('optor_id', '')
- try:
- operator = OperatorInfo.objects.get(operator_id=optor_id, status=True)
- except OperatorInfo.DoesNotExist:
- return response(OperatorStatusCode.OPERATOR_NOT_FOUND)
- if operator.user_status == OperatorInfo.DISABLED:
- return response(OperatorStatusCode.OPERATOR_NOT_ACTIVATED)
- brands = BrandInfo.objects.filter(brand_id=operator.brand_id, status=True).order_by('position')
- brands = [brand.data for brand in brands]
- models = ModelInfo.objects.filter(brand_id=operator.brand_id, status=True).order_by('position')
- models = [model.data for model in models]
- distributors = DistributorInfo.objects.filter(brand_id=operator.brand_id, status=True).order_by('position')
- distributors = [distributor.data for distributor in distributors]
- return response(200, data={
- 'optor_id': operator.operator_id,
- 'brands': brands,
- 'models': models,
- 'distributors': distributors,
- })
- @logit
- def brands_list(request):
- brands = BrandInfo.objects.filter(status=True).order_by('position')
- brands = [brand.data for brand in brands]
- return response(200, data={
- 'brands': brands,
- })
- @logit
- def models_list(request):
- models = ModelInfo.objects.filter(status=True).order_by('position')
- models = [model.data for model in models]
- return response(200, data={
- 'models': models,
- })
- @logit
- def distributors_list(request):
- distributors = DistributorInfo.objects.filter(status=True).order_by('position')
- distributors = [distributor.data for distributor in distributors]
- return response(200, data={
- 'distributors': distributors,
- })
- @logit
- def upgrade_api(request):
- """ APP 升级 """
- try:
- appinfo = LatestAppInfo.objects.filter(status=True)[0].adr
- except IndexError:
- appinfo = {
- 'latest_version_code': '',
- 'latest_version_name': '',
- 'latest_url': '',
- }
- return response(200, 'Get Latest App Success', u'获取最新版信息成功', {
- 'appinfo': appinfo,
- })
- @logit
- def consumer_info_api(request):
- user_id = request.POST.get('user_id', '')
- iv = request.POST.get('iv', '')
- encryptedData = request.POST.get('encryptedData', '')
- lat = request.POST.get('lat', '')
- lon = request.POST.get('lon', '')
- serialNo = request.POST.get('SerialNo', '')
- verifyResult = request.POST.get('verifyResult', '')
-
- ConsumeInfoSubmitLogInfo.objects.create(
- user_id=user_id,
- phone='',
- iv=iv,
- encryptedData=encryptedData,
- lat=lat,
- lon=lon,
- serialNo=serialNo,
- verifyResult=verifyResult,
- )
- return response()
|