liugc 1 éve
szülő
commit
3ec40cdc35

+ 3 - 0
app/adminapi/lists/master_worker/MasterWorkerLists.php

@@ -105,12 +105,14 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
     {
         $fields = ['mw.*','mwr.maintain_exp_type','mwr.other_exp_type'];
         $orders = ['mw.id' => 'desc'];
+        $having = 'mw.id > 0';
         $queryWhere = $this->queryWhere();
         //dd($queryWhere,$this->searchWhere);
         // 派单搜索条件 - 订单坐标距离排序
         if($this->lat && $this->lon){
             $fields[] = Db::raw('ROUND(6371* 1000 * ACOS(COS(RADIANS('.$this->lat.')) * COS(RADIANS(mw.lat)) * COS(RADIANS(mw.lon) - RADIANS('.$this->lon.')) + SIN(RADIANS('.$this->lat.')) * SIN(RADIANS(mw.lat))), 2) AS user_distance');
             $orders = 'user_distance';
+            $having = '(user_distance - mw.distance) <= 0';
         }
         $list = MasterWorker::alias('mw')
             ->join('master_worker_register mwr', 'mwr.worker_id = mw.id')
@@ -118,6 +120,7 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
             ->where($queryWhere)
             ->field($fields)
             ->limit($this->limitOffset, $this->limitLength)
+            ->having($having)
             ->order($orders)
             ->select()->toArray();
         $workCount = array_column(ServiceWork::where('master_worker_id','>',0)

+ 1 - 1
app/api/logic/GoodsLogic.php

@@ -31,7 +31,7 @@ class GoodsLogic extends BaseLogic
             ])->select()->toArray();
         }else{
             $goods_category_id = Goods::where('id',$id)->value('goods_category_id');
-            $goods = Goods::where(['goods_category_id'=>$goods_category_id,'user_id'=>0])->visible([
+            $goods = Goods::where(['goods_category_id'=>$goods_category_id,'user_id'=>0,'is_agent'=>0])->visible([
                 'id','goods_image','goods_name','goods_banners','good_unit','sell_num','base_service_fee',
                 'service_total','service_fee','service_image','fee_schedule','warranty_period','goods_payment_type','goods_category_id'
             ])->select()->toArray();

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

@@ -65,16 +65,19 @@ class PerformanceLogic extends BaseLogic
             $work->worker_price = $worker_price;
 
             // 缴纳质保金
-            $masterWorkerInfo = MasterWorker::where('id', $work->master_worker_id)->findOrEmpty()->toArray();
+            $masterWorkerInfo = MasterWorker::where('id', $work->master_worker_id)->where('retention_money_status', 1)->findOrEmpty()->toArray();
             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($settlement_amount, bcdiv($masterWorkerInfo['installment_ratio'], 100, 4),2);
+                $amount = bcmul($work->work_total, 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'] = "分期缴纳质保金:该单实提成--{$settlement_amount},分期每单缴纳比例--{$masterWorkerInfo['installment_ratio']}%,缴纳金额--{$amount}";
+                $retentionData['remark'] = "分期缴纳质保金:工单实付金额--{$work->work_total},分期每单缴纳比例--{$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;

+ 18 - 0
app/workerapi/logic/MasterWorkerLogic.php

@@ -176,16 +176,34 @@ class MasterWorkerLogic extends  BaseLogic
                 if ($idCard->isEmpty()) {
                     return ['code'=>20,'msg'=>'请先完善身份证信息'];
                 }
+                if($idCard->audit_state == 0){
+                    return ['code'=>20,'msg'=>'身份证信息核验中,请等待核验完成'];
+                }
+                if($idCard->audit_state == 2){
+                    return ['code'=>20,'msg'=>'身份证信息核验不通过,请重新填写'];
+                }
                 //验证银行卡信息是否审核通过
                 $bank = BankAccount::where(['worker_id'=>$userId])->findOrEmpty();
                 if ($bank->isEmpty()) {
                     return ['code'=>21,'msg'=>'请先完善银行卡信息'];
                 }
+                if($bank->audit_state == 0){
+                    return ['code'=>21,'msg'=>'银行卡信息核验中,请等待核验完成'];
+                }
+                if($bank->audit_state == 2){
+                    return ['code'=>21,'msg'=>'银行卡信息核验不通过,请重新填写'];
+                }
                 //验证协议信息是否审核通过
                 $agree = MasterWorkerAgree::where(['worker_id'=>$userId])->findOrEmpty();
                 if ($agree->isEmpty()) {
                     return ['code'=>21,'msg'=>'请先签写协议信息'];
                 }
+                if($agree->audit_state == 0){
+                    return ['code'=>21,'msg'=>'协议信息核验中,请等待核验完成'];
+                }
+                if($agree->audit_state == 2){
+                    return ['code'=>21,'msg'=>'协议信息核验不通过,请重新签写'];
+                }
             }
 
             MasterWorker::update($upData);