(float)$params['user_money'])){ $batch_number = 'bn' . date('YmdHis') . rand(1000, 9999); $params['deadline_time'] = $deadline_time = strtotime($params['deadline_time'])+86400; FinancialPaymentRecords::create([ 'export_conditions' => $params, 'batch_number' => $batch_number, 'upload_status' => 1, 'payment_status' => 1, ]); MasterSettlementDetails::where('master_worker_id',$params['id']) ->where('change_time', '<', $deadline_time) ->where('status', '=', 1) ->update([ 'status' => 2, 'batch_number' => $batch_number, ]); $insertXlsData = []; $insertXlsData[0] = [ 'master_worker_id' => $params['id'], 'worker_number' => $params['worker_number'], 'engineer_name' => $params['account_holder'], 'bank_account' => $params['bank_account'], 'bank_name' => $params['bank_name'], 'opening_branch' => $params['opening_branch'], 'original_balance' => $params['user_money'], 'total_settlement_amount' => $params['left_amount'], 'payment_status' => 0, 'is_export' => 1, 'batch_number'=> $batch_number, 'create_time'=> time(), 'update_time'=> time(), 'admin_id'=> 0, 'is_deduction'=> 0, ]; // 生成 可发 数据表格 Db::name('engineer_settlement')->insertAll($insertXlsData); $analogData = []; $analogData[0] = [ 'master_worker_id' => $params['id'], 'worker_number' => $params['worker_number'], 'engineer_name' => $params['account_holder'], 'bank_account' => $params['bank_account'], 'bank_name' => $params['bank_name'], 'opening_branch' => $params['opening_branch'], 'original_balance' => $params['user_money'], 'total_settlement_amount' => $params['left_amount'], 'batch_number'=> $batch_number, 'deduction_amount' => $params['deduction_amount'], 'deduction_describe' => $params['deduction_describe'], 'final_settlement_amount' => $params['final_settlement_amount'], 'settlement_time' => $params['settlement_time'], 'settlement_details_remarks' => $params['settlement_details_remarks'], ]; $resData = EngineerSettlementLogic::engineerSettlementValidate($analogData); if(is_array($resData)){ $result = EngineerSettlementLogic::add($resData,$params['adminId']); if ($result === false){ throw new \Exception(EngineerSettlementLogic::getError()); } } }else{ throw new \Exception('打款失败'); } Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } }