yingzi 2 роки тому
батько
коміт
e5d70f82bb

+ 31 - 0
Dao/CommissionPartner/DNewCommissionSetting.Class.php

@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * 新分销合伙人表
+ */
+
+namespace JinDouYun\Dao\CommissionPartner;
+
+use JinDouYun\Dao\BaseDao;
+
+class DNewCommissionSetting extends BaseDao
+{
+    public function __construct($serviceDB = 'default')
+    {
+        $this->_table = 'new_commission_setting';
+        $this->_primary = 'id';
+        $this->_fields = [
+            "id",
+            "enterpriseId",
+            "levMoney",
+            "levPer",
+            "incomePer",
+            "bankData",
+            "is_open",
+            "updateTime",
+            "time",
+        ];
+        $this->_readonly = ['id'];
+        parent::__construct($serviceDB);
+    }
+}

+ 29 - 7
Util/Common/PartnerTools.Class.php

@@ -13,6 +13,7 @@ use JinDouYun\Dao\CommissionPartner\DNewCommissionCash;
 use JinDouYun\Dao\CommissionPartner\DNewCommissionDetail;
 use JinDouYun\Dao\CommissionPartner\DNewCommissionPartner;
 use JinDouYun\Dao\CommissionPartner\DNewCommissionTask;
+use JinDouYun\Dao\CommissionPartner\DNewCommissionSetting;
 
 
 class PartnerTools{
@@ -25,11 +26,12 @@ class PartnerTools{
     private $dbNewCommissionCash;
     private $dbNewCommissionBalanceDetail;
     private $dbNewCommissionTask;
+    private $dbNewCommissionSetting;
     
     private $enterpriseId;
     private $cache;
     private $cutTable = 1;//客户按照企业id分表
-    
+    private $commissionSettingData = null;
     private $levMoney = 20000;//升级条件
     private $levPer = 0.05;//升级佣金比例
     private $incomePer = 0.1;//佣金比例
@@ -55,6 +57,9 @@ class PartnerTools{
         //用户账号表
         $this->dbUserCenter = new DUserCenter();
         
+        //设置表
+        $this->dbNewCommissionSetting = new DNewCommissionSetting('default');
+        $this->commissionSettingData = $this->dbNewCommissionSetting->get(["enterpriseId"=>$enterpriseId]);
         
         //订单索引表
         $this->dbOrderIndex = new DOrderIndex();
@@ -107,6 +112,12 @@ class PartnerTools{
             if(empty($orderId) || empty($enterpriseId)){
                 return ["code"=>-1,"msg"=>"参数为空"];
             }
+            $dbSetting = new DNewCommissionSetting('default');
+            $settingData = $dbSetting->get(["enterpriseId"=>$enterpriseId]);
+            if(empty($settingData) || empty($settingData["is_open"]) || $settingData["levMoney"]<=0){
+                return ["code"=>-1,"msg"=>"还未进行分佣配置"];
+            }
+            
             $dbTask = new DNewCommissionTask('default');
             $taskTableName = $dbTask->getTableName($dbTask->get_Table(), $enterpriseId, 1);
             $dbTask->setTable($taskTableName);
@@ -130,7 +141,9 @@ class PartnerTools{
     }
     
     public function runTask(){
-        
+        if(empty($this->commissionSettingData) || empty($this->commissionSettingData["is_open"]) || $this->commissionSettingData["levMoney"]<=0){
+            return ["code"=>-1,"msg"=>"未开启配置"];
+        }
         $key = "partnertaskcache".'::'.$this->enterpriseId;
         $result = $this->cache->get($key);
         if(!empty($result)){
@@ -301,18 +314,22 @@ class PartnerTools{
      * @return bool
      */
     public function calcMoney($customerData,$money){
+        if(empty($this->commissionSettingData) || empty($this->commissionSettingData["is_open"]) || $this->commissionSettingData["levMoney"]<=0){
+            return false;
+        }
+        
         $parentData = $this->getParentPartner($customerData);
         if(empty($parentData) || $parentData["isPartner"]==0){
             //上级合伙人不存在
-            if($money>=$this->levMoney && $customerData["isPartner"]==0){
+            if($money>=$this->commissionSettingData["levMoney"] && $customerData["isPartner"]==0){
                 $this->setPartner($customerData["id"]);
             }
             return false;
         }
-        $per = $this->incomePer;
+        $per = $this->commissionSettingData["incomePer"];
         $isUpgrade = 0;
-        if($money>=$this->levMoney && $customerData["isPartner"]==0){
-            $per = $this->levPer;
+        if($money>=$this->commissionSettingData["levMoney"] && $customerData["isPartner"]==0){
+            $per = $this->commissionSettingData["levPer"];
             $isUpgrade = 1;
         }
         $resData=[
@@ -336,6 +353,11 @@ class PartnerTools{
      * @return bool
      */
     public function runCalcMoneyData($orderId){
+        
+        if(empty($this->commissionSettingData) || empty($this->commissionSettingData["is_open"]) || $this->commissionSettingData["levMoney"]<=0){
+            return ["code"=>-1,"msg"=>"配置信息错误"];
+        }
+        
         //获取订单信息
         if(empty($orderId)){
             return ["code"=>-1,"msg"=>"订单id错误"];
@@ -365,7 +387,7 @@ class PartnerTools{
             return ["code"=>-1,"msg"=>"用户不存在"];
         }
         if(empty($customerData["parentPath"])){
-            if($orderMoney>=$this->levMoney && $customerData["isPartner"]==0){
+            if($orderMoney>=$this->commissionSettingData["levMoney"] && $customerData["isPartner"]==0){
                 $this->setPartner($orderCustomerId);
             }
             return ["code"=>-1,"msg"=>"用户不存在父级"];