@@ -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', '0014_auto_20160308_2347'),
|
|
| 11 |
+ ] |
|
| 12 |
+ |
|
| 13 |
+ operations = [ |
|
| 14 |
+ migrations.AddField( |
|
| 15 |
+ model_name='groupphotoinfo', |
|
| 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 |
+ ] |
@@ -6,6 +6,8 @@ from django.utils.translation import ugettext_lazy as _ |
||
| 6 | 6 |
|
| 7 | 7 |
from pai2.basemodels import CreateUpdateMixin |
| 8 | 8 |
|
| 9 |
+from utils.url_utils import img_url |
|
| 10 |
+ |
|
| 9 | 11 |
|
| 10 | 12 |
class GroupInfo(CreateUpdateMixin): |
| 11 | 13 |
APP_GROUP = 0 |
@@ -115,6 +117,7 @@ class GroupPhotoInfo(CreateUpdateMixin): |
||
| 115 | 117 |
group_id = models.CharField(_(u'group_id'), max_length=255, blank=True, null=True, help_text=u'群组唯一标识', db_index=True) |
| 116 | 118 |
user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识') |
| 117 | 119 |
nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户群组昵称') |
| 120 |
+ avatar = models.CharField(_(u'avatar'), max_length=255, blank=True, null=True, help_text=u'用户头像') |
|
| 118 | 121 |
photo_path = models.CharField(_(u'photo_path'), max_length=255, blank=True, null=True, help_text=u'照片存放路径') |
| 119 | 122 |
photo_w = models.IntegerField(_(u'photo_w'), default=0, help_text=u'照片宽度') |
| 120 | 123 |
photo_h = models.IntegerField(_(u'photo_h'), default=0, help_text=u'照片高度') |
@@ -133,16 +136,23 @@ class GroupPhotoInfo(CreateUpdateMixin): |
||
| 133 | 136 |
|
| 134 | 137 |
@property |
| 135 | 138 |
def photo_url(self): |
| 136 |
- return u'{0}/{1}'.format(settings.IMG_DOMAIN, self.photo_path) if self.photo_path else ''
|
|
| 139 |
+ return img_url(self.photo_path) |
|
| 137 | 140 |
|
| 138 | 141 |
@property |
| 139 | 142 |
def photo_thumbnail_url(self): |
| 140 |
- return u'{0}/{1}'.format(settings.IMG_DOMAIN, self.photo_thumbnail_path) if self.photo_thumbnail_path else ''
|
|
| 143 |
+ return img_url(self.photo_thumbnail_path) |
|
| 141 | 144 |
|
| 142 | 145 |
@property |
| 143 | 146 |
def photo_info(self): |
| 147 |
+ try: |
|
| 148 |
+ group = GroupInfo.objects.get(group_id=self.group_id) |
|
| 149 |
+ except GroupInfo.DoesNotExist: |
|
| 150 |
+ group = None |
|
| 144 | 151 |
return {
|
| 145 |
- 'user_id': self.user_id, |
|
| 152 |
+ 'group_id': group and group.group_id, |
|
| 153 |
+ 'group_name': group and group.group_name, |
|
| 154 |
+ 'group_default_avatar': group and group.group_default_avatar, |
|
| 155 |
+ 'group_avatar': group and group.group_avatar, |
|
| 146 | 156 |
'photo_id': self.pk, |
| 147 | 157 |
'photo_url': self.photo_url, |
| 148 | 158 |
'photo_w': self.photo_w, |
@@ -150,8 +160,12 @@ class GroupPhotoInfo(CreateUpdateMixin): |
||
| 150 | 160 |
'photo_thumbnail_url': self.photo_thumbnail_url, |
| 151 | 161 |
'photo_thumbnail_w': self.photo_thumbnail_w, |
| 152 | 162 |
'photo_thumbnail_h': self.photo_thumbnail_h, |
| 163 |
+ 'user_id': self.user_id, |
|
| 164 |
+ 'nickname': self.nickname, |
|
| 165 |
+ 'avatar': self.avatar, |
|
| 153 | 166 |
'comment_num': self.comment_num, |
| 154 | 167 |
'thumbup_num': self.thumbup_num, |
| 168 |
+ 'created_at': self.created_at, |
|
| 155 | 169 |
} |
| 156 | 170 |
|
| 157 | 171 |
|
@@ -15,6 +15,7 @@ from group.serializers import GroupInfoSerializer, GroupUserInfoSerializer, Grou |
||
| 15 | 15 |
|
| 16 | 16 |
from utils.page_utils import pagination |
| 17 | 17 |
from utils.thumbnail_utils import make_thumb |
| 18 |
+from utils.url_utils import img_url |
|
| 18 | 19 |
|
| 19 | 20 |
from utils.error.errno_utils import UserStatusCode, GroupStatusCode, GroupPhotoStatusCode |
| 20 | 21 |
from utils.error.response_utils import response |
@@ -411,6 +412,7 @@ def flyimg_upload_api(request): |
||
| 411 | 412 |
group_id=group_id, |
| 412 | 413 |
user_id=user_id, |
| 413 | 414 |
nickname=nickname, |
| 415 |
+ avatar=user.avatar, |
|
| 414 | 416 |
photo_path=photo_path, |
| 415 | 417 |
photo_w=photo_w, |
| 416 | 418 |
photo_h=photo_h, |
@@ -653,7 +655,7 @@ def pai2_home_api(request): |
||
| 653 | 655 |
num = int(request.POST.get('num', settings.PAI2_HOME_PER_PAGE))
|
| 654 | 656 |
|
| 655 | 657 |
cursor = connection.cursor() |
| 656 |
- cursor.execute(r"select T1.group_id, T2.group_name, T2.group_default_avatar, T2.group_avatar, T3.photo_thumbnail_path, T3.photo_thumbnail_w, T3.photo_thumbnail_h, T3.comment_num, T3.thumbup_num, T3.created_at from (select * from group_groupuserinfo where user_id='{user_id}') as T1 left outer join group_groupinfo as T2 on T1.group_id = T2.group_id left outer join group_groupphotoinfo as T3 on T1.group_id = T3.group_id and T3.id > T1.current_id order by T3.id desc, T3.thumbup_num desc limit {offset}, {rows};".format(
|
|
| 658 |
+ cursor.execute(r"select T1.group_id, T2.group_name, T2.group_default_avatar, T2.group_avatar, T3.id, T3.photo_path, T3.photo_w, T3.photo_h, T3.photo_thumbnail_path, T3.photo_thumbnail_w, T3.photo_thumbnail_h, T3.user_id, T3.nickname, T3.avatar, T3.comment_num, T3.thumbup_num, T3.created_at from (select * from group_groupuserinfo where user_id='{user_id}') as T1 left outer join group_groupinfo as T2 on T1.group_id = T2.group_id left outer join group_groupphotoinfo as T3 on T1.group_id = T3.group_id and T3.id > T1.current_id order by T3.id desc, T3.thumbup_num desc limit {offset}, {rows};".format(
|
|
| 657 | 659 |
user_id=user_id, |
| 658 | 660 |
offset=0, |
| 659 | 661 |
rows=settings.PAI2_HOME_MAX_ROWS, |
@@ -667,12 +669,19 @@ def pai2_home_api(request): |
||
| 667 | 669 |
'group_name': row[1], |
| 668 | 670 |
'group_default_avatar': row[2], |
| 669 | 671 |
'group_avatar': row[3], |
| 670 |
- 'photo_thumbnail_url': u'{0}/{1}'.format(settings.IMG_DOMAIN, row[4]) if row[4] else '',
|
|
| 671 |
- 'photo_thumbnail_w': row[5], |
|
| 672 |
- 'photo_thumbnail_h': row[6], |
|
| 673 |
- 'comment_num': row[7], |
|
| 674 |
- 'thumbup_num': row[8], |
|
| 675 |
- 'created_at': row[9], |
|
| 672 |
+ 'photo_id': row[4], |
|
| 673 |
+ 'photo_url': img_url(row[5]), |
|
| 674 |
+ 'photo_w': row[6], |
|
| 675 |
+ 'photo_h': row[7], |
|
| 676 |
+ 'photo_thumbnail_url': img_url(row[8]), |
|
| 677 |
+ 'photo_thumbnail_w': row[9], |
|
| 678 |
+ 'photo_thumbnail_h': row[10], |
|
| 679 |
+ 'user_id': row[11], |
|
| 680 |
+ 'nickname': row[12], |
|
| 681 |
+ 'avatar': row[13], |
|
| 682 |
+ 'comment_num': row[14], |
|
| 683 |
+ 'thumbup_num': row[15], |
|
| 684 |
+ 'created_at': row[16], |
|
| 676 | 685 |
} for row in rows] |
| 677 | 686 |
|
| 678 | 687 |
return JsonResponse({
|
@@ -6,6 +6,8 @@ from django.utils.translation import ugettext_lazy as _ |
||
| 6 | 6 |
|
| 7 | 7 |
from pai2.basemodels import CreateUpdateMixin |
| 8 | 8 |
|
| 9 |
+from utils.url_utils import img_url |
|
| 10 |
+ |
|
| 9 | 11 |
|
| 10 | 12 |
class UUIDInfo(CreateUpdateMixin): |
| 11 | 13 |
uuid = models.CharField(_(u'uuid'), max_length=22, blank=True, null=True, help_text=u'唯一标识', db_index=True, unique=True) |
@@ -49,19 +51,19 @@ class PhotosInfo(CreateUpdateMixin): |
||
| 49 | 51 |
|
| 50 | 52 |
@property |
| 51 | 53 |
def p_photo_url(self): |
| 52 |
- return u'{0}/{1}'.format(settings.IMG_DOMAIN, self.p_photo_path) if self.p_photo_path else ''
|
|
| 54 |
+ return img_url(self.p_photo_path) |
|
| 53 | 55 |
|
| 54 | 56 |
@property |
| 55 | 57 |
def m_photo_url(self): |
| 56 |
- return u'{0}/{1}'.format(settings.IMG_DOMAIN, self.m_photo_path) if self.m_photo_path else ''
|
|
| 58 |
+ return img_url(self.m_photo_path) |
|
| 57 | 59 |
|
| 58 | 60 |
@property |
| 59 | 61 |
def l_photo_url(self): |
| 60 |
- return u'{0}/{1}'.format(settings.IMG_DOMAIN, self.l_photo_path) if self.l_photo_path else ''
|
|
| 62 |
+ return img_url(self.l_photo_path) |
|
| 61 | 63 |
|
| 62 | 64 |
@property |
| 63 | 65 |
def r_photo_url(self): |
| 64 |
- return u'{0}/{1}'.format(settings.IMG_DOMAIN, self.r_photo_path) if self.r_photo_path else ''
|
|
| 66 |
+ return img_url(self.r_photo_path) |
|
| 65 | 67 |
|
| 66 | 68 |
@property |
| 67 | 69 |
def data(self): |
@@ -0,0 +1,7 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+from django.conf import settings |
|
| 4 |
+ |
|
| 5 |
+ |
|
| 6 |
+def img_url(img_path): |
|
| 7 |
+ return u'{0}/{1}'.format(settings.IMG_DOMAIN, img_path) if img_path else ''
|