59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Mini;
|
|
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Modules\AnnoRoute\Attribute\GetRoute;
|
|
use Modules\AnnoRoute\Attribute\PutRoute;
|
|
use Modules\AnnoRoute\Attribute\RequestAttribute;
|
|
|
|
/**
|
|
* 小程序门店设置(门店信息查看与维护:联系人 / 联系电话 / 地址)
|
|
*/
|
|
#[RequestAttribute('/mini', 'mini', authGuard: 'users')]
|
|
class StoreController extends BaseMiniController
|
|
{
|
|
/** 门店详情(编辑回显;门店名称 / 编码 / 回款周期为只读,由后台维护) */
|
|
#[GetRoute('/store/info', authorize: true)]
|
|
public function info(Request $request): JsonResponse
|
|
{
|
|
$store = $this->currentStore($request);
|
|
|
|
return $this->success([
|
|
'id' => $store->id,
|
|
'name' => $store->name,
|
|
'code' => $store->code,
|
|
'contact' => $store->contact,
|
|
'phone' => $store->phone,
|
|
'address' => $store->address,
|
|
'payment_cycle_days' => $store->payment_cycle_days,
|
|
]);
|
|
}
|
|
|
|
/** 修改门店信息(仅联系人 / 联系电话 / 地址,白名单更新) */
|
|
#[PutRoute('/store/info', authorize: true)]
|
|
public function updateInfo(Request $request): JsonResponse
|
|
{
|
|
$data = $request->validate([
|
|
'contact' => 'nullable|string|max:50',
|
|
'phone' => 'nullable|string|max:20',
|
|
'address' => 'nullable|string|max:255',
|
|
], [
|
|
'contact.max' => '联系人最长 50 个字符',
|
|
'phone.max' => '联系电话最长 20 个字符',
|
|
'address.max' => '地址最长 255 个字符',
|
|
]);
|
|
|
|
$store = $this->currentStore($request);
|
|
|
|
$store->update($data);
|
|
|
|
return $this->success([
|
|
'contact' => $store->contact,
|
|
'phone' => $store->phone,
|
|
'address' => $store->address,
|
|
], '门店信息已更新');
|
|
}
|
|
}
|