control_notice.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # -*-coding:utf-8-*-
  2. import datetime
  3. import common.error_info as ce
  4. import common.models as cm
  5. import common.common_functions as ccf
  6. import common.common_control as ccc
  7. import utils.constant as const
  8. def add_sysnotice(request):
  9. """
  10. """
  11. uid = request.user.id
  12. uname = request.user.name
  13. kwargs = request.json
  14. need_params = ["title","content"]
  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.update({"cid":uid})
  20. cvals.update({"cperson":uname})
  21. cm.SysNotice.objects.create(**cvals)
  22. def update_sysnotice(id,**kwargs):
  23. """
  24. """
  25. uvals = {}
  26. org_viewer = cm.SysNotice.objects.filter(id=id).first().viewer
  27. org_viewer = org_viewer if org_viewer else ""
  28. org_viewer = org_viewer.split(",")
  29. if "viewer" in kwargs:
  30. viewer = kwargs.get("viewer")
  31. org_viewer.append(str(viewer))
  32. viewer = ",".join(list(set(org_viewer)))
  33. uvals.update({"viewer":viewer})
  34. cm.SysNotice.objects.filter(id=id).update(**uvals)
  35. def delete_sysnotice(request):
  36. """删除批量用,隔开
  37. """
  38. kwargs = request.json
  39. need_params = ["id"]
  40. mse = ccf.check_params(*need_params,**kwargs)
  41. if mse:
  42. raise ce.TipException(mse)
  43. id = kwargs.get("id")
  44. ids = str(id).split(",")
  45. cm.SysNotice.objects.filter(id__in=ids).delete()
  46. def get_sysnotice_info(*ids):
  47. """获取系统通知详情
  48. """
  49. if not ids:
  50. raise ce.TipException(u"缺少参数id!")
  51. if not cm.SysNotice.objects.filter(id__in=ids).exists():
  52. raise ce.TipException(u"资源不存在!")
  53. qdata = cm.SysNotice.objects.filter(id__in=ids).values()
  54. return list(qdata)
  55. def get_sysnotice_list(request):
  56. """
  57. """
  58. uid = request.user.id
  59. filter_info = request.json
  60. qset = cm.SysNotice.objects.filter(cid=uid)
  61. if filter_info.get("title"):
  62. qset = qset.filter(title=filter_info.get("title"))
  63. # if filter_info.get("stime"):
  64. # qset = qset.filter(ctime__gte=filter_info.get("stime"))
  65. # if filter_info.get("etime"):
  66. # qset = qset.filter(ctime__lte=filter_info.get("etime"))
  67. if filter_info.get("ctime", ""):
  68. import web_site.tools as wst
  69. query = wst.datetime_filter("ctime", {}, filter_info["ctime"])
  70. qset = qset.filter(**query)
  71. if filter_info.get("new"):
  72. vuid = str(uid)
  73. qset = qset.exclude(viewer__contains=vuid)
  74. qdata = list(qset.values())
  75. return qset.count(),qdata
  76. def get_warning_notice_list(request):
  77. filter_info = request.json
  78. qset = cm.WarningNotice.objects.filter(is_suc=1)
  79. if filter_info.get("warning_type"):
  80. qset = qset.filter(warning_type=filter_info.get("warning_type"))
  81. if filter_info.get("notice_type"):
  82. qset = qset.filter(notice_type=filter_info.get("notice_type"))
  83. # if filter_info.get("stime"):
  84. # qset = qset.filter(ctime__gte=filter_info.get("stime"))
  85. # if filter_info.get("etime"):
  86. # qset = qset.filter(ctime__lte=filter_info.get("etime"))
  87. if filter_info.get("ctime", ""):
  88. import web_site.tools as wst
  89. query = wst.datetime_filter("ctime", {}, filter_info["ctime"])
  90. qset = qset.filter(**query)
  91. count = qset.count()
  92. page = filter_info.get("page")
  93. page_size = filter_info.get("page_size")
  94. if page and page_size:
  95. count,qset = ccc.get_page_qset(qset,page,page_size)
  96. qdata = list(qset.values())
  97. return count,qdata
  98. def get_warning_notice(*ids):
  99. """
  100. """
  101. qset = cm.WarningNotice.objects.filter(id__in=ids)
  102. qdata = qset.values()
  103. return qdata