50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
namespace app\api\controller;
|
|
|
|
use support\Request;
|
|
use app\common\model\Order;
|
|
use app\common\model\Report;
|
|
use app\common\model\User;
|
|
|
|
class UserController
|
|
{
|
|
public function stat(Request $request)
|
|
{
|
|
$userId = $request->user->id;
|
|
|
|
$totalOrders = Order::where('user_id', $userId)->count();
|
|
$totalReports = Report::whereHas('order', function ($query) use ($userId) {
|
|
$query->where('user_id', $userId);
|
|
})->count();
|
|
|
|
return jsonResponse([
|
|
'total_orders' => $totalOrders,
|
|
'total_reports' => $totalReports
|
|
]);
|
|
}
|
|
|
|
public function updateInfo(Request $request)
|
|
{
|
|
$userId = $request->user->id;
|
|
$user = User::find($userId);
|
|
|
|
if (!$user) {
|
|
return jsonResponse(null, '用户异常', 404);
|
|
}
|
|
|
|
$nickname = trim($request->post('nickname', ''));
|
|
$avatar = trim($request->post('avatar', ''));
|
|
|
|
if ($nickname) {
|
|
$user->nickname = $nickname;
|
|
}
|
|
if ($avatar) {
|
|
$user->avatar = $avatar;
|
|
}
|
|
|
|
$user->save();
|
|
|
|
return jsonResponse($user, '更新成功');
|
|
}
|
|
}
|