yingzi 1 year ago
parent
commit
877c4a413b

+ 36 - 0
Dao/CommissionPartner/DNewCommissionBalanceDetail.Class.php

@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * 新分销合伙人表
+ */
+
+namespace JinDouYun\Dao\CommissionPartner;
+
+use JinDouYun\Dao\BaseDao;
+
+class DNewCommissionBalanceDetail extends BaseDao
+{
+    public function __construct($serviceDB = 'default')
+    {
+        $this->_table = 'new_commission_balance_detail';
+        $this->_primary = 'id';
+        $this->_fields = [
+            "id",
+            "type",
+            "title",
+            "code",
+            "money",
+            "content",
+            "admin_id",
+            "customer_id",
+            "partner_id",
+            "cash_id",
+            "old_balance",
+            "now_balance",
+            "time",
+            "expand",
+        ];
+        $this->_readonly = ['id'];
+        parent::__construct($serviceDB);
+    }
+}

+ 36 - 0
Dao/CommissionPartner/DNewCommissionCash.Class.php

@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * 新分销合伙人提现申请表
+ */
+
+namespace JinDouYun\Dao\CommissionPartner;
+
+use JinDouYun\Dao\BaseDao;
+
+class DNewCommissionCash extends BaseDao
+{
+    public function __construct($serviceDB = 'default')
+    {
+        $this->_table = 'new_commission_cash';
+        $this->_primary = 'id';
+        $this->_fields = [
+            "id",
+            "customer_id",
+            "user_center_id",
+            "partner_id",
+            "bank_type",
+            "bank_num",
+            "bank_name",
+            "bank_ad",
+            "audit_mono",
+            "audit_time",
+            "audit_id",
+            "status",
+            "time",
+            "expand",
+        ];
+        $this->_readonly = ['id'];
+        parent::__construct($serviceDB);
+    }
+}

+ 37 - 0
Dao/CommissionPartner/DNewCommissionDetail.Class.php

@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * 新分销合伙人佣金明细表
+ */
+
+namespace JinDouYun\Dao\CommissionPartner;
+
+use JinDouYun\Dao\BaseDao;
+
+class DNewCommissionDetail extends BaseDao
+{
+    public function __construct($serviceDB = 'default')
+    {
+        $this->_table = 'new_commission_detail';
+        $this->_primary = 'id';
+        $this->_fields = [
+            "id",
+            "partnerId",
+            "sourceCustomerId",
+            "title",
+            "orderMoney",
+            "calcMoney",
+            "commission",
+            "per",
+            "type",
+            "orderId",
+            "status",
+            "isUpgrade",
+            "mono",
+            "time",
+            "expand",
+        ];
+        $this->_readonly = ['id'];
+        parent::__construct($serviceDB);
+    }
+}

+ 33 - 0
Dao/CommissionPartner/DNewCommissionPartner.Class.php

@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * 新分销合伙人表
+ */
+
+namespace JinDouYun\Dao\CommissionPartner;
+
+use JinDouYun\Dao\BaseDao;
+
+class DNewCommissionPartner extends BaseDao
+{
+    public function __construct($serviceDB = 'default')
+    {
+        $this->_table = 'new_commission_partner';
+        $this->_primary = 'id';
+        $this->_fields = [
+            "id",
+            "userCenterId",
+            "customerId",
+            "balance",
+            "waitMoney",
+            "withdraw",
+            "totalMoney",
+            "deleteStatus",
+            "createTime",
+            "updateTime",
+            "expand",
+        ];
+        $this->_readonly = ['id'];
+        parent::__construct($serviceDB);
+    }
+}

+ 7 - 0
Dao/Customer/DCustomer.Class.php

@@ -55,6 +55,13 @@ class DCustomer extends BaseDao
             "recommenderType",// tinyint(3) NOT NULL DEFAULT '4' COMMENT '推荐人类型 2, 员工   3, 客户',
             "recommenderType",// tinyint(3) NOT NULL DEFAULT '4' COMMENT '推荐人类型 2, 员工   3, 客户',
             "recommenderId",// int(10) DEFAULT NULL COMMENT '推荐人id',
             "recommenderId",// int(10) DEFAULT NULL COMMENT '推荐人id',
             'is_shareholder',// tinyint DEFAULT '0' COMMENT '是否是股东',
             'is_shareholder',// tinyint DEFAULT '0' COMMENT '是否是股东',
+            
+            "isPartner",
+            "parentPath",
+            "parentPartnerPath",
+            "parentPartnerId",
+            "parentId",
+            "isParentHead",
         ];
         ];
         $this->_readonly = ['id'];
         $this->_readonly = ['id'];
         $this->_create_autofill = [
         $this->_create_autofill = [

+ 57 - 10
Util/Common/PartnerTools.Class.php

@@ -7,16 +7,52 @@ use JinDouYun\Cache\CustomerCache;
 use JinDouYun\Dao\Order\DOrderIndex;
 use JinDouYun\Dao\Order\DOrderIndex;
 use JinDouYun\Dao\Order\DOrder;
 use JinDouYun\Dao\Order\DOrder;
 
 
+use JinDouYun\Dao\CommissionPartner\DNewCommissionBalanceDetail;
+use JinDouYun\Dao\CommissionPartner\DNewCommissionCash;
+use JinDouYun\Dao\CommissionPartner\DNewCommissionDetail;
+use JinDouYun\Dao\CommissionPartner\DNewCommissionPartner;
+
 class PartnerTools{
 class PartnerTools{
     private $dbCustomer;
     private $dbCustomer;
+    
+    private $dbNewCommissionPartner;
+    private $dbNewCommissionDetail;
+    private $dbNewCommissionCash;
+    private $dbNewCommissionBalanceDetail;
+    
+    
     private $enterpriseId;
     private $enterpriseId;
     private $cutTable = 1;//客户按照企业id分表
     private $cutTable = 1;//客户按照企业id分表
     private $errorMsg = "";
     private $errorMsg = "";
     public function __construct($enterpriseId){
     public function __construct($enterpriseId){
         $this->enterpriseId = $enterpriseId;
         $this->enterpriseId = $enterpriseId;
+        //用户表
         $this->dbCustomer = new DCustomer('default');
         $this->dbCustomer = new DCustomer('default');
-        $tableName = $this->dbCustomer->getTableName($this->dbCustomer->get_Table(), $this->enterpriseId, $this->cutTable);
-        $this->dbCustomer->setTable($tableName);
+        $customerTableName = $this->dbCustomer->getTableName($this->dbCustomer->get_Table(), $this->enterpriseId, $this->cutTable);
+        $this->dbCustomer->setTable($customerTableName);
+        
+        //新分销合伙人表
+        $this->dbNewCommissionPartner = new DNewCommissionPartner('default');
+        $newCommissionPartnerTableName = $this->dbNewCommissionPartner->getTableName($this->dbNewCommissionPartner->get_Table(), $this->enterpriseId, $this->cutTable);
+        $this->dbNewCommissionPartner->setTable($newCommissionPartnerTableName);
+        
+        //新分销佣金明细表
+        $this->dbNewCommissionDetail = new DNewCommissionDetail('default');
+        $newCommissionDetailTableName = $this->dbNewCommissionDetail->getTableName($this->dbNewCommissionDetail->get_Table(), $this->enterpriseId, $this->cutTable);
+        $this->dbNewCommissionDetail->setTable($newCommissionDetailTableName);
+        
+        //新分销合伙人提现表
+        $this->dbNewCommissionCash = new DNewCommissionCash('default');
+        $newCommissionCashTableName = $this->dbNewCommissionCash->getTableName($this->dbNewCommissionCash->get_Table(), $this->enterpriseId, $this->cutTable);
+        $this->dbNewCommissionCash->setTable($newCommissionCashTableName);
+        
+        //新分销合伙人余额明细表
+        $this->dbNewCommissionBalanceDetail = new DNewCommissionBalanceDetail('default');
+        $newCommissionBalanceDetailTableName = $this->dbNewCommissionBalanceDetail->getTableName($this->dbNewCommissionBalanceDetail->get_Table(), $this->enterpriseId, $this->cutTable);
+        $this->dbNewCommissionBalanceDetail->setTable($newCommissionBalanceDetailTableName);
+        
+
+        
     }
     }
     
     
     /**
     /**
@@ -136,8 +172,10 @@ class PartnerTools{
             return false;
             return false;
         }
         }
         $per = 0.1;//佣金比例
         $per = 0.1;//佣金比例
+        $isUpgrade = 0;
         if($money>=20000 && $customerData["isPartner"]==0){
         if($money>=20000 && $customerData["isPartner"]==0){
             $per = 0.05;
             $per = 0.05;
+            $isUpgrade = 1;
         }
         }
         $resData=[
         $resData=[
             "childId"=>$customerData["id"],
             "childId"=>$customerData["id"],
@@ -146,7 +184,8 @@ class PartnerTools{
             "parentData"=>$parentData,
             "parentData"=>$parentData,
             "per"=>$per,
             "per"=>$per,
             "money"=>$money,
             "money"=>$money,
-            "commission"=>$money * $per
+            "commission"=>$money * $per,
+            "isUpgrade"=>$isUpgrade
         ];
         ];
         return $resData;
         return $resData;
     }
     }
@@ -213,19 +252,27 @@ class PartnerTools{
                 "per"=>$topData["per"],//佣金比例
                 "per"=>$topData["per"],//佣金比例
                 "type"=>1,//1表示子级合伙人收益计算收益,0表示子级消费计算收益
                 "type"=>1,//1表示子级合伙人收益计算收益,0表示子级消费计算收益
                 "orderId"=>$orderData["id"],
                 "orderId"=>$orderData["id"],
+                "status"=>0,
+                "title"=>"合伙人收益分佣",
+                "isUpgrade"=>$topData["isUpgrade"],
+                "mono"=>"",
                 "time"=>$nowTime,
                 "time"=>$nowTime,
             ];
             ];
         }
         }
         //记录底层收益
         //记录底层收益
         $data[]=[
         $data[]=[
             "orderMoney"=>$orderMoney,//订单支付金额
             "orderMoney"=>$orderMoney,//订单支付金额
-            "calcMoney"=>$topData["money"],//佣金计算金额
-            "sourceCustomerId"=>$topData["childId"],//来源客户id
-            "partnerId"=>$topData["parentId"],//收钱合伙人id
-            "commission"=>$topData["commission"],//佣金金额
-            "per"=>$topData["per"],//佣金比例
+            "calcMoney"=>$bottomData["money"],//佣金计算金额
+            "sourceCustomerId"=>$bottomData["childId"],//来源客户id
+            "partnerId"=>$bottomData["parentId"],//收钱合伙人id
+            "commission"=>$bottomData["commission"],//佣金金额
+            "per"=>$bottomData["per"],//佣金比例
             "type"=>0,
             "type"=>0,
             "orderId"=>$orderData["id"],
             "orderId"=>$orderData["id"],
+            "status"=>0,
+            "title"=>"子级消费分佣",
+            "isUpgrade"=>$bottomData["isUpgrade"],
+            "mono"=>"",
             "time"=>$nowTime,
             "time"=>$nowTime,
         ];
         ];
         //添加佣金余额和明细
         //添加佣金余额和明细
@@ -236,8 +283,8 @@ class PartnerTools{
         
         
         
         
         //佣金更新完后验证设置合伙人
         //佣金更新完后验证设置合伙人
-        if($orderMoney>20000 && $customerData["isPartner"]==0){
-            $this->setPartner($customerData["id"]);
+        if($bottomData["isUpgrade"]==1){
+            $this->setPartner($bottomData["childId"]);
         }
         }