add avatar for GroupUserInfo

Brightcells 9 years ago
parent
commit
4afdb94e20
5 changed files with 45 additions and 62 deletions
  1. 2 1
      api/urls.py
  2. 19 0
      group/migrations/0006_groupuserinfo_avatar.py
  3. 2 0
      group/models.py
  4. 22 0
      group/views.py
  5. 0 61
      photo/views.py

+ 2 - 1
api/urls.py

@@ -13,13 +13,14 @@ urlpatterns = [
13 13
     url(r'^u/signup$', account_views.user_signup_api, name='user_signup_api'),  # 用户注册
14 14
     url(r'^u/login$', account_views.user_login_api, name='user_login_api'),  # 用户登录
15 15
 
16
-    url(r'^u/wx/authorize$', account_views.wx_authorize_api, name='wx_authorize_api'),  # 用户登录
16
+    url(r'^u/wx/authorize$', account_views.wx_authorize_api, name='wx_authorize_api'),  # 微信用户授权
17 17
 ]
18 18
 
19 19
 urlpatterns += [
20 20
     url(r'^g/create$', group_views.group_create_api, name='group_create_api'),  # 群组创建
21 21
     url(r'^g/detail$', group_views.group_detail_api, name='group_detail_api'),  # 群组详情
22 22
     url(r'^g/update$', group_views.group_update_api, name='group_update_api'),  # 群组更新
23
+    url(r'^g/list$', group_views.group_list_api, name='group_list_api'),  # 群组列表
23 24
     url(r'^g/join$', group_views.group_join_api, name='group_join_api'),  # 申请加群
24 25
     url(r'^g/lock$', group_views.group_lock_api, name='group_lock_api'),  # 群组锁定
25 26
     url(r'^g/remove$', group_views.group_remove_api, name='group_remove_api'),  # 成员移除

+ 19 - 0
group/migrations/0006_groupuserinfo_avatar.py

@@ -0,0 +1,19 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('group', '0005_groupuserinfo_current_id'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AddField(
15
+            model_name='groupuserinfo',
16
+            name='avatar',
17
+            field=models.CharField(help_text='\u7528\u6237\u5934\u50cf', max_length=255, null=True, verbose_name='avatar', blank=True),
18
+        ),
19
+    ]

+ 2 - 0
group/models.py

@@ -83,6 +83,7 @@ class GroupUserInfo(CreateUpdateMixin):
83 83
     user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识')
84 84
     current_id = models.IntegerField(_(u'current_id'), default=-1, help_text=u'当前群组照片ID')
85 85
     nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户群组昵称')
86
+    avatar = models.CharField(_(u'avatar'), max_length=255, blank=True, null=True, help_text=u'用户头像')
86 87
     admin = models.BooleanField(_(u'admin'), default=False, help_text=u'群组管理员')
87 88
     user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS, default=APPLYING)
88 89
     passed_at = models.DateTimeField(_(u'passed_at'), blank=True, null=True, help_text=_(u'通过时间'))
@@ -101,6 +102,7 @@ class GroupUserInfo(CreateUpdateMixin):
101 102
         return {
102 103
             'user_id': self.user_id,
103 104
             'nickname': self.nickname,
105
+            'avatar': self.avatar,
104 106
             'admin': self.admin,
105 107
         }
106 108
 

+ 22 - 0
group/views.py

@@ -44,6 +44,7 @@ def group_create_api(request):
44 44
         group_id=group_id,
45 45
         user_id=user_id,
46 46
         nickname=user.final_nickname,
47
+        avatar=user.avatar,
47 48
         admin=True,
48 49
         user_status=GroupUserInfo.PASSED,
49 50
         passed_at=tc.utc_datetime(),
@@ -134,6 +135,26 @@ def group_update_api(request):
134 135
     })
135 136
 
136 137
 
138
+def group_list_api(request):
139
+    user_id = request.POST.get('user_id', '')
140
+
141
+    group_users = GroupUserInfo.objects.filter(user_id=user_id)
142
+    groups = []
143
+    for group_user in group_users:
144
+        try:
145
+            groups.append(GroupInfo.objects.get(group_id=group_user.group_id).data)
146
+        except GroupInfo.DoesNotExist:
147
+            pass
148
+
149
+    return JsonResponse({
150
+        'status': 200,
151
+        'message': u'获取群组列表成功',
152
+        'data': {
153
+            'groups': groups,
154
+        },
155
+    })
156
+
157
+
137 158
 def group_join_api(request):
138 159
     group_id = request.POST.get('group_id', '')
139 160
     user_id = request.POST.get('user_id', '')
@@ -173,6 +194,7 @@ def group_join_api(request):
173 194
         user_id=user_id,
174 195
         current_id=group_photo and group_photo.id or -1,
175 196
         nickname=nickname or user.final_nickname,
197
+        avatar=user.avatar,
176 198
         admin=False,
177 199
         user_status=GroupUserInfo.PASSED,
178 200
         passed_at=tc.utc_datetime(),

+ 0 - 61
photo/views.py

@@ -130,20 +130,6 @@ def session_detail_api(request, session):
130 130
         'assign_ip': ip_addr(request),
131 131
         'assign_at': tc.utc_datetime(),
132 132
     })
133
-    # try:
134
-    #     user = UserInfo.objects.get(user_id=user_id)
135
-    # except UserInfo.DoesNotExist:
136
-    #     user = None
137
-    #
138
-    # if not user:
139
-    #     assign_ip, assign_at = ip_addr(request), tc.utc_datetime()
140
-    #     user = UserInfo.objects.create(
141
-    #         user_id=CurtailUUID.uuid(UserInfo, 'user_id'),
142
-    #         user_status=UserInfo.ASSIGN,
143
-    #         assign_ip=assign_ip,
144
-    #         assign_at=assign_at,
145
-    #     )
146
-
147 133
     user_id = user.user_id
148 134
 
149 135
     # 判断通过 session_id 创建的群组是否存在,如果不存在,则直接创建
@@ -153,19 +139,6 @@ def session_detail_api(request, session):
153 139
         'group_from': GroupInfo.SESSION_GROUP,
154 140
         'session_id': session,
155 141
     })
156
-    # try:
157
-    #     group = GroupInfo.objects.get(session_id=session)
158
-    # except GroupInfo.DoesNotExist:
159
-    #     group = None
160
-    #
161
-    # if not group:
162
-    #     group = GroupInfo.objects.create(
163
-    #         group_id=CurtailUUID.uuid(GroupInfo, 'group_id'),
164
-    #         admin_id=user_id,
165
-    #         group_from=GroupInfo.SESSION_GROUP,
166
-    #         session_id=session,
167
-    #     )
168
-
169 142
     group_id = group.group_id
170 143
 
171 144
     # 判断 group_id/user_id 的群组用户是否存在,如果不存在,则直接创建
@@ -178,40 +151,6 @@ def session_detail_api(request, session):
178 151
         'passed_at': tc.utc_datetime(),
179 152
     })
180 153
 
181
-    # try:
182
-    #     group = GroupInfo.objects.get(session_id=session)
183
-    #     group_id = group.group_id
184
-    #     group_photo = GroupPhotoInfo.objects.filter(group_id=group_id).last()
185
-    #     if not GroupUserInfo.objects.filter(
186
-    #         group_id=group_id,
187
-    #         user_id=user_id
188
-    #     ).exists():
189
-    #         GroupUserInfo.objects.create(
190
-    #             group_id=group_id,
191
-    #             user_id=user_id,
192
-    #             current_id=group_photo and group_photo.id or -1,
193
-    #             nickname=user.username,
194
-    #             admin=False,
195
-    #             user_status=GroupUserInfo.PASSED,
196
-    #             passed_at=tc.utc_datetime(),
197
-    #         )
198
-    # except GroupInfo.DoesNotExist:
199
-    #     group_id = CurtailUUID.uuid(GroupInfo, 'group_id')
200
-    #     group = GroupInfo.objects.create(
201
-    #         group_id=group_id,
202
-    #         admin_id=user_id,
203
-    #         group_from=GroupInfo.SESSION_GROUP,
204
-    #         session_id=session,
205
-    #     )
206
-    #     GroupUserInfo.objects.create(
207
-    #         group_id=group_id,
208
-    #         user_id=user_id,
209
-    #         nickname=user.username,
210
-    #         admin=True,
211
-    #         user_status=GroupUserInfo.PASSED,
212
-    #         passed_at=tc.utc_datetime(),
213
-    #     )
214
-
215 154
     photos = PhotosInfo.objects.filter(session_id=session)
216 155
     return JsonResponse({
217 156
         'status': 200,