Browse Source

导入数据多语言优化

master
wanghongjun 13 hours ago
parent
commit
f3e51fa7ae
  1. 22
      app/Imports/ParkingWhitelistImport.php
  2. 8
      app/Services/ParkingPatternService.php

22
app/Imports/ParkingWhitelistImport.php

@ -5,6 +5,7 @@ namespace App\Imports;
use App\Models\Parking; use App\Models\Parking;
use App\Models\ParkingChannel; use App\Models\ParkingChannel;
use App\Models\ParkingSpaceType; use App\Models\ParkingSpaceType;
use App\Services\AdminTranslationService;
use App\Services\OperationLogService; use App\Services\OperationLogService;
use App\Services\ParkingWhitelistService; use App\Services\ParkingWhitelistService;
use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\ToModel;
@ -35,7 +36,10 @@ class ParkingWhitelistImport implements ToModel, WithChunkReading
} }
$parking_id = Parking::getValueId($parking_name); $parking_id = Parking::getValueId($parking_name);
if (empty($parking_id)) { if (empty($parking_id)) {
return; $parking_id = AdminTranslationService::getTypeId(3, $parking_name);
if (!$parking_id) {
return;
}
} }
$channel_name = $row[3]; $channel_name = $row[3];
if (empty($channel_name)) { if (empty($channel_name)) {
@ -44,7 +48,16 @@ class ParkingWhitelistImport implements ToModel, WithChunkReading
$channel_arr = explode(',', $channel_name); $channel_arr = explode(',', $channel_name);
$channelIds = ParkingChannel::query()->whereIn('name', $channel_arr)->pluck('id')->toArray(); $channelIds = ParkingChannel::query()->whereIn('name', $channel_arr)->pluck('id')->toArray();
if (empty($channelIds)) { if (empty($channelIds)) {
return; $channelIds = [];
foreach ($channel_arr as $channel) {
$channel_id = AdminTranslationService::getTypeId(5, $channel);
if ($channel_id) {
$channelIds[] = $channel_id;
}
}
if (!$channelIds) {
return;
}
} }
$reason = $row[4]; $reason = $row[4];
if (empty($reason)) { if (empty($reason)) {
@ -53,7 +66,10 @@ class ParkingWhitelistImport implements ToModel, WithChunkReading
$type_str = $row[5]; $type_str = $row[5];
$space_type_id = 0; $space_type_id = 0;
if (!empty($type_str)) { if (!empty($type_str)) {
$space_type_id = ParkingSpaceType::getValueId($type_str); $space_type_id = ParkingSpaceType::getValueId($type_str) ?? 0;
if (!$space_type_id) {
$space_type_id = AdminTranslationService::getTypeId(1, $type_str) ?? 0;
}
} }
$data = [ $data = [

8
app/Services/ParkingPatternService.php

@ -168,6 +168,9 @@ class ParkingPatternService extends BaseService
$tw_name = $data['tw_name'] ?? ''; $tw_name = $data['tw_name'] ?? '';
$pattern_id = ParkingPatternModel::query()->where('name', $model_name)->value('id'); $pattern_id = ParkingPatternModel::query()->where('name', $model_name)->value('id');
if (!$pattern_id) {
$pattern_id = AdminTranslationService::getTypeId(10, $model_name);
}
if ($pattern_id) { if ($pattern_id) {
$this->updateData($data, $pattern_id); $this->updateData($data, $pattern_id);
} else { } else {
@ -191,7 +194,10 @@ class ParkingPatternService extends BaseService
$parking_space_type $parking_space_type
); );
if (empty($parking_space_type_id)) { if (empty($parking_space_type_id)) {
throw new Exception(''); $parking_space_type_id = AdminTranslationService::getTypeId(1, $parking_space_type);
if (!$parking_space_type_id) {
throw new Exception('');
}
} }
// 更新车位id // 更新车位id

Loading…
Cancel
Save