/
Danchi
/
Java_Cars
Обзор
Документация
Войти
/
Danchi
/
Java_Cars
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/example/car/utility/CarGenerator.java
76 строк
3 KB
artem
4 - 8
18 дек 2024, 11:24
18 дек 2024, 11:24
783cfa1
Код
Авторство
О чём код?
package com.example.car.utility; import com.example.car.dto.CarDto; import com.example.car.dto.CarModelDto; import com.example.car.dto.DealerDto; import com.example.car.thread.DealerCenter; import java.util.ArrayList; import java.util.List; import java.util.Random; public class CarGenerator { private static final String[] BRANDS = {"Toyota", "Honda", "Ford", "Skoda", "Volkswagen"}; private static final String[] MODELS = {"Corolla", "Civic", "Mustang", "Octavia", "Golf"}; private static final String[] COUNTRIES = {"RU", "KZ", "GER", "US", "CH"}; private static final String[] STATES = {"Не занят", "В пути", "В наличии", "Продан", "Забронирован"}; private static final String[] EQUIPMENTS = {"Стандарт", "Премиум", "Спорт"}; private static final String[] COLORS = {"Чёрный", "Синий", "Серебряный", "Красный", "Белый"}; private static final String[] DEALERS = {"DEALER1", "DEALER2", "DEALER3", "DEALER4", "DEALER5"}; private static final double MIN_PRICE = 500000; private static final double MAX_PRICE = 2000000; public static DealerDto generateDealerCenterWithCars(int carsCount) { DealerDto dealerCenter = new DealerDto(); List<CarDto> cars = new ArrayList<>(); Random random = new Random(); for (int i = 0; i < carsCount; i++) { CarModelDto carModel = generateRandomCarModel(); CarDto car = CarDto.builder() .carModel(carModel) .state(STATES[random.nextInt(STATES.length)]) .equipment(EQUIPMENTS[random.nextInt(EQUIPMENTS.length)]) .color(COLORS[random.nextInt(COLORS.length)]) .price(MIN_PRICE + (MAX_PRICE - MIN_PRICE) * random.nextDouble()) .build(); cars.add(car); } dealerCenter.setCars(cars); dealerCenter.setName(DEALERS[random.nextInt(DEALERS.length)]); return dealerCenter; } public static List<CarDto> generateCars(int carsCount) { List<CarDto> cars = new ArrayList<>(); Random random = new Random(); for (int i = 0; i < carsCount; i++) { CarModelDto carModel = generateRandomCarModel(); CarDto car = CarDto.builder() .carModel(carModel) .state(STATES[random.nextInt(STATES.length)]) .equipment(EQUIPMENTS[random.nextInt(EQUIPMENTS.length)]) .color(COLORS[random.nextInt(COLORS.length)]) .price(MIN_PRICE + (MAX_PRICE - MIN_PRICE) * random.nextDouble()) .build(); cars.add(car); } return cars; } private static CarModelDto generateRandomCarModel() { Random random = new Random(); int index = random.nextInt(BRANDS.length); return CarModelDto.builder() .brand(BRANDS[index]) .model(MODELS[index]) .countryOrigin(COUNTRIES[index]) .build(); } }