control_transaction.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #coding=utf-8
  2. '''
  3. '''
  4. import json
  5. from django.db import transaction
  6. import common.models as cm
  7. import common.error_info as ce
  8. import common.common_functions as ccf
  9. import common.common_control as ccc
  10. def add_transaction(request):
  11. """
  12. """
  13. kwargs = request.json
  14. need_params = ["enterprise_id","product_id","price","service_period"]
  15. mse = ccf.check_params(*need_params,**kwargs)
  16. if mse:
  17. raise ce.TipException(mse)
  18. cvals = ccf.get_need_params(*need_params,**kwargs)
  19. cvals["cid"] = request.user.id
  20. cvals["cperson"] = request.user.realname
  21. try:
  22. tansobj = cm.Transaction.objects.create(**cvals)
  23. except Exception as e:
  24. raise c.TipException(str(e))
  25. def update_transaction(request):
  26. """
  27. """
  28. kwargs = request.json
  29. need_params = ["id","enterprise_id","product_id","price","service_period"]
  30. mse = ccf.check_params(*need_params,**kwargs)
  31. if mse:
  32. raise ce.TipException(mse)
  33. cvals = ccf.get_need_params(*need_params,**kwargs)
  34. try:
  35. cm.Transaction.objects.filter(id=cvals.get("id")).update(**cvals)
  36. except Exception as e:
  37. raise c.TipException(str(e))
  38. def delete_transaction(request):
  39. """
  40. """
  41. kwargs = request.json
  42. need_params = ["id"]
  43. mse = ccf.check_params(*need_params,**kwargs)
  44. if mse:
  45. raise ce.TipException(mse)
  46. ids = str(kwargs.get("id")).split(",")
  47. cm.Transaction.objects.filter(id__in=ids).update(status=0)
  48. def format_transaction(*ids):
  49. """
  50. """
  51. eset = cm.Transaction.objects.filter(id__in=ids,status=1)
  52. if not eset.exists():
  53. raise ce.TipException(u"客户不存在!")
  54. data = list(eset.values())
  55. return data
  56. def get_transaction_info(request):
  57. """
  58. """
  59. kwargs = request.json
  60. need_params = ["id"]
  61. mse = ccf.check_params(*need_params,**kwargs)
  62. if mse:
  63. raise ce.TipException(mse)
  64. ids = str(kwargs.get("id")).split(",")
  65. entinfo = format_transaction(*ids)
  66. entinfo = entinfo[0] if entinfo else {}
  67. return entinfo
  68. def get_transaction_list(request):
  69. """
  70. """
  71. kwargs = request.json
  72. eset = cm.Transaction.objects.filter(status=1)
  73. if "enterprise_name" in kwargs and kwargs.get("enterprise_name"):
  74. #eset = eset.filter(name__icontains=kwargs.get("name"))
  75. pass
  76. if "product_id" in kwargs and kwargs.get("product_id"):
  77. eset = eset.filter(product_id=kwargs.get("product_id"))
  78. if "enterprise_id" in kwargs and kwargs.get("enterprise_id"):
  79. eset = eset.filter(product_id=kwargs.get("enterprise_id"))
  80. total = eset.count()
  81. edata = list(eset.values())
  82. page = int(kwargs.get("page",1))
  83. page_size = int(kwargs.get("page_size",20))
  84. total,data = ccf.get_page_list(edata,page,page_size)
  85. return (total,data)