门店信息

This commit is contained in:
liu
2026-08-10 10:09:51 +08:00
parent df7631c7a9
commit cba0e7d1bb
5 changed files with 171 additions and 18 deletions
+35 -11
View File
@@ -4,33 +4,57 @@ 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
{
/** 修改回款周期(≥0,无上限 */
#[PutRoute('/store/paymentCycle', authorize: true)]
public function paymentCycle(Request $request): JsonResponse
/** 门店详情(编辑回显;门店名称 / 编码 / 回款周期为只读,由后台维护 */
#[GetRoute('/store/info', authorize: true)]
public function info(Request $request): JsonResponse
{
$user = $this->currentUser($request);
$store = $this->ensureStoreBound($user);
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([
'payment_cycle_days' => 'required|integer|min:0',
'contact' => 'nullable|string|max:50',
'phone' => 'nullable|string|max:20',
'address' => 'nullable|string|max:255',
], [
'payment_cycle_days.required' => '回款周期不能为空',
'payment_cycle_days.integer' => '回款周期必须为整数',
'payment_cycle_days.min' => '回款周期不能小于 0',
'contact.max' => '联系人最长 50 个字符',
'phone.max' => '联系电话最长 20 个字符',
'address.max' => '地址最长 255 个字符',
]);
$user = $this->currentUser($request);
$store = $this->ensureStoreBound($user);
$store->payment_cycle_days = (int) $data['payment_cycle_days'];
$store->save();
$store->update($data);
return $this->success(['payment_cycle_days' => $store->payment_cycle_days], '回款周期已更新');
return $this->success([
'contact' => $store->contact,
'phone' => $store->phone,
'address' => $store->address,
], '门店信息已更新');
}
}