@@ -12,8 +12,8 @@ from utils.redis.rshot import update_member_shot_data |
||
12 | 12 |
|
13 | 13 |
|
14 | 14 |
class GoodsInfoAdmin(admin.ModelAdmin): |
15 |
- list_display = ('good_id', 'good_type', 'title', 'value', 'left_num', 'coupon_id', 'image', 'is_slider', 'slider_image', 'integral', 'fee', 'minlevel', 'only_for_member', 'only_once', 'position', 'status', 'created_at', 'updated_at') |
|
16 |
- list_filter = ('good_type', 'is_slider', 'only_for_member', 'only_once', 'status') |
|
15 |
+ list_display = ('good_id', 'good_type', 'title', 'value', 'left_num', 'coupon_id', 'image', 'is_slider', 'slider_image', 'integral', 'fee', 'minlevel', 'only_for_member', 'only_once', 'position', 'is_upload_qiniu', 'status', 'created_at', 'updated_at') |
|
16 |
+ list_filter = ('good_type', 'is_slider', 'only_for_member', 'only_once', 'is_upload_qiniu', 'status') |
|
17 | 17 |
|
18 | 18 |
|
19 | 19 |
class GoodsOrderInfoAdmin(admin.ModelAdmin): |
@@ -76,8 +76,8 @@ class ShotTypeInfoAdmin(DeleteModelAdmin, admin.ModelAdmin): |
||
76 | 76 |
|
77 | 77 |
|
78 | 78 |
class MemberActivityInfoAdmin(admin.ModelAdmin): |
79 |
- list_display = ('activity_id', 'title', 'subtitle', 'date', 'city', 'location', 'lat', 'lon', 'image', 'is_slider', 'slider_image', 'position', 'status', 'created_at', 'updated_at') |
|
80 |
- list_filter = ('is_slider', 'status') |
|
79 |
+ list_display = ('activity_id', 'title', 'subtitle', 'date', 'city', 'location', 'lat', 'lon', 'image', 'is_slider', 'slider_image', 'position', 'is_upload_qiniu', 'status', 'created_at', 'updated_at') |
|
80 |
+ list_filter = ('is_slider', 'is_upload_qiniu', 'status') |
|
81 | 81 |
|
82 | 82 |
|
83 | 83 |
class MemberActivitySignupInfoAdmin(admin.ModelAdmin): |
@@ -0,0 +1,25 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+# Generated by Django 1.11.29 on 2021-11-24 10:50 |
|
3 |
+from __future__ import unicode_literals |
|
4 |
+ |
|
5 |
+from django.db import migrations, models |
|
6 |
+ |
|
7 |
+ |
|
8 |
+class Migration(migrations.Migration): |
|
9 |
+ |
|
10 |
+ dependencies = [ |
|
11 |
+ ('member', '0030_rightinfo_is_continue_send_coupon'), |
|
12 |
+ ] |
|
13 |
+ |
|
14 |
+ operations = [ |
|
15 |
+ migrations.AddField( |
|
16 |
+ model_name='goodsinfo', |
|
17 |
+ name='is_upload_qiniu', |
|
18 |
+ field=models.BooleanField(default=False, help_text='\u662f\u5426\u5df2\u4e0a\u4f20\u4e03\u725b', verbose_name='is_upload_qiniu'), |
|
19 |
+ ), |
|
20 |
+ migrations.AddField( |
|
21 |
+ model_name='memberactivityinfo', |
|
22 |
+ name='is_upload_qiniu', |
|
23 |
+ field=models.BooleanField(default=False, help_text='\u662f\u5426\u5df2\u4e0a\u4f20\u4e03\u725b', verbose_name='is_upload_qiniu'), |
|
24 |
+ ), |
|
25 |
+ ] |
@@ -12,6 +12,7 @@ from TimeConvert import TimeConvert as tc |
||
12 | 12 |
from coupon.models import CouponInfo |
13 | 13 |
from mch.models import ModelInfo |
14 | 14 |
from simditor.fields import RichTextField |
15 |
+from utils.qiniucdn import qiniu_file_url |
|
15 | 16 |
|
16 | 17 |
|
17 | 18 |
class GoodsInfo(BaseModelMixin): |
@@ -51,6 +52,8 @@ class GoodsInfo(BaseModelMixin): |
||
51 | 52 |
|
52 | 53 |
position = models.IntegerField(_(u'position'), default=1, help_text=u'排序', db_index=True) |
53 | 54 |
|
55 |
+ is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=_(u'是否已上传七牛')) |
|
56 |
+ |
|
54 | 57 |
class Meta: |
55 | 58 |
verbose_name = _(u'会员商品信息') |
56 | 59 |
verbose_name_plural = _(u'会员商品信息') |
@@ -64,7 +67,7 @@ class GoodsInfo(BaseModelMixin): |
||
64 | 67 |
|
65 | 68 |
@property |
66 | 69 |
def image_url(self): |
67 |
- return upload_file_url(self.image) |
|
70 |
+ return qiniu_file_url(self.image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.image) |
|
68 | 71 |
|
69 | 72 |
@property |
70 | 73 |
def slider_image_path(self): |
@@ -72,7 +75,7 @@ class GoodsInfo(BaseModelMixin): |
||
72 | 75 |
|
73 | 76 |
@property |
74 | 77 |
def slider_image_url(self): |
75 |
- return upload_file_url(self.slider_image) |
|
78 |
+ return qiniu_file_url(self.slider_image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.slider_image) |
|
76 | 79 |
|
77 | 80 |
def has_member_exchange(self, user_id=None): |
78 | 81 |
if not self.only_for_member: |
@@ -380,6 +383,8 @@ class MemberActivityInfo(BaseModelMixin): |
||
380 | 383 |
|
381 | 384 |
position = models.IntegerField(_(u'position'), default=1, help_text=u'排序', db_index=True) |
382 | 385 |
|
386 |
+ is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=_(u'是否已上传七牛')) |
|
387 |
+ |
|
383 | 388 |
class Meta: |
384 | 389 |
verbose_name = _(u'会员活动信息') |
385 | 390 |
verbose_name_plural = _(u'会员活动信息') |
@@ -393,7 +398,7 @@ class MemberActivityInfo(BaseModelMixin): |
||
393 | 398 |
|
394 | 399 |
@property |
395 | 400 |
def image_url(self): |
396 |
- return upload_file_url(self.image) |
|
401 |
+ return qiniu_file_url(self.image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.image) |
|
397 | 402 |
|
398 | 403 |
@property |
399 | 404 |
def cover_path(self): |
@@ -401,7 +406,7 @@ class MemberActivityInfo(BaseModelMixin): |
||
401 | 406 |
|
402 | 407 |
@property |
403 | 408 |
def cover_url(self): |
404 |
- return upload_file_url(self.cover) |
|
409 |
+ return qiniu_file_url(self.cover.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.cover) |
|
405 | 410 |
|
406 | 411 |
@property |
407 | 412 |
def slider_image_path(self): |
@@ -409,7 +414,7 @@ class MemberActivityInfo(BaseModelMixin): |
||
409 | 414 |
|
410 | 415 |
@property |
411 | 416 |
def slider_image_url(self): |
412 |
- return upload_file_url(self.slider_image) |
|
417 |
+ return qiniu_file_url(self.slider_image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.slider_image) |
|
413 | 418 |
|
414 | 419 |
@property |
415 | 420 |
def final_state(self): |