mopybird 1 ano atrás
pai
commit
ef0a137bf3
1 arquivos alterados com 20 adições e 15 exclusões
  1. 20 15
      apps/web/common/views.py

+ 20 - 15
apps/web/common/views.py

@@ -546,11 +546,11 @@ def aliNotify(request):
 
 
         sign_model = AliUserAgreementSign.objects(externalAgreementNo = external_agreement_no).first()
         sign_model = AliUserAgreementSign.objects(externalAgreementNo = external_agreement_no).first()
         if sign_model:
         if sign_model:
-            sign_model.agreementNo = payload['agreement_no']
-            sign_model.signTime = datetime.datetime.strptime(payload['sign_time'], "%Y-%m-%d %H:%M:%S")
-            sign_model.save()
-
             if payload['status'] == 'NORMAL' and sign_model.attachParas['action'] == 'make_fund_account_book':
             if payload['status'] == 'NORMAL' and sign_model.attachParas['action'] == 'make_fund_account_book':
+                sign_model.agreementNo = payload['agreement_no']
+                sign_model.signTime = datetime.datetime.strptime(payload['sign_time'], "%Y-%m-%d %H:%M:%S")
+                sign_model.save()
+
                 agreementNo = sign_model.agreementNo
                 agreementNo = sign_model.agreementNo
                 certNo = sign_model.attachParas['certNo']
                 certNo = sign_model.attachParas['certNo']
 
 
@@ -1035,14 +1035,19 @@ def makeAliUserAgreementSign(request):
 
 
     gateway = PlatformPayGatewayUtil.get_ali_isv_pay_gateway()
     gateway = PlatformPayGatewayUtil.get_ali_isv_pay_gateway()
 
 
-    signModel = AliUserAgreementSign.issue(
-        cooperAppId = gateway.appid,
-        external_agreement_no = AliUserAgreementSign.makeNo(companyName),
-        external_logon_id = companyName,
-        attach = {
-            'action': 'make_fund_account_book',
-            'certNo': certNo
-        })
+    signModel = AliUserAgreementSign.objects(
+        externalLogonId = companyName,
+        attachParas__action = 'make_fund_account_book',
+        attachParas__certNo = certNo).first()
+    if not signModel:
+        signModel = AliUserAgreementSign.issue(
+            cooperAppId = gateway.appid,
+            external_agreement_no = AliUserAgreementSign.makeNo(companyName),
+            external_logon_id = companyName,
+            attach = {
+                'action': 'make_fund_account_book',
+                'certNo': certNo
+            })
 
 
     url = gateway.create_transfer_agreement_sign(signModel, notify_url = ALIPAY_NOTIFY_URL)
     url = gateway.create_transfer_agreement_sign(signModel, notify_url = ALIPAY_NOTIFY_URL)
     return JsonOkResponse(payload = {
     return JsonOkResponse(payload = {
@@ -1063,10 +1068,10 @@ def queryAliUserAgreementSign(request):
 
 
     result = isvGateway.query_transfer_agreement(signModel)
     result = isvGateway.query_transfer_agreement(signModel)
 
 
-    signModel.agreementNo = result['agreement_no']
-    signModel.save()
-
     if result['status'] == 'NORMAL' and signModel.attachParas['action'] == 'make_fund_account_book':
     if result['status'] == 'NORMAL' and signModel.attachParas['action'] == 'make_fund_account_book':
+        signModel.agreementNo = result['agreement_no']
+        signModel.save()
+
         agreementNo = signModel.agreementNo
         agreementNo = signModel.agreementNo
         certNo = signModel.attachParas['certNo']
         certNo = signModel.attachParas['certNo']