Browse Source

楼层管理接口

master
wanghongjun 4 days ago
parent
commit
2a2bca8c27
  1. 12
      app/Http/Controllers/Admin/UploadController.php
  2. 6
      app/Http/Middleware/AdminAuthMiddleware.php
  3. 6
      app/Models/AdminFloor.php
  4. 5
      app/Models/AdminFloorRegion.php
  5. 12
      app/Services/AdminFloorService.php

12
app/Http/Controllers/Admin/UploadController.php

@ -41,9 +41,9 @@ class UploadController extends Controller
'image' => 'required|image|max:10240', // 10MB = 10240KB
];
$messages = [
'image.required' => __('upload.i_empty'),
'image.image' => __('upload.i_image'),
'image.max' => __('upload.i_max'),
'image.required' => __('validation.upload.i_empty'),
'image.image' => __('validation.upload.i_image'),
'image.max' => __('validation.upload.i_max'),
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
@ -52,7 +52,11 @@ class UploadController extends Controller
$file = $request->file('image');
$filename = time() . '_' . md5($file->getClientOriginalName()) . '.'
. $file->getClientOriginalExtension();
$path = $file->storeAs('images', $filename, 'public');
$path = $file->storeAs(
'images/floor/' . date("Ymd"),
$filename,
'public'
);
return $this->responseService->success(
['url' => Storage::url($path)]
);

6
app/Http/Middleware/AdminAuthMiddleware.php

@ -65,10 +65,14 @@ class AdminAuthMiddleware
$contentType = $request->header('Content-Type');
if ($request->isMethod('POST')
&& (!$contentType
|| !str_contains(
$contentType,
'form/data'
|| !str_contains(
$contentType,
'application/json'
))
)
))
) {
return $this->responseService->error(
__('middleware.auth.use_json'),

6
app/Models/AdminFloor.php

@ -12,6 +12,12 @@ class AdminFloor extends Model
protected $table = 'admin_floor';
protected $fillable
= [
'name',
'image_url'
];
protected $hidden = [
'updated_at',
'created_at',

5
app/Models/AdminFloorRegion.php

@ -4,10 +4,11 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class AdminFloorRegion extends Model
{
use HasFactory;
use HasFactory, SoftDeletes;
protected $table = 'admin_floor_region';
@ -24,7 +25,7 @@ class AdminFloorRegion extends Model
*/
public static function getFloorRegion(int $floor_id): array
{
$columns = ['id', 'name'];
$columns = ['name'];
return self::query()->where('floor_id', $floor_id)->select($columns)
->get()->toArray();
}

12
app/Services/AdminFloorService.php

@ -36,7 +36,7 @@ class AdminFloorService
{
try {
DB::beginTransaction();
$region_data = $data['region_data'];
$region_data = $data['region_data'] ?? [];
if (AdminFloor::query()->where('name', $data['name'])->exists()) {
throw new Exception(__('service.admin_floor.name_exists'));
@ -50,7 +50,9 @@ class AdminFloorService
$this->logService->logCreated($model, '创建楼层');
$this->addAdminFloorRegion($model->id, $region_data);
if ($region_data) {
$this->addAdminFloorRegion($model->id, $region_data);
}
DB::commit();
return $model;
@ -95,7 +97,7 @@ class AdminFloorService
{
try {
DB::beginTransaction();
$region_data = $data['region_data'];
$region_data = $data['region_data'] ?? [];
// 验证
$existsWhere = [
@ -122,7 +124,9 @@ class AdminFloorService
$nameArr = array_column($region_data, 'name');
if (AdminFloorRegion::existsRoleMenu($id, $nameArr)) {
$this->delAdminFloorRegion($id);
$this->addAdminFloorRegion($id, $region_data);
if ($region_data) {
$this->addAdminFloorRegion($id, $region_data);
}
}
DB::commit();

Loading…
Cancel
Save