新增接口

FFIB 8 ヶ月 前
コミット
c7d527ee11
共有6 個のファイルを変更した77 個の追加2 個の削除を含む
  1. 0 0
      api/activity/__init__.py
  2. 7 0
      api/activity/activity_urls.py
  3. 23 0
      api/activity/contribution_admin_views.py
  4. 40 2
      api/lensman/contract_admin_views.py
  5. 1 0
      api/lensman/lensman_urls.py
  6. 6 0
      api/urls.py

+ 0 - 0
api/activity/__init__.py


+ 7 - 0
api/activity/activity_urls.py

@@ -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
+]

+ 23 - 0
api/activity/contribution_admin_views.py

@@ -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'会员活动投稿删除成功')

+ 40 - 2
api/lensman/contract_admin_views.py

@@ -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={})

+ 1 - 0
api/lensman/lensman_urls.py

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

+ 6 - 0
api/urls.py

@@ -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
+]