| @@ -23,8 +23,9 @@ from coupon.models import CouponInfo, UserCouponInfo | ||
| 23 | 23 | from integral.models import SaleclerkSubmitLogInfo | 
| 24 | 24 | from logs.models import AdministratorLoginLogInfo, ComplementCodeLogInfo, MchInfoEncryptLogInfo | 
| 25 | 25 | from mch.models import AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, ModelInfo | 
| 26 | -from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, MemberActivityGroupShareInfo, | |
| 27 | - MemberActivityInfo, MemberActivitySignupInfo) | |
| 26 | +from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, | |
| 27 | + MemberActivityContributionWelfareInfo, MemberActivityGroupShareInfo, MemberActivityInfo, | |
| 28 | + MemberActivitySignupInfo) | |
| 28 | 29 | from pre.custom_message import sendtemplatemessage, sendwxasubscribemessage | 
| 29 | 30 | from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo | 
| 30 | 31 | from utils.error.errno_utils import (AdministratorStatusCode, ComplementCodeStatusCode, | 
| @@ -992,7 +993,7 @@ def member_activity_list(request): | ||
| 992 | 993 | }) | 
| 993 | 994 |  | 
| 994 | 995 |  | 
| 995 | -def member_activity_details(request): | |
| 996 | +def member_activity_detail(request): | |
| 996 | 997 |      brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | 
| 997 | 998 |      admin_id = request.POST.get('admin_id', '') | 
| 998 | 999 |      activity_id = request.POST.get('activity_id', '') | 
| @@ -1010,10 +1011,8 @@ def member_activity_details(request): | ||
| 1010 | 1011 | except MemberActivityInfo.DoesNotExist: | 
| 1011 | 1012 | return response() | 
| 1012 | 1013 |  | 
| 1013 | - log = log.admindetails | |
| 1014 | - | |
| 1015 | 1014 |      return response(200, 'Get Member Activity Record Details Success', u'获取会员活动详情成功', data={ | 
| 1016 | - 'log': log, | |
| 1015 | + 'log': log.admindetails, | |
| 1017 | 1016 | }) | 
| 1018 | 1017 |  | 
| 1019 | 1018 |  | 
| @@ -1257,6 +1256,128 @@ def member_activity_contribute_selected(request): | ||
| 1257 | 1256 | return response(200, 'Member Activity Contribution Selected Success', u'会员活动投稿入围成功') | 
| 1258 | 1257 |  | 
| 1259 | 1258 |  | 
| 1259 | +def member_activity_contribute_welfare_list(request): | |
| 1260 | +    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | |
| 1261 | +    admin_id = request.POST.get('admin_id', '') | |
| 1262 | +    welfare_type = request.POST.get('welfare_type', '') | |
| 1263 | +    welfare_title = request.POST.get('welfare_title', '') | |
| 1264 | +    page = request.POST.get('page', 1) | |
| 1265 | +    num = request.POST.get('num', 20) | |
| 1266 | + | |
| 1267 | + if brand_id != settings.KODO_DEFAULT_BRAND_ID: | |
| 1268 | + return response(ProductBrandStatusCode.BRAND_NOT_MATCH) | |
| 1269 | + | |
| 1270 | + try: | |
| 1271 | + administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) | |
| 1272 | + except AdministratorInfo.DoesNotExist: | |
| 1273 | + return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) | |
| 1274 | + | |
| 1275 | + welfares = MemberActivityContributionWelfareInfo.objects.filter(status=True) | |
| 1276 | + | |
| 1277 | + if welfare_type: | |
| 1278 | + welfares = welfares.filter(welfare_type=welfare_type) | |
| 1279 | + | |
| 1280 | + if welfare_title: | |
| 1281 | + welfares = welfares.filter(welfare_title__icontains=welfare_title) | |
| 1282 | + | |
| 1283 | +    welfares = welfares.order_by('-pk') | |
| 1284 | + | |
| 1285 | + count = welfares.count() | |
| 1286 | + welfares, left = pagination(welfares, page, num) | |
| 1287 | + welfares = [welfare.data for welfare in welfares] | |
| 1288 | + | |
| 1289 | +    return response(200, 'Get Member Activity Contribute Welfare List Success', u'获取会员活动投稿福利列表成功', data={ | |
| 1290 | + 'welfares': welfares, | |
| 1291 | + 'left': left, | |
| 1292 | + 'count': count | |
| 1293 | + }) | |
| 1294 | + | |
| 1295 | + | |
| 1296 | +def member_activity_contribute_welfare_detail(request): | |
| 1297 | +    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | |
| 1298 | +    admin_id = request.POST.get('admin_id', '') | |
| 1299 | +    welfare_id = request.POST.get('welfare_id', '') | |
| 1300 | + | |
| 1301 | + if brand_id != settings.KODO_DEFAULT_BRAND_ID: | |
| 1302 | + return response(ProductBrandStatusCode.BRAND_NOT_MATCH) | |
| 1303 | + | |
| 1304 | + try: | |
| 1305 | + administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) | |
| 1306 | + except AdministratorInfo.DoesNotExist: | |
| 1307 | + return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) | |
| 1308 | + | |
| 1309 | + try: | |
| 1310 | + welfare = MemberActivityContributionWelfareInfo.objects.get(welfare_id=welfare_id) | |
| 1311 | + except MemberActivityContributionWelfareInfo.DoesNotExist: | |
| 1312 | + return response() | |
| 1313 | + | |
| 1314 | +    return response(200, 'Get Member Activity Contribute Welfare Detail Success', u'获取会员活动投稿福利详情成功', data={ | |
| 1315 | + 'welfare': welfare.data, | |
| 1316 | + }) | |
| 1317 | + | |
| 1318 | + | |
| 1319 | +def member_activity_contribute_welfare_update(request): | |
| 1320 | +    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | |
| 1321 | +    admin_id = request.POST.get('admin_id', '') | |
| 1322 | +    welfare_id = request.POST.get('welfare_id', '') | |
| 1323 | +    welfare_type = int(request.POST.get('welfare_type', 0)) | |
| 1324 | +    welfare_title = request.POST.get('welfare_title', '') | |
| 1325 | +    welfare_detail = request.POST.get('welfare_detail', '') | |
| 1326 | +    welfare_value = request.POST.get('welfare_value', '') | |
| 1327 | +    welfare_image_path = request.POST.get('welfare_image_path', '') | |
| 1328 | + | |
| 1329 | + if brand_id != settings.KODO_DEFAULT_BRAND_ID: | |
| 1330 | + return response(ProductBrandStatusCode.BRAND_NOT_MATCH) | |
| 1331 | + | |
| 1332 | + try: | |
| 1333 | + administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) | |
| 1334 | + except AdministratorInfo.DoesNotExist: | |
| 1335 | + return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) | |
| 1336 | + | |
| 1337 | + try: | |
| 1338 | + welfare = MemberActivityContributionWelfareInfo.objects.get(welfare_id=welfare_id, status=True) | |
| 1339 | + except MemberActivityContributionWelfareInfo.DoesNotExist: | |
| 1340 | + return response() | |
| 1341 | + | |
| 1342 | + welfare.welfare_type = welfare_type | |
| 1343 | + welfare.welfare_title = welfare_title | |
| 1344 | + welfare.welfare_detail = welfare_detail | |
| 1345 | + welfare.welfare_value = welfare_value | |
| 1346 | + welfare.welfare_image = welfare_image_path | |
| 1347 | + welfare.save() | |
| 1348 | + | |
| 1349 | + return response(200, 'Update Member Activity Contribute Welfare Success', u'更新会员活动投稿福利成功') | |
| 1350 | + | |
| 1351 | + | |
| 1352 | +def member_activity_contribute_welfare_create(request): | |
| 1353 | +    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | |
| 1354 | +    admin_id = request.POST.get('admin_id', '') | |
| 1355 | +    welfare_type = int(request.POST.get('welfare_type', 0)) | |
| 1356 | +    welfare_title = request.POST.get('welfare_title', '') | |
| 1357 | +    welfare_detail = request.POST.get('welfare_detail', '') | |
| 1358 | +    welfare_value = request.POST.get('welfare_value', '') | |
| 1359 | +    welfare_image_path = request.POST.get('welfare_image_path', '') | |
| 1360 | + | |
| 1361 | + if brand_id != settings.KODO_DEFAULT_BRAND_ID: | |
| 1362 | + return response(ProductBrandStatusCode.BRAND_NOT_MATCH) | |
| 1363 | + | |
| 1364 | + try: | |
| 1365 | + administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) | |
| 1366 | + except AdministratorInfo.DoesNotExist: | |
| 1367 | + return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) | |
| 1368 | + | |
| 1369 | + MemberActivityContributionWelfareInfo.objects.create( | |
| 1370 | + brand_id=administrator.brand_id, | |
| 1371 | + welfare_type=welfare_type, | |
| 1372 | + welfare_title=welfare_title, | |
| 1373 | + welfare_detail=welfare_detail, | |
| 1374 | + welfare_value=welfare_value, | |
| 1375 | + welfare_image=welfare_image_path, | |
| 1376 | + ) | |
| 1377 | + | |
| 1378 | + return response(200, 'Create Member Activity Contribute Welfare Success', u'创建会员活动投稿福利成功') | |
| 1379 | + | |
| 1380 | + | |
| 1260 | 1381 | def coupon_list(request): | 
| 1261 | 1382 |      brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | 
| 1262 | 1383 |      admin_id = request.POST.get('admin_id', '') | 
| @@ -1294,7 +1415,7 @@ def coupon_list(request): | ||
| 1294 | 1415 | }) | 
| 1295 | 1416 |  | 
| 1296 | 1417 |  | 
| 1297 | -def coupon_details(request): | |
| 1418 | +def coupon_detail(request): | |
| 1298 | 1419 |      brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | 
| 1299 | 1420 |      admin_id = request.POST.get('admin_id', '') | 
| 1300 | 1421 |      coupon_id = request.POST.get('coupon_id', '') | 
| @@ -1449,7 +1570,7 @@ def member_goods_list(request): | ||
| 1449 | 1570 | }) | 
| 1450 | 1571 |  | 
| 1451 | 1572 |  | 
| 1452 | -def member_goods_details(request): | |
| 1573 | +def member_goods_detail(request): | |
| 1453 | 1574 |      brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) | 
| 1454 | 1575 |      admin_id = request.POST.get('admin_id', '') | 
| 1455 | 1576 |      good_id = request.POST.get('good_id', '') | 
| @@ -165,7 +165,7 @@ urlpatterns += [ | ||
| 165 | 165 | url(r'^admin/member/goods/order/batch/update$', admin_views.member_goods_order_batch_update, name='member_goods_order_batch_update'), | 
| 166 | 166 |  | 
| 167 | 167 | url(r'^admin/member/activity/list$', admin_views.member_activity_list, name='member_activity_list'), | 
| 168 | - url(r'^admin/member/activity/details$', admin_views.member_activity_details, name='member_activity_details'), | |
| 168 | + url(r'^admin/member/activity/details$', admin_views.member_activity_detail, name='member_activity_detail'), | |
| 169 | 169 | url(r'^admin/member/activity/update$', admin_views.member_activity_update, name='member_activity_update'), | 
| 170 | 170 | url(r'^admin/member/activity/create$', admin_views.member_activity_create, name='member_activity_create'), | 
| 171 | 171 | url(r'^admin/member/activity/share/list$', admin_views.member_activity_share_list, name='member_activity_share_list'), | 
| @@ -175,14 +175,19 @@ urlpatterns += [ | ||
| 175 | 175 | url(r'^admin/member/activity/contribute/audit$', admin_views.member_activity_contribute_audit, name='admin_member_activity_contribute_audit'), | 
| 176 | 176 | url(r'^admin/member/activity/contribute/selected$', admin_views.member_activity_contribute_selected, name='admin_member_activity_contribute_selected'), | 
| 177 | 177 |  | 
| 178 | + url(r'^admin/member/activity/contribute/welfare/list$', admin_views.member_activity_contribute_welfare_list, name='member_activity_contribute_welfare_list'), | |
| 179 | + url(r'^admin/member/activity/contribute/welfare/detail$', admin_views.member_activity_contribute_welfare_detail, name='member_activity_contribute_welfare_detail'), | |
| 180 | + url(r'^admin/member/activity/contribute/welfare/update$', admin_views.member_activity_contribute_welfare_update, name='member_activity_contribute_welfare_update'), | |
| 181 | + url(r'^admin/member/activity/contribute/welfare/create$', admin_views.member_activity_contribute_welfare_create, name='member_activity_contribute_welfare_create'), | |
| 182 | + | |
| 178 | 183 | url(r'^admin/coupon/list$', admin_views.coupon_list, name='coupon_list'), | 
| 179 | - url(r'^admin/coupon/details$', admin_views.coupon_details, name='coupon_update'), | |
| 184 | + url(r'^admin/coupon/details$', admin_views.coupon_detail, name='coupon_detail'), | |
| 180 | 185 | url(r'^admin/coupon/create$', admin_views.coupon_create, name='coupon_create'), | 
| 181 | 186 | url(r'^admin/coupon/update$', admin_views.coupon_update, name='coupon_update'), | 
| 182 | 187 | url(r'^admin/coupon/delete$', admin_views.coupon_delete, name='coupon_delete'), | 
| 183 | 188 |  | 
| 184 | 189 | url(r'^admin/member/goods/list$', admin_views.member_goods_list, name='member_goods_list'), | 
| 185 | - url(r'^admin/member/goods/details$', admin_views.member_goods_details, name='member_goods_details'), | |
| 190 | + url(r'^admin/member/goods/details$', admin_views.member_goods_detail, name='member_goods_detail'), | |
| 186 | 191 | url(r'^admin/member/goods/create$', admin_views.member_goods_create, name='member_goods_create'), | 
| 187 | 192 | url(r'^admin/member/goods/update$', admin_views.member_goods_update, name='member_goods_update'), | 
| 188 | 193 |  | 
| @@ -5,9 +5,9 @@ from django.contrib import admin | ||
| 5 | 5 | from django_admin import DeleteModelAdmin | 
| 6 | 6 |  | 
| 7 | 7 | from account.models import UserInfo | 
| 8 | -from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, MemberActivityGroupShareInfo, | |
| 9 | - MemberActivityInfo, MemberActivitySigninInfo, MemberActivitySignupInfo, RightInfo, | |
| 10 | - ShotTypeInfo) | |
| 8 | +from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, | |
| 9 | + MemberActivityContributionWelfareInfo, MemberActivityGroupShareInfo, MemberActivityInfo, | |
| 10 | + MemberActivitySigninInfo, MemberActivitySignupInfo, RightInfo, ShotTypeInfo) | |
| 11 | 11 | from pre.custom_message import sendwxasubscribemessage | 
| 12 | 12 | from utils.redis.rshot import update_member_shot_data | 
| 13 | 13 |  | 
| @@ -103,6 +103,11 @@ class MemberActivityContributionInfoAdmin(admin.ModelAdmin): | ||
| 103 | 103 |      list_filter = ('activity_id', 'content_type', 'is_audit_pass', 'is_selected', 'status') | 
| 104 | 104 |  | 
| 105 | 105 |  | 
| 106 | +class MemberActivityContributionWelfareInfoAdmin(admin.ModelAdmin): | |
| 107 | +    list_display = ('welfare_id', 'welfare_type', 'welfare_title', 'welfare_detail', 'welfare_value', 'welfare_image', 'status', 'created_at', 'updated_at') | |
| 108 | +    list_filter = ('welfare_type', 'status') | |
| 109 | + | |
| 110 | + | |
| 106 | 111 | admin.site.register(GoodsInfo, GoodsInfoAdmin) | 
| 107 | 112 | admin.site.register(GoodsOrderInfo, GoodsOrderInfoAdmin) | 
| 108 | 113 | admin.site.register(RightInfo, RightInfoAdmin) | 
| @@ -112,3 +117,4 @@ admin.site.register(MemberActivitySignupInfo, MemberActivitySignupInfoAdmin) | ||
| 112 | 117 | admin.site.register(MemberActivitySigninInfo, MemberActivitySigninInfoAdmin) | 
| 113 | 118 | admin.site.register(MemberActivityGroupShareInfo, MemberActivityGroupShareInfoAdmin) | 
| 114 | 119 | admin.site.register(MemberActivityContributionInfo, MemberActivityContributionInfoAdmin) | 
| 120 | +admin.site.register(MemberActivityContributionWelfareInfo, MemberActivityContributionWelfareInfoAdmin) | 
| @@ -0,0 +1,43 @@ | ||
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +# Generated by Django 3.2.16 on 2022-10-24 17:41 | |
| 3 | + | |
| 4 | +from django.db import migrations, models | |
| 5 | +import django_models_ext.fileext | |
| 6 | +import shortuuidfield.fields | |
| 7 | +import simditor.fields | |
| 8 | + | |
| 9 | + | |
| 10 | +class Migration(migrations.Migration): | |
| 11 | + | |
| 12 | + dependencies = [ | |
| 13 | +        ('member', '0037_auto_20221023_2010'), | |
| 14 | + ] | |
| 15 | + | |
| 16 | + operations = [ | |
| 17 | + migrations.CreateModel( | |
| 18 | + name='MemberActivityContributionWelfareInfo', | |
| 19 | + fields=[ | |
| 20 | +                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | |
| 21 | +                ('status', models.BooleanField(default=True, help_text='Status', verbose_name='status')), | |
| 22 | +                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')), | |
| 23 | +                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')), | |
| 24 | +                ('brand_id', models.CharField(blank=True, db_index=True, help_text='品牌唯一标识', max_length=32, null=True, verbose_name='brand_id')), | |
| 25 | +                ('brand_name', models.CharField(blank=True, help_text='品牌名称', max_length=255, null=True, verbose_name='brand_name')), | |
| 26 | +                ('welfare_id', shortuuidfield.fields.ShortUUIDField(blank=True, db_index=True, editable=False, help_text='福利唯一标识', max_length=22, null=True, unique=True)), | |
| 27 | +                ('welfare_type', models.IntegerField(choices=[(0, '实物'), (1, '积分'), (2, '虚拟')], db_index=True, default=0, help_text='福利类型', verbose_name='welfare_type')), | |
| 28 | +                ('welfare_title', models.CharField(blank=True, help_text='福利标题', max_length=255, null=True, verbose_name='welfare_title')), | |
| 29 | +                ('welfare_detail', simditor.fields.RichTextField(blank=True, help_text='福利详情', null=True, verbose_name='welfare_detail')), | |
| 30 | +                ('welfare_value', models.IntegerField(default=0, help_text='福利数量', verbose_name='welfare_value')), | |
| 31 | +                ('welfare_image', models.ImageField(blank=True, help_text='福利图片', null=True, upload_to=django_models_ext.fileext.upload_path, verbose_name='welfare_image')), | |
| 32 | + ], | |
| 33 | +            options={ | |
| 34 | + 'verbose_name': '会员活动投稿福利信息', | |
| 35 | + 'verbose_name_plural': '会员活动投稿福利信息', | |
| 36 | + }, | |
| 37 | + ), | |
| 38 | + migrations.AlterField( | |
| 39 | + model_name='memberactivitycontributioninfo', | |
| 40 | + name='content_type', | |
| 41 | + field=models.IntegerField(choices=[(0, '投稿'), (1, '创作日记')], db_index=True, default=0, help_text='内容类型', verbose_name='content_type'), | |
| 42 | + ), | |
| 43 | + ] | 
| @@ -0,0 +1,19 @@ | ||
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +# Generated by Django 3.2.16 on 2022-10-24 17:59 | |
| 3 | + | |
| 4 | +from django.db import migrations, models | |
| 5 | + | |
| 6 | + | |
| 7 | +class Migration(migrations.Migration): | |
| 8 | + | |
| 9 | + dependencies = [ | |
| 10 | +        ('member', '0038_auto_20221025_0141'), | |
| 11 | + ] | |
| 12 | + | |
| 13 | + operations = [ | |
| 14 | + migrations.AddField( | |
| 15 | + model_name='memberactivitycontributionwelfareinfo', | |
| 16 | + name='is_upload_qiniu', | |
| 17 | + field=models.BooleanField(default=False, help_text='是否已上传七牛', verbose_name='is_upload_qiniu'), | |
| 18 | + ), | |
| 19 | + ] | 
| @@ -718,3 +718,53 @@ class MemberActivityContributionInfo(BaseModelMixin): | ||
| 718 | 718 | 'video_url': self.video_url or '', | 
| 719 | 719 | 'created_at': tc.local_string(utc_dt=self.created_at), | 
| 720 | 720 | } | 
| 721 | + | |
| 722 | + | |
| 723 | +class MemberActivityContributionWelfareInfo(BaseModelMixin): | |
| 724 | + WELFARE_TYPE = ( | |
| 725 | + (0, u'实物'), | |
| 726 | + (1, u'积分'), | |
| 727 | + (2, u'虚拟'), | |
| 728 | + ) | |
| 729 | + | |
| 730 | + brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True) | |
| 731 | + brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称') | |
| 732 | + | |
| 733 | + welfare_id = ShortUUIDField(_(u'welfare_id'), max_length=32, blank=True, null=True, help_text=u'福利唯一标识', db_index=True, unique=True) | |
| 734 | + | |
| 735 | + welfare_type = models.IntegerField(_(u'welfare_type'), choices=WELFARE_TYPE, default=0, help_text=u'福利类型', db_index=True) | |
| 736 | + | |
| 737 | + welfare_title = models.CharField(_(u'welfare_title'), max_length=255, blank=True, null=True, help_text=u'福利标题') | |
| 738 | + welfare_detail = RichTextField(_(u'welfare_detail'), blank=True, null=True, help_text=u'福利详情') | |
| 739 | + welfare_value = models.IntegerField(_(u'welfare_value'), default=0, help_text=_(u'福利数量')) | |
| 740 | + welfare_image = models.ImageField(_(u'welfare_image'), upload_to=upload_path, blank=True, null=True, help_text=u'福利图片') | |
| 741 | + | |
| 742 | + is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=_(u'是否已上传七牛')) | |
| 743 | + | |
| 744 | + class Meta: | |
| 745 | + verbose_name = _(u'会员活动投稿福利信息') | |
| 746 | + verbose_name_plural = _(u'会员活动投稿福利信息') | |
| 747 | + | |
| 748 | + def __unicode__(self): | |
| 749 | + return '%d' % self.pk | |
| 750 | + | |
| 751 | + @property | |
| 752 | + def welfare_image_path(self): | |
| 753 | + return upload_file_path(self.welfare_image) | |
| 754 | + | |
| 755 | + @property | |
| 756 | + def welfare_image_url(self): | |
| 757 | + return qiniu_file_url(self.welfare_image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.welfare_image) | |
| 758 | + | |
| 759 | + @property | |
| 760 | + def data(self): | |
| 761 | +        return { | |
| 762 | + 'welfare_id': self.welfare_id, | |
| 763 | + 'welfare_type': self.welfare_type, | |
| 764 | + 'welfare_type_str': dict(MemberActivityContributionWelfareInfo.WELFARE_TYPE).get(self.welfare_type), | |
| 765 | + 'welfare_title': self.welfare_title, | |
| 766 | + 'welfare_detail': self.welfare_detail, | |
| 767 | + 'welfare_value': self.welfare_value, | |
| 768 | + 'welfare_image_url': self.welfare_image_url, | |
| 769 | + 'welfare_image_path': self.welfare_image_path, | |
| 770 | + } |