Просмотр исходного кода

Merge branch 'master' of e.coding.net:zdap/weixiu/weixiu_api into zaxiang_m

liugc 1 год назад
Родитель
Сommit
a62e05bee2
1 измененных файлов с 3 добавлено и 89 удалено
  1. 3 89
      app/api/logic/PerformanceLogic.php

+ 3 - 89
app/api/logic/PerformanceLogic.php

@@ -301,8 +301,7 @@ class PerformanceLogic extends BaseLogic
         Db::startTrans();
         try {
 
-
-            $masterWorkerAccountLog = MasterWorkerAccountLog::where('action',1)->where('worker_id',$work->master_worker_id)->where('work_sn',$work->work_sn)->findOrEmpty();
+            /*$masterWorkerAccountLog = MasterWorkerAccountLog::where('action',1)->where('worker_id',$work->master_worker_id)->where('work_sn',$work->work_sn)->findOrEmpty();
             $masterWorkerRetentionMoneyLog = MasterWorkerRetentionMoneyLog::where('action',1)->where('work_id',$work->id)->where('worker_id',$work->master_worker_id)->findOrEmpty();
             $masterWorker = MasterWorker::where('id', $work->master_worker_id)->findOrEmpty();
             if(!$masterWorkerRetentionMoneyLog->isEmpty()){
@@ -319,95 +318,10 @@ class PerformanceLogic extends BaseLogic
             }
             $masterWorker->save();
 
+            OrderEffectiveLog::where('work_id',$work->id)->delete();
 
+            self::calculatePerformance($work);*/
 
-            //工单已完结,进行结算,结算完成后设置work_pay_status为2,已结算
-            //获取工单对应的商品id
-            $order_sns = RechargeOrder::where('work_id',$work->id)->column('sn');
-            $goods_id = OrderGoods::whereIn('sn',$order_sns)->value('goods_id');
-            $rule = PerformanceRules::whereFindInSet('goods_id',$goods_id)->findOrEmpty();
-            if($rule->isEmpty()){
-                $work->work_pay_status = 3;
-            }else{
-                $work->work_pay_status = 2;
-            }
-            Log::info('calculatePerformance:'.json_encode($rule->toArray()));
-            //工程师金额结算
-            if(!$rule->isEmpty()){
-                $coupon_price = RechargeOrder::where('work_id',$work->id)->sum('coupon_price');
-                switch ($rule['type']){
-                    case 0:
-                    case 1://按照结算金额结算
-                    case 2:
-                        $worker_price = $work->work_amount;
-                        $settlement_amount = bcmul($worker_price, $rule['rate'],2);
-                        break;
-                }
-                $work->worker_price = $worker_price;
-
-                // 缴纳质保金
-                $masterWorkerInfo = MasterWorker::where('id', $work->master_worker_id)->where('retention_money_status', 1)->findOrEmpty()->toArray();
-                Log::info('缴纳质保金工程师信息:'.json_encode($masterWorkerInfo));
-                if(!empty($masterWorkerInfo) && $masterWorkerInfo['retention_pay_status'] == 2 && ($masterWorkerInfo['earnest_money'] > $masterWorkerInfo['earnest_money_usable'])){
-                    $retentionData['action'] = WorkerAccountLogEnum::INC;
-                    $retentionData['worker_id'] = $work->master_worker_id;
-                    $retentionData['work_id'] = $work->id;
-                    $amount = bcmul($worker_price, bcdiv($masterWorkerInfo['installment_ratio'], 100, 4),2);
-                    //$amount = bcmul($settlement_amount, bcdiv($masterWorkerInfo['installment_ratio'], 100, 4),2);
-                    $retentionData['amount'] = $amount;
-                    //$retentionData['remark'] = "分期缴纳质保金:该单实提成--{$settlement_amount},分期每单缴纳比例--{$masterWorkerInfo['installment_ratio']}%,缴纳金额--{$amount}";
-                    $retentionData['remark'] = "分期缴纳质保金:工单提成--{$worker_price},分期每单缴纳比例--{$masterWorkerInfo['installment_ratio']}%,缴纳金额--{$amount}";
-                    $settlement_amount -= (float)$amount;
-                    $surplusMoney = RetentionMoneyLogic::retentionPayment($retentionData);
-                    Log::info('分期缴纳质保金:'.$surplusMoney,$retentionData);
-                    if($surplusMoney === false){
-                        Log::info('分期缴纳质保金支付失败-'.RetentionMoneyLogic::getError(),$retentionData);
-                        $settlement_amount += (float)$amount;
-                    }else{
-                        $settlement_amount += (float)$surplusMoney;
-
-                        $work->earnest_money = $amount - $surplusMoney;//质保金金额
-                    }
-                }
-
-                if($settlement_amount<0){
-                    //修改工单为待结算,后台处理
-                    $work->work_pay_status = 3;
-                }
-
-                //工程师可提现金额
-                $work->settlement_amount = $settlement_amount;
-
-                //工程师加单金额判定
-                //$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;
-                if($work->system_amount < 0){
-                    $work->system_amount = 0;
-                    Log::info('system_amount小于0重置为0:'.$work->system_amount.'='.$worker_price.'-'.$settlement_amount.'-'.$work->earnest_money.'-'.$work->add_work_amount);
-                }
-                //门店结算金额
-                if($work->tenant_id > 0){
-                    $percentage = TenantRatingCommissionLogic::getCommissionByTenantId($work->tenant_id);
-                    if($percentage > 0){
-                        $work->system_amount = bcmul($worker_price, bcdiv($percentage, 100, 4),2);
-                        $work->tenant_all_amount = $worker_price - $work->system_amount;
-                        $work->tenant_amount = $work->tenant_all_amount - $settlement_amount - $work->earnest_money - $work->add_work_amount;
-                    }
-                    Log::info('平台抽成门店的比例:'.'门店ID:'.$work->tenant_id.',平台抽成:'.$percentage);
-                }
-
-                //工程师可提现金额,汇总了加单金额
-                $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.',门店总金额(包含工程师):'.$work->tenant_all_amount . ',门店实际金额:'.$work->tenant_amount);
-
-                WorkerAccountLogLogic::addAccountLog($work,$settlement_amount,WorkerAccountLogEnum::UM_INC_ADMIN,WorkerAccountLogEnum::INC);
-            }
-            $work->save();
 
             Db::commit();
         } catch (\Exception $e) {