123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- # -*-coding:utf-8-*-
- import datetime
- import common.error_info as ce
- import common.models as cm
- import common.common_functions as ccf
- import common.common_control as ccc
- import utils.constant as const
- def add_sysnotice(request):
- """
- """
- uid = request.user.id
- uname = request.user.name
- kwargs = request.json
- need_params = ["title","content"]
- mse = ccf.check_params(*need_params,**kwargs)
- if mse:
- raise ce.TipException(mse)
- cvals = ccf.get_need_params(*need_params,**kwargs)
- cvals.update({"cid":uid})
- cvals.update({"cperson":uname})
- cm.SysNotice.objects.create(**cvals)
- def update_sysnotice(id,**kwargs):
- """
- """
- uvals = {}
- org_viewer = cm.SysNotice.objects.filter(id=id).first().viewer
- org_viewer = org_viewer if org_viewer else ""
- org_viewer = org_viewer.split(",")
- if "viewer" in kwargs:
- viewer = kwargs.get("viewer")
- org_viewer.append(str(viewer))
- viewer = ",".join(list(set(org_viewer)))
- uvals.update({"viewer":viewer})
- cm.SysNotice.objects.filter(id=id).update(**uvals)
-
- def delete_sysnotice(request):
- """删除批量用,隔开
- """
- kwargs = request.json
- need_params = ["id"]
- mse = ccf.check_params(*need_params,**kwargs)
- if mse:
- raise ce.TipException(mse)
- id = kwargs.get("id")
- ids = str(id).split(",")
- cm.SysNotice.objects.filter(id__in=ids).delete()
- def get_sysnotice_info(*ids):
- """获取系统通知详情
- """
- if not ids:
- raise ce.TipException(u"缺少参数id!")
- if not cm.SysNotice.objects.filter(id__in=ids).exists():
- raise ce.TipException(u"资源不存在!")
- qdata = cm.SysNotice.objects.filter(id__in=ids).values()
- return list(qdata)
- def get_sysnotice_list(request):
- """
- """
- uid = request.user.id
- filter_info = request.json
- qset = cm.SysNotice.objects.filter(cid=uid)
- if filter_info.get("title"):
- qset = qset.filter(title=filter_info.get("title"))
- # if filter_info.get("stime"):
- # qset = qset.filter(ctime__gte=filter_info.get("stime"))
- # if filter_info.get("etime"):
- # qset = qset.filter(ctime__lte=filter_info.get("etime"))
- if filter_info.get("ctime", ""):
- import web_site.tools as wst
- query = wst.datetime_filter("ctime", {}, filter_info["ctime"])
- qset = qset.filter(**query)
- if filter_info.get("new"):
- vuid = str(uid)
- qset = qset.exclude(viewer__contains=vuid)
- qdata = list(qset.values())
- return qset.count(),qdata
- def get_warning_notice_list(request):
- filter_info = request.json
- qset = cm.WarningNotice.objects.filter(is_suc=1)
- if filter_info.get("warning_type"):
- qset = qset.filter(warning_type=filter_info.get("warning_type"))
- if filter_info.get("notice_type"):
- qset = qset.filter(notice_type=filter_info.get("notice_type"))
- # if filter_info.get("stime"):
- # qset = qset.filter(ctime__gte=filter_info.get("stime"))
- # if filter_info.get("etime"):
- # qset = qset.filter(ctime__lte=filter_info.get("etime"))
- if filter_info.get("ctime", ""):
- import web_site.tools as wst
- query = wst.datetime_filter("ctime", {}, filter_info["ctime"])
- qset = qset.filter(**query)
- count = qset.count()
- page = filter_info.get("page")
- page_size = filter_info.get("page_size")
- if page and page_size:
- count,qset = ccc.get_page_qset(qset,page,page_size)
- qdata = list(qset.values())
- return count,qdata
- def get_warning_notice(*ids):
- """
- """
- qset = cm.WarningNotice.objects.filter(id__in=ids)
- qdata = qset.values()
- return qdata
|