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

151 lines
4.3 KiB
PHP

<?php
namespace App\Admin\Controllers;
use App\Models\Agency;
use App\Rules\Checkmobile;
use App\User;
use Illuminate\Http\Request;
use Validator;
class AgencyController extends Controller
{
public function index(Request $request)
{
$orderField = $request->orderField;
$orderDirection = $request->orderDirection;
$numPerPage = $request->numPerPage ?: 30;
$lists = Agency::paginate($numPerPage);
return view('Admin::agency.index', compact('lists'));
}
public function create()
{
$salesmans = User::where('is_salesman', 1)->get();
return view('Admin::agency.create', compact('salesmans'));
}
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|min:2|max:50',
'status' => 'required',
], [
'name.required' => '名称必须填写',
'name.min' => '名称最少为:min字符',
'name.max' => '名称最多为:max字符',
'status.required' => '状态必须选择',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
if (Agency::create($request->all())) {
return $this->success('', 'close');
} else {
return $this->error();
}
}
public function edit(Agency $agency)
{
$salesmans = User::where('is_salesman', 1)->get();
return view('Admin::agency.edit', compact('agency', 'salesmans'));
}
public function update(Request $request, Agency $agency)
{
$validator = Validator::make($request->all(), [
'name' => 'required|min:2|max:50',
'status' => 'required',
], [
'name.required' => '名称必须填写',
'name.min' => '名称最少为:min字符',
'name.max' => '名称最多为:max字符',
'status.required' => '状态必须选择',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
if ($agency->update($request->all())) {
return $this->success('', 'close');
} else {
return $this->error();
}
}
//设置管理人
public function user(Request $request, Agency $agency)
{
return view('Admin::agency.user', compact('agency'));
}
public function douser(Request $request, Agency $agency)
{
$validator = Validator::make($request->all(), [
'mobile' => 'required|exists:users',
'user_id' => 'required|unique:agencies,user_id',
], [
'mobile.required' => '请输入手机号',
'mobile.exists' => '手机号不存在',
'user_id.required' => '请点击校验按钮',
'user_id.unique' => '此人已经是代理了',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
if ($agency->update(['user_id' => $request->user_id])) {
$agency->user->identityUpdate(2, 'AgencyUp');
return $this->success('', 'close');
} else {
return $this->error('');
}
}
public function show()
{
#Todo..
}
//删除
public function delete(Agency $agency)
{
if ($agency->delete()) {
return $this->success('删除成功');
} else {
return $this->error('删除成功');
}
}
public function checkuser(Request $request)
{
$validator = Validator::make($request->all(), [
'mobile' => ['required', 'exists:users', new Checkmobile],
], [
'mobile.required' => '手机号必须填写',
'mobile.exists' => '手机号不存在',
]);
if ($validator->fails()) {
return $this->error($validator->errors()->first());
}
$user = User::where('mobile', $request->mobile)->first();
$agency = Agency::where('user_id', $user->id)->first();
if ($agency) {
return $this->error('此人已经是代理了');
}
return $this->success(['user_id' => $user->id, 'nickname' => $user->info->nickname]);
}
}