Commit 1682a6ae authored by 王浩's avatar 王浩

Merge branch 'haow/dev' into 'test'

fix

See merge request alpha/sun!129
parents ca13dc89 3040a6c4
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "chenwei"
# Date: 2018/11/15
import json
from utils.base import APIView
from utils.logger import error_logger
class GroupListView(APIView):
def get(self, request):
star_id = request.GET.get('star_id')
user_id = request.GET.get('user_id')
offset = int(request.GET.get('page', 0))
limit = int(request.GET.get('limit', 10))
filters = self.handle_filter(request.GET.get('filter', ""))
if star_id:
filters.update({'star_id': star_id})
if user_id:
filters.update({'user_id': user_id})
try:
data = self.rpc['venus/sun/group/list'](filters=filters, offset=(offset-1)*limit, limit=limit).unwrap()
except Exception as e:
error_logger.error(u'获取小组列表失败%s' , e)
raise
return data
def post(self, request):
ids = json.loads(request.POST.get('ids', '[]'))
updates = json.loads(request.POST.get('updates', '{}'))
try:
self.rpc['venus/sun/group/batch/update'](updates=updates, ids=ids).unwrap()
except Exception as e:
error_logger.error(u'批量更新失败%s', e)
raise
return {
"message": "更新成功"
}
class GroupUpdateOrCreate(APIView):
def get(self, request):
id = request.GET.get('id').split(':')[0]
try:
data = self.rpc['venus/sun/group/get'](id=id).unwrap()
except Exception as e:
error_logger.error(u'获取%s用户信息失败%s'%(id, e))
raise
return data
def post(self, request):
id = request.POST.get('id')
star_ids = list(map(lambda x: x.split(":")[0], json.loads(request.POST.get('star', '[]'))))
group_user_ids = list(map(lambda x: x.split(":")[0], json.loads(request.POST.get('group_users', '[]'))))
data = {
'name': request.POST.get('name', ''),
'description': request.POST.get('description', ''),
'creator_id': request.POST.get('user', '').split(':')[0],
'celebrity_ids': star_ids,
'is_online': int(request.POST.get('is_online', 0)),
'is_recommend': int(request.POST.get('is_recommend', 0)),
'group_user_ids':group_user_ids,
'icon': request.POST.get('icon', '')[:-2]
}
try:
self.rpc['venus/sun/group/edit'](id=id, data=data).unwrap()
except Exception as e:
error_logger.error(u'编辑%s用户信息失败%s' % (id, e))
raise
return {
'message': '更新成功'
}
class GroupRelatedUser(APIView):
def get(self, request):
id = request.GET.get('id')
offset = int(request.GET.get('page', 0))
count = int(request.GET.get('limit', 10))
filters = {'group_id': id}
try:
data = self.rpc['venus/sun/group/user/list'](filters=filters, offset=(offset - 1) * count, limit=count).unwrap()
except Exception as e:
error_logger.error(u'获取小组用户信息失败%s' , e)
raise
return data
class GroupRelatedUserGET(APIView):
def get(self, request):
id = request.GET.get('id', '').split(':')[0]
try:
data = self.rpc['venus/sun/group/user/get'](id=id).unwrap()
except Exception as e:
error_logger.error(u'获取小组用户信息失败%s', e)
raise
return [data, ]
def post(self, request):
group_id = request.POST.get('group_id')
user_id = request.POST.get('user_id')
data = {
'role_id': request.POST.get('original_group_identify'),
}
try:
self.rpc['venus/sun/group/user/edit'](id=group_id, user_id=user_id, data=data).unwrap()
except Exception as e:
error_logger.error(u'编辑小组用户%s信息失败%s'%(user_id, e))
raise
return
\ No newline at end of file
......@@ -33,7 +33,7 @@ class PushUpdateOrCreateView(APIView):
def post(self, request):
id = request.POST.get('id', '')
creator_id = request.POST.get('creator_id')
group_topic_id = request.POST.get('group_topic_id', '')
pictorial_topic_id = request.POST.get('pictorial_topic_id', '')
icon = request.POST.get('icon', '')
if icon.endswith('-w'):
icon = request.POST.get('icon', '')[:-2]
......@@ -42,8 +42,8 @@ class PushUpdateOrCreateView(APIView):
if url == '推送帖子':
url = 'alpha://topic_detail?topic_id='
elif url == '推送小组':
url = 'alpha://group_detail?group_id='
full_url = url + group_topic_id
url = 'alpha://pictorial_detail?pictorial_id='
full_url = url + pictorial_topic_id
data = {
'url': full_url,
......
......@@ -6,19 +6,6 @@
from utils.base import APIView, get_offset_count
class GroupSearchView(APIView):
def get(self, request):
name = request.GET.get('name')
try:
data = self.rpc['venus/sun/group/search'](name=name).unwrap()
except Exception as e:
raise e
return {
'data': ['{id}:{name}'.format(id=search_data['id'], name=search_data['name']) for search_data in data]
}
class CountrySearchView(APIView):
def get(self, request):
name = request.GET.get('name')
......
......@@ -47,7 +47,7 @@ class CelebrityUpdateOrCreate(APIView):
def post(self, request):
id = request.POST.get('id', '')
gender = request.POST.get('gender')
group_ids = list(set(map(lambda x: x.split(":")[0], json.loads(request.POST.get('groups', '[]')))))
pictorial_ids = list(set(map(lambda x: x.split(":")[0], json.loads(request.POST.get('pictorials', '[]')))))
updates = {
'gender': ''
}
......@@ -66,7 +66,7 @@ class CelebrityUpdateOrCreate(APIView):
'is_online': int(request.POST.get('is_online')),
'desc': request.POST.get('description'),
'portrait': request.POST.get('avatar')[:-2],
'group_ids': group_ids,
'pictorial_ids': pictorial_ids,
}
try:
self.rpc['venus/sun/celebrity/edit'](id=id, data=data).unwrap()
......
......@@ -8,7 +8,6 @@ from django.conf.urls import url
from .pick import *
from .push import *
from .group import *
from .user import *
from .topic import *
from .star import *
......@@ -34,24 +33,16 @@ urlpatterns = [
url(r'^account/list/update$', AccountList.as_view()),
url(r'^account/detail$', AccountUpdateOrCreateView.as_view()),
url(r'^account/create$', AccountUpdateOrCreateView.as_view()),
# user相关
url(r'^user/list$', UserListView.as_view()),
url(r'^user/list/update$', UserListView.as_view()),
url(r'^user/get$', UserUpdateOrCreate.as_view()),
url(r'^user/create$', UserUpdateOrCreate.as_view()),
url(r'^user/group/list$', UserGroupView.as_view()),
url(r'^user/pictorial/list$', UserPictorialView.as_view()),
url(r'^user/images/get$', UserImage.as_view()),
url(r'^user/images/create$', UserImage.as_view()),
# group相关
url(r'^group/list$', GroupListView.as_view()),
url(r'^group/list/update$', GroupListView.as_view()),
url(r'^group/get$', GroupUpdateOrCreate.as_view()),
url(r'^group/create$', GroupUpdateOrCreate.as_view()),
url(r'^group/user/list$', GroupRelatedUser.as_view()),
url(r'^group/user/get$', GroupRelatedUserGET.as_view()),
url(r'^group/user/edit_group_identify', GroupRelatedUserGET.as_view()),
# topic相关
url(r'^topic/list$', TopicListView.as_view()),
url(r'^topic/img/list$', TopicImageListView.as_view()),
......@@ -140,7 +131,6 @@ urlpatterns = [
]
search_urlpatterns = [
url(r'search/group$', GroupSearchView.as_view()),
url(r'search/country$', CountrySearchView.as_view()),
url(r'search/user$', UserSearchView.as_view()),
url(r'search/tag$', TagSearchView.as_view()),
......
......@@ -18,12 +18,12 @@ from utils.pic_tools import tailor_image
class UserListView(APIView):
def get(self, request):
group_id = request.GET.get('group_id', '')
pictorial_id = request.GET.get('pictorial_id', '')
page = int(request.GET.get('page', 1))
limit = int(request.GET.get('limit', 10))
filter = self.handle_filter(request.GET.get('filter', ""))
if group_id:
filter.update({'group_id': group_id})
if pictorial_id:
filter.update({'pictorial_id': pictorial_id})
try:
data = self.rpc['venus/sun/user/list'](offset=(page-1)*limit, limit=limit, filters=filter).unwrap()
except Exception as e:
......@@ -85,16 +85,16 @@ class UserUpdateOrCreate(APIView):
}
class UserGroupView(APIView):
class UserPictorialView(APIView):
def get(self, request):
user_id = request.GET.get('id')
offset = int(request.GET.get('page', 0))
count = int(request.GET.get('limit', 10))
filters = {'user_id': user_id}
try:
data = self.rpc['venus/sun/group/user/list'](filters=filters, offset=(offset - 1) * count, limit=count).unwrap()
data = self.rpc['venus/sun/pictorial/user/list'](filters=filters, offset=(offset - 1) * count, limit=count).unwrap()
except Exception as e:
error_logger.error(u'获取小组用户详情失败%s' , e)
error_logger.error(u'获取画报用户详情失败%s' , e)
raise
return data
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment