0
0
Files
Babyclass/app/Admin/Controllers/StationController.php
2020-08-04 10:09:42 +08:00

127 lines
4.0 KiB
PHP

<?php
namespace App\Admin\Controllers;
use Admin;
use App\Models\Seller;
use App\Models\Station;
use Illuminate\Http\Request;
use Validator;
class StationController extends Controller
{
public function index(Request $request)
{
$name = $request->name;
$orderField = $request->orderField;
$orderDirection = $request->orderDirection;
$numPerPage = $request->numPerPage ?: 30;
if (Admin::id() == 1) {
$stations = Station::when($name, function ($query) use ($name) {
$query->where('name', 'like', "%{$name}%");
})
->when($orderField, function ($query) use ($orderField, $orderDirection) {
$query->orderBy($orderField, $orderDirection);
})->paginate($numPerPage);
} else {
$stations = Station::when($name, function ($query) use ($name) {
$query->where('name', 'like', "%{$name}%");
})->where('seller_id', Admin::user()->seller_id)
->when($orderField, function ($query) use ($orderField, $orderDirection) {
$query->orderBy($orderField, $orderDirection);
})->paginate($numPerPage);
}
return view('Admin::stations.index', compact('stations'));
}
public function create()
{
$sellers = Seller::where('status', 1)->get();
return view('Admin::stations.create', compact('sellers'));
}
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|min:2|max:50',
'address' => 'required|min:4',
'mobile' => 'required',
], [
'name.required' => '商户名称必须填写',
'name.min' => '商户名称最少为:min字符',
'name.max' => '商户名称最多为:max字符',
'address.required' => '地址必须填写',
'address.min' => '地址最少:min个字',
'mobile.required' => '手机号必须填写',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
if (Station::create($request->all())) {
return $this->success('', 'close');
} else {
return $this->error();
}
}
public function edit(Station $station)
{
$sellers = Seller::where('status', 1)->get();
return view('Admin::stations.edit', compact('station', 'sellers'));
}
public function update(Request $request, Station $station)
{
$validator = Validator::make($request->all(), [
'name' => 'required|min:2|max:50',
'address' => 'required|min:4',
'mobile' => 'required',
], [
'name.required' => '商户名称必须填写',
'name.min' => '商户名称最少为:min字符',
'name.max' => '商户名称最多为:max字符',
'address.required' => '地址必须填写',
'address.min' => '地址最少:min个字',
'mobile.required' => '手机号必须填写',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
if ($station->update($request->all())) {
return $this->success('', 'close');
} else {
return $this->error();
}
}
public function destroy(station $station)
{
if ($station->delete()) {
return $this->success();
} else {
return $this->error();
}
}
public function areas(Request $request)
{
if (empty($request->psn)) {
return $this->error('请选择省份');
}
$areas = \OpenArea::index($request->psn);
if ($areas) {
return $this->success(['msg' => '', 'code' => 1, 'data' => $areas]);
} else {
return $this->error('请选择省份/城市');
}
}
}