@@ -30,7 +30,8 @@ from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContribution |
||
30 | 30 |
from pre.custom_message import sendtemplatemessage, sendwxasubscribemessage |
31 | 31 |
from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo |
32 | 32 |
from utils.error.errno_utils import (AdministratorStatusCode, ComplementCodeStatusCode, |
33 |
- MemberActivityContributionStatusCode, ProductBrandStatusCode, |
|
33 |
+ MemberActivityContributionStatusCode, MemberActivityContributionWelfareStatusCode, |
|
34 |
+ MemberActivityContributionWelfareUnblockingStatusCode, ProductBrandStatusCode, |
|
34 | 35 |
ProductCouponStatusCode, ProductMachineStatusCode, UserStatusCode) |
35 | 36 |
|
36 | 37 |
|
@@ -1038,7 +1039,7 @@ def member_activity_contribute_welfare_update(request, administrator): |
||
1038 | 1039 |
try: |
1039 | 1040 |
welfare = MemberActivityContributionWelfareInfo.objects.get(welfare_id=welfare_id, status=True) |
1040 | 1041 |
except MemberActivityContributionWelfareInfo.DoesNotExist: |
1041 |
- return response() |
|
1042 |
+ return response(MemberActivityContributionWelfareStatusCode.ACTIVITY_CONTRIBUTION_WELFARE_NOT_FOUND) |
|
1042 | 1043 |
|
1043 | 1044 |
welfare.activity_id = activity_id |
1044 | 1045 |
welfare.welfare_type = welfare_type |
@@ -1096,6 +1097,63 @@ def member_activity_contribute_welfare_unlock(request, administrator): |
||
1096 | 1097 |
return response(200, 'Unlock Member Activity Contribute Welfare Success', u'解锁会员活动投稿福利成功') |
1097 | 1098 |
|
1098 | 1099 |
|
1100 |
+@logit |
|
1101 |
+@check_admin |
|
1102 |
+def member_activity_contribute_welfare_unlocking_list(request, administrator): |
|
1103 |
+ user_id = request.POST.get('user_id', '') |
|
1104 |
+ activity_id = request.POST.get('activity_id', '') |
|
1105 |
+ contribution_id = request.POST.get('contribution_id', '') |
|
1106 |
+ welfare_id = request.POST.get('welfare_id', '') |
|
1107 |
+ page = request.POST.get('page', 1) |
|
1108 |
+ num = request.POST.get('num', 20) |
|
1109 |
+ |
|
1110 |
+ unlockings = MemberActivityContributionWelfareUnlockingInfo.objects.filter(status=True) |
|
1111 |
+ if user_id: |
|
1112 |
+ unlockings = unlockings.filter(user_id=user_id) |
|
1113 |
+ if activity_id: |
|
1114 |
+ unlockings = unlockings.filter(activity_id=activity_id) |
|
1115 |
+ if contribution_id: |
|
1116 |
+ unlockings = unlockings.filter(contribution_id=contribution_id) |
|
1117 |
+ if welfare_id: |
|
1118 |
+ unlockings = unlockings.filter(welfare_id=welfare_id) |
|
1119 |
+ unlockings = unlockings.order_by('-pk') |
|
1120 |
+ unlockings, left = pagination(unlockings, page, num) |
|
1121 |
+ unlockings = [unlocking.data for unlocking in unlockings] |
|
1122 |
+ |
|
1123 |
+ return response(data={ |
|
1124 |
+ 'unlockings': unlockings, |
|
1125 |
+ 'left': left, |
|
1126 |
+ }) |
|
1127 |
+ |
|
1128 |
+ |
|
1129 |
+@logit |
|
1130 |
+@check_admin |
|
1131 |
+@transaction.atomic |
|
1132 |
+def member_activity_contribute_welfare_unlocking_update(request, administrator): |
|
1133 |
+ unlocking_id = request.POST.get('unlocking_id', '') |
|
1134 |
+ name = request.POST.get('name', '') |
|
1135 |
+ phone = request.POST.get('phone', '') |
|
1136 |
+ address = request.POST.get('address', '') |
|
1137 |
+ tracking_number = request.POST.get('tracking_number', '') |
|
1138 |
+ |
|
1139 |
+ try: |
|
1140 |
+ unlocking = MemberActivityContributionWelfareUnlockingInfo.objects.select_for_update().get(unlocking_id=unlocking_id, status=True) |
|
1141 |
+ except MemberActivityContributionWelfareUnlockingInfo.DoesNotExist: |
|
1142 |
+ return response(MemberActivityContributionWelfareUnblockingStatusCode.ACTIVITY_CONTRIBUTION_WELFARE_UNBLOCKING_NOT_FOUND) |
|
1143 |
+ |
|
1144 |
+ if name: |
|
1145 |
+ unlocking.name = name |
|
1146 |
+ if phone: |
|
1147 |
+ unlocking.phone = phone |
|
1148 |
+ if address: |
|
1149 |
+ unlocking.address = address |
|
1150 |
+ if tracking_number: |
|
1151 |
+ unlocking.tracking_number = tracking_number |
|
1152 |
+ unlocking.save() |
|
1153 |
+ |
|
1154 |
+ return response(200, 'Update Member Activity Contribute Welfare Unblocking Success', u'更新会员活动投稿福利解锁成功') |
|
1155 |
+ |
|
1156 |
+ |
|
1099 | 1157 |
@check_admin |
1100 | 1158 |
def coupon_list(request, administrator): |
1101 | 1159 |
title = request.POST.get('title', '') |
@@ -15,11 +15,13 @@ from TimeConvert import TimeConvert as tc |
||
15 | 15 |
|
16 | 16 |
from account.models import UserInfo |
17 | 17 |
from coupon.models import UserCouponInfo |
18 |
-from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, MemberActivityGroupShareInfo, |
|
18 |
+from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, |
|
19 |
+ MemberActivityContributionWelfareUnlockingInfo, MemberActivityGroupShareInfo, |
|
19 | 20 |
MemberActivityInfo, MemberActivitySigninInfo, MemberActivitySignupInfo, RightInfo) |
20 |
-from utils.error.errno_utils import (MemberActivityContributionStatusCode, MemberActivityStatusCode, |
|
21 |
+from utils.error.errno_utils import (MemberActivityContributionStatusCode, |
|
22 |
+ MemberActivityContributionWelfareUnblockingStatusCode, MemberActivityStatusCode, |
|
21 | 23 |
MemberCouponStatusCode, MemberGoodStatusCode, MemberRightStatusCode, |
22 |
- UserStatusCode) |
|
24 |
+ PermissionStatusCode, UserStatusCode) |
|
23 | 25 |
from utils.redis.connect import r |
24 | 26 |
from utils.redis.rkeys import MEMBER_SEND_COUPON_LIST, MEMBER_UPGRADE_INFO |
25 | 27 |
from utils.redis.rshot import get_member_shot_data |
@@ -595,3 +597,70 @@ def activity_contribute_detail(request): |
||
595 | 597 |
return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND) |
596 | 598 |
|
597 | 599 |
return response(data=contribution.data) |
600 |
+ |
|
601 |
+ |
|
602 |
+@logit |
|
603 |
+def activity_contribute_welfare_unlocking_list(request): |
|
604 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
605 |
+ user_id = request.POST.get('user_id', '') |
|
606 |
+ page = request.POST.get('page', 1) |
|
607 |
+ num = request.POST.get('num', 20) |
|
608 |
+ |
|
609 |
+ unlockings = MemberActivityContributionWelfareUnlockingInfo.objects.filter(user_id=user_id, is_handled=False, status=True).order_by('-pk') |
|
610 |
+ unlockings, left = pagination(unlockings, page, num) |
|
611 |
+ unlockings = [unlocking.data for unlocking in unlockings] |
|
612 |
+ |
|
613 |
+ return response(data={ |
|
614 |
+ 'unlockings': unlockings, |
|
615 |
+ 'left': left, |
|
616 |
+ }) |
|
617 |
+ |
|
618 |
+ |
|
619 |
+@logit |
|
620 |
+@transaction.atomic |
|
621 |
+def activity_contribute_welfare_unlocking_update(request): |
|
622 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
623 |
+ unlocking_id = request.POST.get('unlocking_id', '') |
|
624 |
+ user_id = request.POST.get('user_id', '') |
|
625 |
+ name = request.POST.get('name', '') |
|
626 |
+ phone = request.POST.get('phone', '') |
|
627 |
+ address = request.POST.get('address', '') |
|
628 |
+ |
|
629 |
+ try: |
|
630 |
+ unlocking = MemberActivityContributionWelfareUnlockingInfo.objects.select_for_update().get(unlocking_id=unlocking_id, status=True) |
|
631 |
+ except MemberActivityContributionWelfareUnlockingInfo.DoesNotExist: |
|
632 |
+ return response(MemberActivityContributionWelfareUnblockingStatusCode.ACTIVITY_CONTRIBUTION_WELFARE_UNBLOCKING_NOT_FOUND) |
|
633 |
+ |
|
634 |
+ if user_id != unlocking.user_id: |
|
635 |
+ return response(PermissionStatusCode.PERMISSION_DENIED) |
|
636 |
+ |
|
637 |
+ if name: |
|
638 |
+ unlocking.name = name |
|
639 |
+ if phone: |
|
640 |
+ unlocking.phone = phone |
|
641 |
+ if address: |
|
642 |
+ unlocking.address = address |
|
643 |
+ unlocking.save() |
|
644 |
+ |
|
645 |
+ return response(200, 'Update Member Activity Contribute Welfare Unblocking Success', u'更新会员活动投稿福利解锁成功') |
|
646 |
+ |
|
647 |
+ |
|
648 |
+@logit |
|
649 |
+@transaction.atomic |
|
650 |
+def activity_contribute_welfare_unlocking_handled(request): |
|
651 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
652 |
+ unlocking_id = request.POST.get('unlocking_id', '') |
|
653 |
+ user_id = request.POST.get('user_id', '') |
|
654 |
+ |
|
655 |
+ try: |
|
656 |
+ unlocking = MemberActivityContributionWelfareUnlockingInfo.objects.select_for_update().get(unlocking_id=unlocking_id, status=True) |
|
657 |
+ except MemberActivityContributionWelfareUnlockingInfo.DoesNotExist: |
|
658 |
+ return response(MemberActivityContributionWelfareUnblockingStatusCode.ACTIVITY_CONTRIBUTION_WELFARE_UNBLOCKING_NOT_FOUND) |
|
659 |
+ |
|
660 |
+ if user_id != unlocking.user_id: |
|
661 |
+ return response(PermissionStatusCode.PERMISSION_DENIED) |
|
662 |
+ |
|
663 |
+ unlocking.is_handled = True |
|
664 |
+ unlocking.save() |
|
665 |
+ |
|
666 |
+ return response(200, 'Update Member Activity Contribute Welfare Unblocking Success', u'处理会员活动投稿福利解锁成功') |
@@ -175,11 +175,13 @@ 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 |
- url(r'^admin/member/activity/contribute/welfare/unlock$', admin_views.member_activity_contribute_welfare_unlock, name='member_activity_contribute_welfare_unlock'), |
|
178 |
+ url(r'^admin/member/activity/contribute/welfare/list$', admin_views.member_activity_contribute_welfare_list, name='admin_member_activity_contribute_welfare_list'), |
|
179 |
+ url(r'^admin/member/activity/contribute/welfare/detail$', admin_views.member_activity_contribute_welfare_detail, name='admin_member_activity_contribute_welfare_detail'), |
|
180 |
+ url(r'^admin/member/activity/contribute/welfare/update$', admin_views.member_activity_contribute_welfare_update, name='admin_member_activity_contribute_welfare_update'), |
|
181 |
+ url(r'^admin/member/activity/contribute/welfare/create$', admin_views.member_activity_contribute_welfare_create, name='admin_member_activity_contribute_welfare_create'), |
|
182 |
+ url(r'^admin/member/activity/contribute/welfare/unlock$', admin_views.member_activity_contribute_welfare_unlock, name='admin_member_activity_contribute_welfare_unlock'), |
|
183 |
+ url(r'^admin/member/activity/contribute/welfare/unlocking/list$', admin_views.member_activity_contribute_welfare_unlocking_list, name='admin_member_activity_contribute_welfare_unlocking_list'), |
|
184 |
+ url(r'^admin/member/activity/contribute/welfare/unlocking/update$', admin_views.member_activity_contribute_welfare_unlocking_update, name='admin_member_activity_contribute_welfare_unlocking_update'), |
|
183 | 185 |
|
184 | 186 |
url(r'^admin/coupon/list$', admin_views.coupon_list, name='coupon_list'), |
185 | 187 |
url(r'^admin/coupon/details$', admin_views.coupon_detail, name='coupon_detail'), |
@@ -242,6 +244,10 @@ urlpatterns += [ |
||
242 | 244 |
url(r'^member/activity/contribute/list$', member_views.activity_contribute_list, name='member_activity_contribute_list'), |
243 | 245 |
url(r'^member/activity/contribute/detail$', member_views.activity_contribute_detail, name='member_activity_contribute_detail'), |
244 | 246 |
|
247 |
+ url(r'^member/activity/contribute/welfare/unlocking/list$', member_views.activity_contribute_welfare_unlocking_list, name='member_activity_contribute_welfare_unlocking_list'), |
|
248 |
+ url(r'^member/activity/contribute/welfare/unlocking/update$', member_views.activity_contribute_welfare_unlocking_update, name='member_activity_contribute_welfare_unlocking_update'), |
|
249 |
+ url(r'^member/activity/contribute/welfare/unlocking/handled$', member_views.activity_contribute_welfare_unlocking_handled, name='member_activity_contribute_welfare_unlocking_handled'), |
|
250 |
+ |
|
245 | 251 |
url(r'^rights$', member_views.rights, name='rights'), |
246 | 252 |
url(r'^right/detail$', member_views.right_detail, name='right_detail'), |
247 | 253 |
url(r'^goods$', member_views.goods, name='goods'), |
@@ -792,6 +792,10 @@ class MemberActivityContributionWelfareUnlockingInfo(BaseModelMixin, BrandInfoMi |
||
792 | 792 |
|
793 | 793 |
@property |
794 | 794 |
def data(self): |
795 |
+ try: |
|
796 |
+ welfare = MemberActivityContributionWelfareInfo.objects.get(welfare_id=self.welfare_id) |
|
797 |
+ except MemberActivityContributionWelfareInfo.DoesNotExist: |
|
798 |
+ welfare = None |
|
795 | 799 |
return { |
796 | 800 |
'unlocking_id': self.unlocking_id, |
797 | 801 |
'brand_id': self.brand_id, |
@@ -801,6 +805,7 @@ class MemberActivityContributionWelfareUnlockingInfo(BaseModelMixin, BrandInfoMi |
||
801 | 805 |
'activity_id': self.activity_id, |
802 | 806 |
'contribution_id': self.contribution_id, |
803 | 807 |
'welfare_id': self.welfare_id, |
808 |
+ 'welfare': welfare.data if welfare else {}, |
|
804 | 809 |
'name': self.name, |
805 | 810 |
'phone': self.phone, |
806 | 811 |
'address': self.address, |
@@ -100,6 +100,16 @@ class MemberActivityContributionStatusCode(BaseStatusCode): |
||
100 | 100 |
ACTIVITY_CONTRIBUTION_NOT_FOUND = StatusCodeField(503801, 'Activity Contribution Not Found', description=u'活动投稿不存在') |
101 | 101 |
|
102 | 102 |
|
103 |
+class MemberActivityContributionWelfareStatusCode(BaseStatusCode): |
|
104 |
+ """ 会员活动投稿福利相关错误码 5039xx """ |
|
105 |
+ ACTIVITY_CONTRIBUTION_WELFARE_NOT_FOUND = StatusCodeField(503901, 'Activity Contribution Welfare Not Found', description=u'活动投稿福利不存在') |
|
106 |
+ |
|
107 |
+ |
|
108 |
+class MemberActivityContributionWelfareUnblockingStatusCode(BaseStatusCode): |
|
109 |
+ """ 会员活动投稿福利相关错误码 5039xx """ |
|
110 |
+ ACTIVITY_CONTRIBUTION_WELFARE_UNBLOCKING_NOT_FOUND = StatusCodeField(503999, 'Activity Contribution Welfare Unblocking Not Found', description=u'活动投稿福利解锁不存在') |
|
111 |
+ |
|
112 |
+ |
|
103 | 113 |
class MemberCouponStatusCode(BaseStatusCode): |
104 | 114 |
""" 会员优惠券相关错误码 5040xx """ |
105 | 115 |
USER_COUPON_NOT_FOUND = StatusCodeField(504001, 'User Coupon Not Found', description=u'用户优惠券不存在') |