@@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +from django.conf.urls import include, url  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from api.activity import contribution_admin_views  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +urlpatterns = [  | 
            |
| 6 | 
                + url(r'^admin/member/activity/contribute/delete$', contribution_admin_views.member_activity_contribution_delete_api, name='member_activity_contribution_delete_api'),  | 
            |
| 7 | 
                +]  | 
            
                @@ -0,0 +1,23 @@  | 
            ||
| 1 | 
                +from django.db import transaction  | 
            |
| 2 | 
                +from django_query import get_query_value  | 
            |
| 3 | 
                +from django_response import response  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from kodo.decorators import check_admin  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +from member.models import MemberActivityContributionInfo  | 
            |
| 8 | 
                +from utils.error.errno_utils import MemberActivityContributionStatusCode  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +@check_admin  | 
            |
| 11 | 
                +@transaction.atomic  | 
            |
| 12 | 
                +def member_activity_contribution_delete_api(request, administrator):  | 
            |
| 13 | 
                +    contribution_id = request.POST.get('contribution_id', '')
               | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                + try:  | 
            |
| 16 | 
                + contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True)  | 
            |
| 17 | 
                + except MemberActivityContributionInfo.DoesNotExist:  | 
            |
| 18 | 
                + return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND)  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                + contribution.status = True  | 
            |
| 21 | 
                + contribution.save()  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                + return response(200, 'Member Activity Contribution Delete Success', u'会员活动投稿删除成功')  | 
            
                @@ -4,11 +4,15 @@ from django.conf import settings  | 
            ||
| 4 | 4 | 
                from django_logit import logit  | 
            
| 5 | 5 | 
                from django_response import response  | 
            
| 6 | 6 | 
                 | 
            
| 7 | 
                -from apps.contract.models import LensmanContributionContractInfo  | 
            |
| 8 | 7 | 
                from kodo.decorators import check_admin  | 
            
| 9 | 8 | 
                from utils.error.errno_utils import ContractStatusCode, TencentCloudStatusCode  | 
            
| 10 | 9 | 
                from utils.tencentcloud.ess import describe_file_urls  | 
            
| 11 | 10 | 
                 | 
            
| 11 | 
                +from api.lensman import contract_mp_views  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +from apps.contract.models import LensmanContributionContractInfo  | 
            |
| 14 | 
                +from account.models import LensmanInfo  | 
            |
| 15 | 
                +  | 
            |
| 12 | 16 | 
                 | 
            
| 13 | 17 | 
                @logit(res=True)  | 
            
| 14 | 18 | 
                @check_admin  | 
            
                @@ -26,6 +30,40 @@ def get_signed_contribtion_contract_file_api(request, administrator):  | 
            ||
| 26 | 30 | 
                 | 
            
| 27 | 31 | 
                FileUrls = describe_file_urls_result.FileUrls  | 
            
| 28 | 32 | 
                 | 
            
| 29 | 
                -    return response(200, data={
               | 
            |
| 33 | 
                +    return response(200, 'Get Signed Contribution Contract File Success', u'获取投稿授权书文件成功', data={
               | 
            |
| 30 | 34 | 
                'file_url': FileUrls[0].Url  | 
            
| 31 | 35 | 
                })  | 
            
| 36 | 
                +  | 
            |
| 37 | 
                +  | 
            |
| 38 | 
                +@logit(res=True)  | 
            |
| 39 | 
                +@check_admin  | 
            |
| 40 | 
                +def start_contribution_contract_sign_api(request, administrator):  | 
            |
| 41 | 
                +    user_id = request.POST.get('user_id', '')
               | 
            |
| 42 | 
                +    lensman_id = request.POST.get('lensman_id', '')
               | 
            |
| 43 | 
                +    activity_id = request.POST.get('activity_id', '')
               | 
            |
| 44 | 
                +    contribution_id = request.POST.get('contribution_id', '')
               | 
            |
| 45 | 
                +  | 
            |
| 46 | 
                + lensman = LensmanInfo.objects.get(lensman_id=lensman_id)  | 
            |
| 47 | 
                +  | 
            |
| 48 | 
                + contract, _ = LensmanContributionContractInfo.objects.update_or_create(  | 
            |
| 49 | 
                + user_id=user_id,  | 
            |
| 50 | 
                + lensman_id=lensman_id,  | 
            |
| 51 | 
                + activity_id=activity_id,  | 
            |
| 52 | 
                + contribution_id=contribution_id,  | 
            |
| 53 | 
                + )  | 
            |
| 54 | 
                +  | 
            |
| 55 | 
                + file_ids = contract_mp_views.upload_contribution_images(contribution_id)  | 
            |
| 56 | 
                +  | 
            |
| 57 | 
                + flow_id = contract_mp_views.create_contribution_contract_flow(lensman)  | 
            |
| 58 | 
                + contract.flow_id = flow_id  | 
            |
| 59 | 
                + contract.save()  | 
            |
| 60 | 
                +  | 
            |
| 61 | 
                + document_id, fields = contract_mp_views.create_contribution_contract_document(lensman, contribution_id, file_ids, flow_id)  | 
            |
| 62 | 
                + contract.contract_content_fields = fields  | 
            |
| 63 | 
                + contract.document_id = document_id  | 
            |
| 64 | 
                + contract.save()  | 
            |
| 65 | 
                +  | 
            |
| 66 | 
                + # 发起签署流程  | 
            |
| 67 | 
                + flow_status = contract_mp_views.start_contribution_contract_flow(flow_id)  | 
            |
| 68 | 
                +  | 
            |
| 69 | 
                +    return response(200, 'Start Contribution Contract Sign Success', '发起投稿授权书签署成功', data={})
               | 
            
                @@ -14,6 +14,7 @@ urlpatterns = [  | 
            ||
| 14 | 14 | 
                 | 
            
| 15 | 15 | 
                urlpatterns += [  | 
            
| 16 | 16 | 
                url(r'^admin/lensman/contribution/contract/file/get$', contract_admin_views.get_signed_contribtion_contract_file_api, name='get_signed_contribtion_contract_file_api'),  | 
            
| 17 | 
                + url(r'^admin/lensman/contribution/contract/sign/start$', contract_admin_views.start_contribution_contract_sign_api, name='start_contribution_contract_sign_api'),  | 
            |
| 17 | 18 | 
                 | 
            
| 18 | 19 | 
                url(r'^admin/lensman/contribution/income/add$', activity_admin_views.add_lensman_contribution_income_api, name='add_lensman_contribution_income_api'),  | 
            
| 19 | 20 | 
                ]  | 
            
                @@ -388,3 +388,9 @@ urlpatterns += [  | 
            ||
| 388 | 388 | 
                 | 
            
| 389 | 389 | 
                     url(r'', include(('api.lensman.lensman_urls', 'lensman'), namespace='lensman')),
               | 
            
| 390 | 390 | 
                ]  | 
            
| 391 | 
                +  | 
            |
| 392 | 
                +# 会员活动模块  | 
            |
| 393 | 
                +urlpatterns += [  | 
            |
| 394 | 
                +    url(r'', include(('api.activity.activity_urls', 'activity'), namespace='activity')),
               | 
            |
| 395 | 
                +  | 
            |
| 396 | 
                +]  |