123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #coding=utf-8
- import traceback
- import json
- from django.utils import timezone
- from libs import utils
- from libs.http import JSONError, JSONResponse,DataGridJSONResponse
- from apps.account.decorators import token_required
- from django.db import transaction, IntegrityError
- from apps.exceptions import CustomError
- from apps.foundation.models import BizLog
- from django.db.models import Q
- from django.conf import settings
- from .models import *
- from .serializers import *
- from .filters import *
- @token_required
- def branch_list(request):
- f = BranchFilter(request.GET, queryset=Branch.objects.filter())
- rows, total = utils.get_page_data(request, f.qs)
- serializer = BranchSerializer(rows, many=True)
- return DataGridJSONResponse(serializer.data, total)
- @token_required
- def branch_save(request):
- id = request.GET.get('id')
- data = json.loads(request.body)
- try:
- with transaction.atomic():
- serializer = BranchSerializer.factory(request.user, data, id)
- serializer.validSave()
- return JSONResponse(serializer.data)
- except CustomError as e:
- return JSONError(e.get_error_msg())
- except Exception as e:
- traceback.print_exc()
- return JSONError(u'保存失败!')
- @token_required
- def member_list(request):
- f = MemberFilter(request.GET, queryset=Member.objects.filter(branch=request.user.branch))
- rows, total = utils.get_page_data(request, f.qs)
- serializer = MemberSerializer(rows, many=True)
- return DataGridJSONResponse(serializer.data, total)
- @token_required
- def member_coupon_list(request):
- f = MemberCouponFilter(request.GET, queryset=MemberCoupon.objects.filter(member__branch=request.user.branch))
- rows, total = utils.get_page_data(request, f.qs)
- serializer = MemberCouponSerializer(rows, many=True)
- return DataGridJSONResponse(serializer.data, total)
- @token_required
- def coupon_write_off(request):
- id = request.GET.get('id')
- try:
- with transaction.atomic():
- instance = MemberCoupon.getById(id)
- if instance.member.branch and instance.member.branch_id != request.user.branch_id:
- raise CustomError(u'禁止跨店操作!')
- instance.writeOff()
- BizLog.objects.addnew(request.user, BizLog.CHECK, u"核销会员优惠券,id=%d" % instance.id)
- except CustomError as e:
- return JSONError(e.get_error_msg())
- except Exception as e:
- traceback.print_exc()
- return JSONError(u'核销失败!')
- return JSONResponse()
- @token_required
- def coupon_cancel_write_off(request):
- id = request.GET.get('id')
- try:
- with transaction.atomic():
- instance = MemberCoupon.getById(id)
- if instance.member.branch and instance.member.branch_id != request.user.branch_id:
- raise CustomError(u'禁止跨店操作!')
- instance.cancelWriteOff()
- BizLog.objects.addnew(request.user, BizLog.CHECK, u"撤销核销会员优惠券,id=%d" % instance.id)
- except CustomError as e:
- return JSONError(e.get_error_msg())
- except Exception as e:
- traceback.print_exc()
- return JSONError(u'撤销核销失败!')
- return JSONResponse()
- @token_required
- def order_list(request):
- f = OrderFilter(request.GET, queryset=Order.objects.filter(branch=request.user.branch))
- rows, total = utils.get_page_data(request, f.qs)
- serializer = OrderSerializer(rows, many=True)
- return DataGridJSONResponse(serializer.data, total)
|