You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\AdminAgent\Extensions\Grid;
use App\Models\AgentProduct;use App\Models\DemandBidding;use App\Models\DemandProduct;use App\Traits\DemandTraits;use Dcat\Admin\Grid\RowAction;use Illuminate\Database\Eloquent\Model;use Illuminate\Http\Request;use Illuminate\Support\Facades\DB;use Illuminate\Support\Facades\Log;
/** * 供应商审核 * Class AuditSupplier * @package App\Admin\Extensions\Grid */class ChooseDemand extends RowAction{ private $id;
public function __construct($biddingId = '') { parent::__construct('参与竞标'); $this->id = $biddingId; $this->title = '选中竞标'; }
protected function html() { $class = 'btn btn-sm btn-success'; $this->appendHtmlAttribute('class', $class); $this->defaultHtmlAttribute('href', 'javascript:;');
return "<a {$this->formatHtmlAttributes()}>{$this->title}</a>"; }
public function handle(Request $request) { $demandBiddingId = request('bidding_id',0); $demandBidding = DemandBidding::find($demandBiddingId); if (empty($demandBidding)) { return false; }
$demand = \App\Models\Demand::find($demandBidding->demand_id);
if (empty($demand)) { return false; }
DB::beginTransaction(); try { $demandBidding->state = 1; $demandBidding->save(); //改变订单状态
$demand->bidding_id = $demandBidding->id; $demand->bidding_user_id = $demandBidding->bidding_user_id; $demand->state = DemandTraits::$stateKey[1]; $demand->save(); //将产品绑给代理商
$demandProduct = DemandProduct::find($demand->demand_product_id); $product = new Product();
$product->supplier_id = $demandProduct->supplier_id; $product->category_id = $demandProduct->category_id; $product->title = $demandProduct->title; $product->price = $demandBidding->price; $product->original_price = $demandBidding->price; $product->pictures = $demandProduct->pictures; $product->stock = $demand->stock; $product->know = $demandProduct->know; $product->content = $demandProduct->content; $product->agent_id = $demandBidding->bidding_user_id; $product->save();
$demand->product_id = $product->id; $demand->save(); DB::commit(); return $this->response()->success("选中竞标成功")->refresh(); } catch (\Exception $e) { Log::error('选中竞标失败::'.$e->getTraceAsString()); DB::rollBack(); return $this->response()->error($e->getMessage()); } }
public function confirm() { return ['确定要选中该竞标吗?', '']; }
public function parameters() { return ['bidding_id' => $this->id]; }}
|