:art: TencentCloudStatusCode

huangqimin001 9 ヶ月 前
コミット
defac2db9d
共有3 個のファイルを変更した22 個の追加5 個の削除を含む
  1. 4 0
      api/lensman/contract_admin_views.py
  2. 13 5
      api/lensman/contract_mp_views.py
  3. 5 0
      utils/error/errno_utils.py

+ 4 - 0
api/lensman/contract_admin_views.py

@@ -6,6 +6,7 @@ from django_response import response
6 6
 
7 7
 from apps.contract.models import LensmanContributionContractInfo
8 8
 from kodo.decorators import check_admin
9
+from utils.error.errno_utils import TencentCloudStatusCode
9 10
 from utils.tencentcloud.ess import describe_file_urls
10 11
 
11 12
 
@@ -18,6 +19,9 @@ def get_signed_contribtion_contract_file_api(request, administrator):
18 19
     contract = LensmanContributionContractInfo.objects.filter(contribution_id=contribution_id, user_id=user_id).first()
19 20
 
20 21
     describe_file_urls_result = describe_file_urls(business_id=contract.flow_id)
22
+    if not describe_file_urls_result:
23
+        return response(TencentCloudStatusCode.TENCENT_CLOUD_SDK_EXCEPTION)
24
+
21 25
     FileUrls = describe_file_urls_result.FileUrls
22 26
 
23 27
     return response(200, data={

+ 13 - 5
api/lensman/contract_mp_views.py

@@ -93,7 +93,6 @@ def upload_contribution_images(contribution_id):
93 93
 
94 94
     contribtuon = MemberActivityContributionInfo.objects.get(contribution_id=contribution_id)
95 95
 
96
-    # TODO: 从 MemberActivityContributionInfo 生成 files 对象
97 96
     file_urls = [image['image_url'] for image in contribtuon.images]
98 97
     file_names = [file_url.split('/')[-1] for file_url in file_urls]
99 98
     file_type = file_names[0].split('.')[-1]
@@ -110,6 +109,8 @@ def upload_contribution_images(contribution_id):
110 109
     # file_type = 'png'
111 110
     upload_files_result = upload_document_files(files, file_type=file_type)
112 111
     # upload_files_result = test_upload_document_files(files, file_type=file_type)
112
+    if not upload_files_result:
113
+        return []
113 114
 
114 115
     return upload_files_result.FileIds
115 116
 
@@ -130,6 +131,8 @@ def create_contribution_contract_flow(lensman):
130 131
         "ApproverIdCardNumber": lensman.identity_card_number,
131 132
     }]
132 133
     create_flow_result = create_flow(flow_name=FlowName, flow_type=FlowType, approvers=Approvers)
134
+    if not create_flow_result:
135
+        return ''
133 136
 
134 137
     return create_flow_result.FlowId
135 138
 
@@ -153,21 +156,24 @@ def create_contribution_contract_document(lensman, contribution_id, file_ids, Fl
153 156
         "ComponentValue": "零",
154 157
     }]
155 158
 
156
-    for i, file_id in enumerate(file_ids):
159
+    for idx, file_id in enumerate(file_ids):
157 160
         FormFields.append({
158
-            "ComponentId": "ComponentId_" + str(37 + i),
161
+            "ComponentId": "ComponentId_" + str(37 + idx),
159 162
             "ComponentValue": file_id,
160 163
         })
161 164
     create_document_result = create_document(flow_id=FlowId, form_fields=FormFields)
162
-    document_id = create_document_result.DocumentId
165
+    if not create_document_result:
166
+        return '', FormFields
163 167
 
164
-    return document_id, FormFields
168
+    return create_document_result.DocumentId, FormFields
165 169
 
166 170
 
167 171
 def start_contribution_contract_flow(FlowId):
168 172
     # 发起签署流程 https://qian.tencent.com/developers/companyApis/startFlows/StartFlow
169 173
 
170 174
     start_flow_result = start_flow(flow_id=FlowId)
175
+    if not start_flow_result:
176
+        return ''
171 177
 
172 178
     return start_flow_result.Status
173 179
 
@@ -176,6 +182,8 @@ def get_contribtion_contract_sign_mppath(lensman, FlowId):
176 182
     # 获取签署链接 https://qian.tencent.com/developers/companyApis/startFlows/CreateSchemeUrl
177 183
 
178 184
     create_scheme_url_result = create_scheme_url(flow_id=FlowId, name=lensman.identity_card_name, mobile=lensman.phone, card_type='ID_CARD', card_number=lensman.identity_card_number)
185
+    if not create_scheme_url_result:
186
+        return ''
179 187
 
180 188
     return create_scheme_url_result.SchemeUrl
181 189
 

+ 5 - 0
utils/error/errno_utils.py

@@ -224,3 +224,8 @@ class TenancyStatusCode(BaseStatusCode):
224 224
     TENANCY_SHOT_ALREADY_EXIST = StatusCodeField(509002, 'Tenancy Shot Already Exist', description=u'租赁镜头已存在')
225 225
 
226 226
     TENANCY_SHOT_REQUEST_NOT_FOUND = StatusCodeField(509011, 'Tenancy Shot Request Not Found', description=u'租赁镜头申请不存在')
227
+
228
+
229
+class TencentCloudStatusCode(BaseStatusCode):
230
+    """ 腾讯云SDK错误码 5099xx """
231
+    TENCENT_CLOUD_SDK_EXCEPTION = StatusCodeField(509901, 'Tencent Cloud SDK Exception', description=u'腾讯云SDK报错')