Przeglądaj źródła

Merge branch 'master' of e.coding.net:zdap/weixiu/weixiu_api into commission-m

liugc 1 rok temu
rodzic
commit
676fd3ef0f

+ 9 - 1
app/api/logic/PerformanceLogic.php

@@ -5,6 +5,7 @@ namespace app\api\logic;
 use app\common\enum\worker\WorkerAccountLogEnum;
 use app\common\logic\BaseLogic;
 use app\common\logic\EffectiveLogic;
+use app\common\logic\WorkAddMoneyLogic;
 use app\common\logic\WorkerAccountLogLogic;
 use app\common\model\master_commission\MasterWorkerCommissionConfig;
 use app\common\model\master_commission\MasterWorkerCommissionRatio;
@@ -98,11 +99,18 @@ class PerformanceLogic extends BaseLogic
             $work->settlement_amount = $settlement_amount;
 
             //工程师加单金额判定
-            $work->add_work_amount = 0;
+            //$add_work_amount = 0;测试
+            $add_work_amount = WorkAddMoneyLogic::checkAddWork($work,$worker_price);
+            $work->add_work_amount = $add_work_amount;
 
             //系统回收金额
             $work->system_amount = $worker_price-$settlement_amount-$work->earnest_money-$work->add_work_amount;
 
+            //工程师可提现金额,汇总了加单金额
+            $settlement_amount += (float)$work->add_work_amount;
+
+            Log::info('工单'.$work->id.',总服务费:'.$worker_price.'可提现金额:'.$settlement_amount.',加单金额:'.$work->add_work_amount.',缴纳质保金:'.$work->earnest_money.',系统回收金额:'.$work->system_amount);
+
             WorkerAccountLogLogic::addAccountLog($work,$settlement_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC);
         }
         $work->save();

+ 23 - 0
app/common/logic/WorkAddMoneyLogic.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace app\common\logic;
+
+use app\common\model\platform_rule\PerformanceWorkerRules;
+
+/**
+ * 加单金额判定和结算处理
+ */
+class WorkAddMoneyLogic extends BaseLogic
+{
+    public static function checkAddWork($work,$worker_price)
+    {
+        if($work->work_type != 2){
+            return 0;
+        }
+        $rule = PerformanceWorkerRules::where('goods_category_ids','find in set',$work->goods_category_id)->findOrEmpty();
+        if($rule->isEmpty()){
+            return 0;
+        }
+        return bcmul($worker_price, $rule['rate'],2);
+    }
+}