@@ -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) |