jiaweiqi 3 年之前
父节点
当前提交
bbad4cb68f
共有 3 个文件被更改,包括 13 次插入13 次删除
  1. 10 10
      apps/activity/models.py
  2. 1 1
      apps/api/views.py
  3. 2 2
      apps/customer/serializers.py

+ 10 - 10
apps/activity/models.py

@@ -102,16 +102,16 @@ class SplitAccount(models.Model):
         # 解冻剩余资金  如果由于客户或其他原因 无法完成分账  就手动解除资金冻结
         pass
 
-    def handSplitAccont(self, spd, spr, pay):
+    def handSplitAccont(self, spd, spr, pay, app):
         '''手动申请分账(在自动申请分账失败后  手动申请分账)'''
+        if pay.status != Pay.CONFIRM:
+            raise CustomError(u'该订单未完成付款,无法分账!')
         if spd.status == SplitAccountDetail.SUCCESS:
             raise CustomError(u'该分账已成功,禁止重复申请!')
-        appid = ''
-        mchid = ''
         private_key = ''
         cert_serial_no = ''
         apiv3_key = ''
-        spc = SplitAccountFuc(appid, mchid, private_key, cert_serial_no, apiv3_key, cert_dir=None, proxy=None)
+        spc = SplitAccountFuc(app.authorizer_appid, app.agent_num, private_key, cert_serial_no, apiv3_key, cert_dir=None, proxy=None)
         # 状态是"待分账" 的查询分账
         if spd.status == SplitAccountDetail.PENDING:
             self.splictAccountQuery(spc, pay.no, self.no, spd)
@@ -181,15 +181,15 @@ class SplitAccount(models.Model):
                 detail.detail_no = item['detail_id']
                 detail.save()
 
-    def splitAccount(self, spd, spr, pay):
+    def splitAccount(self, app, spd, spr, pay):
+        if pay.status != Pay.CONFIRM:
+            return
         if spd.status != SplitAccountDetail.DEFAULT:
             return
-        appid = ''
-        mchid = ''
         private_key = ''
         cert_serial_no = ''
         apiv3_key = ''
-        spc = SplitAccountFuc(appid, mchid, private_key, cert_serial_no, apiv3_key, cert_dir=None, proxy=None)
+        spc = SplitAccountFuc(app.authorizer_appid, app.agent_num, private_key, cert_serial_no, apiv3_key, cert_dir=None, proxy=None)
 
         if spr.status != SplitAccountReceiver.ADD:
             add = spc.splitaccount_addreceiver(spr.account)
@@ -393,13 +393,13 @@ class Pay(models.Model):
         data = wechatpay.getAppString()
         return data
 
-    def split_account(self):
+    def split_account(self, app):
         order = Order.objects.filter(pay=self).first()
         if order and self.status == Pay.CONFIRM and self.profit_sharing == "Y":
             sp, spd, spr = SplitAccount._addnew(self.branch, self.id, self.rebate, self.recommend_member)
             order.splitaccount = sp
             order.save()
-            sp.splitAccount(spd, spr, self)
+            sp.splitAccount(app, spd, spr, self)
 
 
 class Order(models.Model):

+ 1 - 1
apps/api/views.py

@@ -42,7 +42,7 @@ class WechatNotifyView(APIView):
                 pay.payConfirm(amount)
                 BizLog.objects.addnew(pay.customer.user, BizLog.INSERT, u'微信支付成功,no=%s' % no, param)
             # 微信支付成功之后分账
-            pay.split_account()
+            pay.split_account(app)
         except Exception as e:
             traceback.print_exc()
             return HttpResponse(WechatPayNotify.response_fail())

+ 2 - 2
apps/customer/serializers.py

@@ -43,7 +43,7 @@ class WechatLoginSerializer(serializers.Serializer):
                 'tel': customer_wechat.customer.tel or '',
                 'face': customer_wechat.customer.face or '',
                 'activity_id': activity_id,
-                'customer_id': customer_wechat.customer.id,
+                'user_id': customer_wechat.customer.id,
             }
 
         else:
@@ -70,7 +70,7 @@ class WechatBindSerializer(serializers.Serializer):
                 'tel': customer.tel or '',
                 'face': customer.face or '',
                 'gender': customer.gender or 0,
-                'customer_id': customer.id,
+                'user_id': customer.id,
             }
 
         else: