From 4909c6eedb0030f78b74fe9673be8509480213e9 Mon Sep 17 00:00:00 2001
From: haowang <yousangdandan@yeah.net>
Date: Tue, 7 May 2019 16:46:48 +0800
Subject: [PATCH] add tag filter func

---
 api/tag.py  | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 api/urls.py |  3 +++
 2 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/api/tag.py b/api/tag.py
index 2d9d358..c5e7871 100644
--- a/api/tag.py
+++ b/api/tag.py
@@ -4,7 +4,7 @@
 # Date: 2018/11/17
 
 import json
-from utils.base import APIView
+from utils.base import APIView, get_offset_count
 from utils.logger import error_logger
 
 
@@ -144,3 +144,52 @@ class TagRegisterUpdateView(APIView):
             error_logger.error(u'配置失败')
             raise
         return {'msg': '更改成功'}
+
+
+class TagFilterList(APIView):
+
+    def get(self, request):
+        filters = {}
+        offset, count = get_offset_count(request)
+        tag_name = request.GET.get('tag_name', None)
+        tag_id = request.GET.get('tag_id', None)
+
+        if tag_name:
+            filters['tag_name'] = tag_name
+        if tag_id and tag_id > 0:
+            filters['tag_id'] = tag_id
+
+        data = self.rpc['venus/sun/tag/filter/list'](filters=filters, offset=offset, count=count).unwrap()
+
+        return data
+
+
+class TagFilterCreate(APIView):
+
+    def post(self, request):
+        tag_name = request.POST.get('tag_name', None)
+        tag_id = request.POST.get('tag_id', None)
+        if not tag_id or not tag_name:
+            return {'message': '参数不完整'}
+
+        data = self.rpc['venus/sun/tag/filter/add'](tag_id=tag_id, tag_name=tag_name).unwrap()
+        if not data:
+            return {'message': '创建失败'}
+
+        return {'message': '创建成功'}
+
+
+class TagFilterDelete(APIView):
+
+    def post(self, request):
+        id_ = request.POST.get('id', None)
+
+        if not id_:
+            return {'message': '参数不完整'}
+
+        data = self.rpc['venus/sun/tag/filter/delete'](id_=id_).unwrap()
+
+        if not data:
+            return {'message': '操作失败'}
+
+        return {'message': '操作成功'}
diff --git a/api/urls.py b/api/urls.py
index 5270df9..8263d0a 100644
--- a/api/urls.py
+++ b/api/urls.py
@@ -88,6 +88,9 @@ urlpatterns = [
     url(r'^tag/create$', TagUpdateOrCreateView.as_view()),
     url(r'^tag/detail$', TagUpdateOrCreateView.as_view()),
     url(r'^tag/register_show/update$', TagRegisterUpdateView.as_view()),
+    url(r'^tag/filter/list$', TagFilterList.as_view()),
+    url(r'^tag/filter/add$', TagFilterCreate.as_view()),
+    url(r'^tag/filter/delete$', TagFilterDelete.as_view()),
 
     # 标签类型相关
     url(r'^tag/tagtype/list$', TagTypeListView.as_view()),
-- 
2.18.0