views.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #coding=utf-8
  2. import traceback
  3. import json
  4. from django.utils import timezone
  5. from libs import utils
  6. from libs.http import JSONError, JSONResponse,DataGridJSONResponse
  7. from apps.account.decorators import token_required
  8. from django.db import transaction, IntegrityError
  9. from apps.exceptions import CustomError
  10. from apps.foundation.models import BizLog
  11. from django.db.models import Q
  12. from django.conf import settings
  13. from .models import *
  14. from .serializers import *
  15. from .filters import *
  16. from apps.customer.models import Customer
  17. from apps.account.models import Branch
  18. @token_required
  19. def branch_list(request):
  20. f = BranchFilter(request.GET, queryset=Branch.objects.filter())
  21. rows, total = utils.get_page_data(request, f.qs)
  22. serializer = BranchSerializer(rows, many=True)
  23. return DataGridJSONResponse(serializer.data, total)
  24. @token_required
  25. def branch_save(request):
  26. id = request.GET.get('id')
  27. data = json.loads(request.body)
  28. try:
  29. with transaction.atomic():
  30. serializer = BranchSerializer.factory(request.user, data, id)
  31. serializer.validSave()
  32. return JSONResponse(serializer.data)
  33. except CustomError as e:
  34. return JSONError(e.get_error_msg())
  35. except Exception as e:
  36. traceback.print_exc()
  37. return JSONError(u'保存失败!')
  38. @token_required
  39. def member_list(request):
  40. f = CustomerFilter(request.GET, queryset=Customer.objects.filter(branch=request.user.branch))
  41. rows, total = utils.get_page_data(request, f.qs)
  42. serializer = CustomerSerializer(rows, many=True)
  43. return DataGridJSONResponse(serializer.data, total)
  44. @token_required
  45. def member_coupon_list(request):
  46. f = MemberCouponFilter(request.GET, queryset=MemberCoupon.objects.filter(member__branch=request.user.branch))
  47. rows, total = utils.get_page_data(request, f.qs)
  48. serializer = MemberCouponSerializer(rows, many=True)
  49. return DataGridJSONResponse(serializer.data, total)
  50. @token_required
  51. def coupon_write_off(request):
  52. id = request.GET.get('id')
  53. try:
  54. with transaction.atomic():
  55. instance = MemberCoupon.getById(id)
  56. if instance.member.branch and instance.member.branch_id != request.user.branch_id:
  57. raise CustomError(u'禁止跨店操作!')
  58. instance.writeOff()
  59. BizLog.objects.addnew(request.user, BizLog.CHECK, u"核销会员优惠券,id=%d" % instance.id)
  60. except CustomError as e:
  61. return JSONError(e.get_error_msg())
  62. except Exception as e:
  63. traceback.print_exc()
  64. return JSONError(u'核销失败!')
  65. return JSONResponse()
  66. @token_required
  67. def coupon_cancel_write_off(request):
  68. id = request.GET.get('id')
  69. try:
  70. with transaction.atomic():
  71. instance = MemberCoupon.getById(id)
  72. if instance.member.branch and instance.member.branch_id != request.user.branch_id:
  73. raise CustomError(u'禁止跨店操作!')
  74. instance.cancelWriteOff()
  75. BizLog.objects.addnew(request.user, BizLog.CHECK, u"撤销核销会员优惠券,id=%d" % instance.id)
  76. except CustomError as e:
  77. return JSONError(e.get_error_msg())
  78. except Exception as e:
  79. traceback.print_exc()
  80. return JSONError(u'撤销核销失败!')
  81. return JSONResponse()
  82. @token_required
  83. def order_list(request):
  84. f = OrderFilter(request.GET, queryset=Order.objects.filter(branch=request.user.branch))
  85. rows, total = utils.get_page_data(request, f.qs)
  86. serializer = OrderSerializer(rows, many=True)
  87. return DataGridJSONResponse(serializer.data, total)