123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- from __future__ import division
- import monetary
- from django.conf import settings
- from django.db.models import Q
- from django_logit import logit
- from django_response import response
- from paginator import pagination
- from account.models import UserInfo
- from mch.models import AdministratorInfo, ModelCameraBodyInfo, ModelInfo
- from utils.error.errno_utils import AdministratorStatusCode, ProductModelStatusCode, UserStatusCode
- @logit
- def model_add(request):
- jancode = request.POST.get('jancode', '')
- model_name = request.POST.get('model_name', '')
- model_uni_name = request.POST.get('model_uni_name', '')
- model_full_name = request.POST.get('model_full_name', '')
- image_path = request.POST.get('image_path', '')
- image2_path = request.POST.get('image2_path', '')
- integral = int(request.POST.get('integral', 100))
- admin_id = request.session.get('admin_id')
- is_important = request.POST.get('is_important', 0)
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- ModelInfo.objects.create(
- brand_id=administrator.brand_id,
- jancode=jancode,
- model_name=model_name,
- model_uni_name=model_uni_name,
- model_full_name=model_full_name,
- image=image_path,
- image2=image2_path,
- integral=integral,
- is_important=is_important,
- )
- return response(200, 'Model Add Success', u'型号添加成功')
- @logit
- def model_delete(request):
- model_id = request.POST.get('model_id', '')
- admin_id = request.session.get('admin_id')
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- try:
- modelObj = ModelInfo.objects.get(brand_id=administrator.brand_id, model_id=model_id, status=True)
- except ModelInfo.DoesNotExist:
- return response(ProductModelStatusCode.MODEL_NOT_FOUND)
- modelObj.status = False
- modelObj.save()
- return response(200, 'Model Delete Success', u'型号删除成功')
- @logit
- def model_update(request):
- jancode = request.POST.get('jancode', '')
- model_id = request.POST.get('model_id', '')
- model_name = request.POST.get('model_name', '')
- model_uni_name = request.POST.get('model_uni_name', '')
- model_full_name = request.POST.get('model_full_name', '')
- image_path = request.POST.get('image_path', '')
- image2_path = request.POST.get('image2_path', '')
- integral = int(request.POST.get('integral', 100))
- admin_id = request.session.get('admin_id')
- is_important = request.POST.get('is_important', 0)
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- try:
- modelObj = ModelInfo.objects.get(brand_id=administrator.brand_id, model_id=model_id, status=True)
- except ModelInfo.DoesNotExist:
- return response(ProductModelStatusCode.MODEL_NOT_FOUND)
- if jancode:
- modelObj.jancode = jancode
- if model_name:
- modelObj.model_name = model_name
- if model_uni_name:
- modelObj.model_uni_name = model_uni_name
- if model_full_name:
- modelObj.model_full_name = model_full_name
- if warehouse:
- modelObj.warehouse = warehouse
- if image_path:
- modelObj.image = image_path
- if image2_path:
- modelObj.image2 = image2_path
- if integral:
- modelObj.integral = integral
- modelObj.is_important = is_important
- modelObj.save()
- return response(200, 'Model Update Success', u'型号更新成功')
- @logit
- def model_list(request):
- page = request.POST.get('page', 1)
- num = request.POST.get('num', 20)
- admin_id = request.session.get('admin_id')
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- models = ModelInfo.objects.filter(brand_id=administrator.brand_id, display=True, status=True).order_by('-pk')
- count = models.count()
- models, left = pagination(models, page, num)
- models = [mdl.admindata for mdl in models]
- return response(200, 'Get Model List Success', u'获取型号列表成功', {
- 'models': models,
- 'count': count,
- 'left': left,
- })
- @logit
- def model_name_list(request):
- brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
- user_id = request.POST.get('user_id', '')
-
- try:
- user = UserInfo.objects.get(user_id=user_id)
- except UserInfo.DoesNotExist:
- return response(UserStatusCode.USER_NOT_FOUND)
- models = ModelCameraBodyInfo.objects.filter(brand_id=brand_id, status=True).order_by('-is_important', 'model_name').values_list('model_name', flat=True)
- models = list(models)
- return response(200, 'Get Model Name List Success', u'获取型号列表成功', {
- 'models': sorted(set(models), key=models.index)
- })
- @logit
- def model_cameras(request):
- brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
- kw = request.POST.get('kw', '')
- page = request.POST.get('page', 1)
- num = request.POST.get('num', 20)
- cameras = ModelCameraBodyInfo.objects.filter(brand_id=brand_id, status=True)
- if kw:
- cameras = cameras.filter(Q(model_name__icontains=kw) | Q(model_full_name__icontains=kw) | Q(camera_name__icontains=kw))
- cameras = cameras.order_by('-is_important', 'model_name', '-camera_market_time')
- count = cameras.count()
- cameras, left = pagination(cameras, page, num)
- cameras = [camera.data for camera in cameras]
- return response(200, 'Get Model Adaptive Camera List Success', u'获取型号适配机身列表成功', {
- 'cameras': cameras,
- 'count': count,
- 'left': left,
- })
|