Browse Source

导入数据多语言优化

master
wanghongjun 6 days ago
parent
commit
f3e51fa7ae
  1. 18
      app/Imports/ParkingWhitelistImport.php
  2. 6
      app/Services/ParkingPatternService.php

18
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,8 +36,11 @@ 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)) {
$parking_id = AdminTranslationService::getTypeId(3, $parking_name);
if (!$parking_id) {
return; return;
} }
}
$channel_name = $row[3]; $channel_name = $row[3];
if (empty($channel_name)) { if (empty($channel_name)) {
return; return;
@ -44,8 +48,17 @@ 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)) {
$channelIds = [];
foreach ($channel_arr as $channel) {
$channel_id = AdminTranslationService::getTypeId(5, $channel);
if ($channel_id) {
$channelIds[] = $channel_id;
}
}
if (!$channelIds) {
return; return;
} }
}
$reason = $row[4]; $reason = $row[4];
if (empty($reason)) { if (empty($reason)) {
return; return;
@ -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 = [

6
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,8 +194,11 @@ class ParkingPatternService extends BaseService
$parking_space_type $parking_space_type
); );
if (empty($parking_space_type_id)) { if (empty($parking_space_type_id)) {
$parking_space_type_id = AdminTranslationService::getTypeId(1, $parking_space_type);
if (!$parking_space_type_id) {
throw new Exception(''); throw new Exception('');
} }
}
// 更新车位id // 更新车位id
$where = [ $where = [

Loading…
Cancel
Save