151 lines
4.3 KiB
PHP
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]);
|
|
}
|
|
|
|
}
|