70 lines
2.3 KiB
PHP
70 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Endpoint\Api\Http\Controllers\Dealer;
|
|
|
|
use App\Actions\Dealer\CalculateNotCompletedPurchaseAmount;
|
|
use App\Actions\Dealer\CalculatePurchaseAmountOfCurrentPeriod;
|
|
use App\Endpoint\Api\Http\Controllers\Controller;
|
|
use App\Endpoint\Api\Http\Resources\Dealer\DealerResource;
|
|
use App\Endpoint\Api\Http\Resources\Dealer\UserInfoResource;
|
|
use Illuminate\Http\Request;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
/**
|
|
* 个人信息
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \App\Actions\Dealer\CalculateNotCompletedPurchaseAmount $calculateNotCompletedPurchaseAmount
|
|
* @param \App\Actions\Dealer\CalculatePurchaseAmountOfCurrentPeriod $calculatePurchaseAmountOfCurrentPeriod
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function show(
|
|
Request $request,
|
|
CalculateNotCompletedPurchaseAmount $calculateNotCompletedPurchaseAmount,
|
|
CalculatePurchaseAmountOfCurrentPeriod $calculatePurchaseAmountOfCurrentPeriod
|
|
) {
|
|
$user = $request->user();
|
|
|
|
$dealerResource = DealerResource::make($user->dealer)->toArray($request);
|
|
$dealerResource['total_purchase_amount'] = bcadd(
|
|
$calculateNotCompletedPurchaseAmount->handle($user->dealer),
|
|
$calculatePurchaseAmountOfCurrentPeriod->handle($user->dealer),
|
|
2
|
|
);
|
|
|
|
return response()->json([
|
|
'id' => $user->id,
|
|
'phone' => $user->phone,
|
|
'dealer'=> $dealerResource,
|
|
'dealer_wallet' => $user->dealerWallet?->balance,
|
|
'user_info' => UserInfoResource::make($user->userInfo),
|
|
'has_password' => (bool) $user->wallet?->password,
|
|
]);
|
|
}
|
|
|
|
public function updatePayInfo(Request $request)
|
|
{
|
|
$input = $request->validate([
|
|
'pay_info' => ['bail', 'required', 'array'],
|
|
]);
|
|
|
|
$request->user()->dealer->update([
|
|
'pay_info'=>$input['pay_info'],
|
|
]);
|
|
|
|
return response()->noContent();
|
|
}
|
|
|
|
public function changeSaleStatus(Request $request)
|
|
{
|
|
$input = $request->validate([
|
|
'is_sale' => ['bail', 'required', 'boolean'],
|
|
]);
|
|
$request->user()->dealer->update([
|
|
'is_sale'=>!$input['is_sale'],
|
|
]);
|
|
return response()->noContent();
|
|
}
|
|
}
|