@@ -11,6 +11,7 @@ from django.contrib.auth.hashers import make_password |
||
11 | 11 |
from django.db import transaction |
12 | 12 |
from django.db.models import Count, Q, Sum |
13 | 13 |
from django_logit import logit |
14 |
+from django_query import get_query_value |
|
14 | 15 |
from django_response import response |
15 | 16 |
from paginator import pagination |
16 | 17 |
from pysnippets.strsnippets import strip |
@@ -22,11 +23,12 @@ from coupon.models import CouponInfo, UserCouponInfo |
||
22 | 23 |
from integral.models import SaleclerkSubmitLogInfo |
23 | 24 |
from logs.models import AdministratorLoginLogInfo, ComplementCodeLogInfo, MchInfoEncryptLogInfo |
24 | 25 |
from mch.models import AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, ModelInfo |
25 |
-from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityGroupShareInfo, MemberActivityInfo, |
|
26 |
- MemberActivitySignupInfo) |
|
26 |
+from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, MemberActivityGroupShareInfo, |
|
27 |
+ MemberActivityInfo, MemberActivitySignupInfo) |
|
27 | 28 |
from pre.custom_message import sendtemplatemessage, sendwxasubscribemessage |
28 | 29 |
from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo |
29 |
-from utils.error.errno_utils import (AdministratorStatusCode, ComplementCodeStatusCode, ProductBrandStatusCode, |
|
30 |
+from utils.error.errno_utils import (AdministratorStatusCode, ComplementCodeStatusCode, |
|
31 |
+ MemberActivityContributionStatusCode, ProductBrandStatusCode, |
|
30 | 32 |
ProductCouponStatusCode, ProductMachineStatusCode, UserStatusCode) |
31 | 33 |
|
32 | 34 |
|
@@ -1204,6 +1206,58 @@ def member_activity_register_list(request): |
||
1204 | 1206 |
}) |
1205 | 1207 |
|
1206 | 1208 |
|
1209 |
+@transaction.atomic |
|
1210 |
+def member_activity_contribute_audit(request): |
|
1211 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
1212 |
+ admin_id = request.POST.get('admin_id', '') |
|
1213 |
+ contribution_id = request.POST.get('contribution_id', '') |
|
1214 |
+ audit = get_query_value(request, 'audit', val_cast_type='int') |
|
1215 |
+ |
|
1216 |
+ if brand_id != settings.KODO_DEFAULT_BRAND_ID: |
|
1217 |
+ return response(ProductBrandStatusCode.BRAND_NOT_MATCH) |
|
1218 |
+ |
|
1219 |
+ try: |
|
1220 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
1221 |
+ except AdministratorInfo.DoesNotExist: |
|
1222 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
1223 |
+ |
|
1224 |
+ try: |
|
1225 |
+ contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True) |
|
1226 |
+ except MemberActivityContributionInfo.DoesNotExist: |
|
1227 |
+ return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND) |
|
1228 |
+ |
|
1229 |
+ contribution.is_audit_pass = audit |
|
1230 |
+ contribution.save() |
|
1231 |
+ |
|
1232 |
+ return response(200, 'Member Activity Contribution Audit Success', u'会员活动投稿审批成功') |
|
1233 |
+ |
|
1234 |
+ |
|
1235 |
+@transaction.atomic |
|
1236 |
+def member_activity_contribute_selected(request): |
|
1237 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
1238 |
+ admin_id = request.POST.get('admin_id', '') |
|
1239 |
+ contribution_id = request.POST.get('contribution_id', '') |
|
1240 |
+ selected = get_query_value(request, 'selected', val_cast_type='int') |
|
1241 |
+ |
|
1242 |
+ if brand_id != settings.KODO_DEFAULT_BRAND_ID: |
|
1243 |
+ return response(ProductBrandStatusCode.BRAND_NOT_MATCH) |
|
1244 |
+ |
|
1245 |
+ try: |
|
1246 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
1247 |
+ except AdministratorInfo.DoesNotExist: |
|
1248 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
1249 |
+ |
|
1250 |
+ try: |
|
1251 |
+ contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True) |
|
1252 |
+ except MemberActivityContributionInfo.DoesNotExist: |
|
1253 |
+ return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND) |
|
1254 |
+ |
|
1255 |
+ contribution.is_selected = selected |
|
1256 |
+ contribution.save() |
|
1257 |
+ |
|
1258 |
+ return response(200, 'Member Activity Contribution Selected Success', u'会员活动投稿入围成功') |
|
1259 |
+ |
|
1260 |
+ |
|
1207 | 1261 |
def coupon_list(request): |
1208 | 1262 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
1209 | 1263 |
admin_id = request.POST.get('admin_id', '') |
@@ -171,6 +171,10 @@ urlpatterns += [ |
||
171 | 171 |
url(r'^admin/member/activity/share/list$', admin_views.member_activity_share_list, name='member_activity_share_list'), |
172 | 172 |
url(r'^admin/member/activity/register/list$', admin_views.member_activity_register_list, name='member_activity_register_list'), |
173 | 173 |
|
174 |
+ url(r'^admin/member/activity/contribute/list$', member_views.activity_contribute_list, name='admin_member_activity_contribute_list'), |
|
175 |
+ url(r'^admin/member/activity/contribute/audit$', admin_views.member_activity_contribute_audit, name='admin_member_activity_contribute_audit'), |
|
176 |
+ url(r'^admin/member/activity/contribute/selected$', admin_views.member_activity_contribute_selected, name='admin_member_activity_contribute_selected'), |
|
177 |
+ |
|
174 | 178 |
url(r'^admin/coupon/list$', admin_views.coupon_list, name='coupon_list'), |
175 | 179 |
url(r'^admin/coupon/details$', admin_views.coupon_details, name='coupon_update'), |
176 | 180 |
url(r'^admin/coupon/create$', admin_views.coupon_create, name='coupon_create'), |
@@ -1,3 +1,4 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
1 | 2 |
# Generated by Django 3.2.16 on 2022-10-23 12:10 |
2 | 3 |
|
3 | 4 |
from django.db import migrations, models |
@@ -667,8 +667,8 @@ class MemberActivityGroupShareInfo(BaseModelMixin): |
||
667 | 667 |
class MemberActivityContributionInfo(BaseModelMixin): |
668 | 668 |
CONTENT_TYPE = ( |
669 | 669 |
(0, u'投稿'), |
670 |
- (1, u'入围'), |
|
671 |
- (2, u'创作日记'), |
|
670 |
+ (1, u'创作日记'), |
|
671 |
+ # (2, u'入围'), |
|
672 | 672 |
) |
673 | 673 |
|
674 | 674 |
brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True) |