|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Web;
|
|
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
use App\Models\User;
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
|
|
|
|
|
|
class CompanyController extends Controller
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* 显示用户列表页面(有公司名称并且报名审核通过的用户)
|
|
|
|
|
*/
|
|
|
|
|
public function search()
|
|
|
|
|
{
|
|
|
|
|
// 查询有公司名称并且报名审核通过的用户
|
|
|
|
|
$users = User::whereNotNull('company_name')
|
|
|
|
|
->where('company_name', '!=', '')
|
|
|
|
|
->whereHas('courseSigns', function ($query) {
|
|
|
|
|
$query->where('status', 1); // 审核通过
|
|
|
|
|
})
|
|
|
|
|
->select('id', 'name', 'company_name', 'company_id')
|
|
|
|
|
->orderBy('id', 'desc')
|
|
|
|
|
->get();
|
|
|
|
|
|
|
|
|
|
return view('company_search', compact('users'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新用户公司信息
|
|
|
|
|
*/
|
|
|
|
|
public function updateUserCompany(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$validator = Validator::make($request->all(), [
|
|
|
|
|
'user_id' => 'required|integer|exists:users,id',
|
|
|
|
|
'company_name' => 'required|string',
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
if ($validator->fails()) {
|
|
|
|
|
return response()->json([
|
|
|
|
|
'code' => 400,
|
|
|
|
|
'msg' => $validator->errors()->first()
|
|
|
|
|
], 400);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
$user = User::find($request->user_id);
|
|
|
|
|
if (!$user) {
|
|
|
|
|
return response()->json([
|
|
|
|
|
'code' => 404,
|
|
|
|
|
'msg' => '用户不存在'
|
|
|
|
|
], 404);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$user->company_name = $request->company_name;
|
|
|
|
|
$user->company_id = null; // 设置 company_id 为 null
|
|
|
|
|
$user->save();
|
|
|
|
|
|
|
|
|
|
return response()->json([
|
|
|
|
|
'code' => 200,
|
|
|
|
|
'msg' => '更新成功',
|
|
|
|
|
'data' => $user
|
|
|
|
|
]);
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
return response()->json([
|
|
|
|
|
'code' => 500,
|
|
|
|
|
'msg' => '更新失败: ' . $e->getMessage()
|
|
|
|
|
], 500);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|