diff --git a/build.gradle b/build.gradle index 05772a0..36226f9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { id 'java' - id 'org.springframework.boot' version '2.7.8' - id 'io.spring.dependency-management' version '1.0.15.RELEASE' + id 'org.springframework.boot' version '3.0.2' + id 'io.spring.dependency-management' version '1.1.0' } -group = 'ru.ulstu.is' +group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' diff --git a/data.mv.db b/data.mv.db new file mode 100644 index 0000000..977c220 Binary files /dev/null and b/data.mv.db differ diff --git a/front/src/App.js b/front/src/App.js index 7074efb..1ab6930 100644 --- a/front/src/App.js +++ b/front/src/App.js @@ -1,4 +1,3 @@ -import Main from './components/Main.jsx'; import React from "react"; import { useRoutes, Outlet, BrowserRouter } from 'react-router-dom'; import Cars from './components/Cars.jsx'; @@ -14,10 +13,10 @@ function Router(props) { function App() { const routes = [ { index: true, element: }, - { path: '/', element: , label: 'ГЛАВНОЕ' }, - { path: '/cars', element: , label: 'Сотрудники' }, - { path: '/buyers', element: , label: 'Компании' }, - { path: '/stores', element: , label: 'Должности' }, + { path: '/', element: }, + { path: '/cars', element: , label: 'Машины' }, + { path: '/buyers', element: , label: 'Покупатель' }, + { path: '/stores', element: , label: 'Магазины' }, { path: '/buyer/:id', element: }, ]; const links = routes.filter(route => route.hasOwnProperty('label')); diff --git a/front/src/components/Buyers.jsx b/front/src/components/Buyers.jsx index 3bc1797..03fcfa5 100644 --- a/front/src/components/Buyers.jsx +++ b/front/src/components/Buyers.jsx @@ -10,12 +10,12 @@ import Store from '../models/Store'; import { useNavigate } from "react-router-dom"; -export default function Buyers(props) { +export default function Companies(props) { const headers = [ {name: 'name', label: "Название"}, - {name: 'countCars', label: "Сотрудники"}, + {name: 'countCars', label: "Машины"}, ]; - const nameCatalog = "Компании"; + const nameCatalog = "Покупатели"; const url = '/buyer'; const requestParams = '?name=nameData'; @@ -99,7 +99,7 @@ export default function Buyers(props) { Название - ; @@ -108,15 +108,15 @@ export default function Buyers(props) { const [showModalForm, setShowChoosing] = useState(false); const formChooseBuyer =
- Компания + Покупатель {setChosenBuyer(e.target.value)}} required> - + { items.map((buyer) => ) } -
; @@ -137,8 +137,8 @@ export default function Buyers(props) { } return
- - + + { @@ -31,7 +31,7 @@ export default function Cars(props) { DataService.create(url +requestParams .replace("nameData", data.name) .replace("surnameData", data.surname) - .replace("phoneNameData", data.phoneNumber)) + .replace("phoneNameData", data.price)) .then(() => loadItems()); } @@ -48,7 +48,7 @@ export default function Cars(props) { DataService.update(url + "/" + data.id + requestParams .replace("nameData", data.name) .replace("surnameData", data.surname) - .replace("phoneNameData", data.phoneNumber)).then(() => loadItems()); + .replace("phoneNameData", data.price)).then(() => loadItems()); } @@ -88,18 +88,20 @@ export default function Cars(props) { // которая передается дальше в абстрактный компонент Catalog в качестве props.form const form =
- Фамилия + Модель - Имя + Марка - Номер телефона - + Цена + -
+ + return
{props.name}
- + resp.text()).then(alert); - } - - function getRandomNumber() { - get(urlRandomNumber); - - } - function req_calc() { - get(urlCalc.replace("num1", num1).replace("num2", num2)); - } - const [num1, setnum1] = useState(''); - const [num2, setnum2] = useState(''); - function valueChanged1(event) { - console.log(event.target); - setnum1(event.target.value); - } - function valueChanged2(event) { - setnum2(event.target.value); - } - function req_length() { - get(urlLength.replace("strName", strName)); - - } - const [strName, setName] = useState(''); - function valueChangedName(event) { - setName(event.target.value); - } - function req_upperCase() { - get(urlUpperCase.replace("strWord", strWord)); - } - const [strWord, setWord] = useState(''); - function valueChangedWord(event) { - setWord(event.target.value); - } - return
-

Сайт...

-
-

Рандомное число

- -
-
-

Калькулятор

- - - -
-
-

Посчитать длину строки

- - -
-
-

Перевести слово в верхний регистр

- - -
-
-} \ No newline at end of file diff --git a/front/src/components/OneBuyer.jsx b/front/src/components/OneBuyer.jsx index 2e7aede..a391df7 100644 --- a/front/src/components/OneBuyer.jsx +++ b/front/src/components/OneBuyer.jsx @@ -31,8 +31,8 @@ export default function OneBuyer(props) { const headersEmp = [ {name: 'surname', label: "Фамилия"}, {name: 'name', label: "Имя"}, - {name: 'storesString', label: 'Должности'}, - {name: 'phoneNumber', label: "Номер телефона"} + {name: 'storesString', label: 'Магазин'}, + {name: 'price', label: "Цена"} ]; useEffect(() => { @@ -120,7 +120,7 @@ export default function OneBuyer(props) { const [storesChosen, setStoreEmp] = useState([]); function checkBoxChanged(e) { - // если чекбокс был выбран, то дабавляем в массив должность + // если чекбокс был выбран, то дабавляем в массив магазин if (e.target.checked) { storesChosen.push(e.target.value); @@ -145,7 +145,7 @@ export default function OneBuyer(props) { for (let i = 0; i < storesEmp.length; i++) { if (storesChosen.indexOf(''+storesEmp[i].id) == -1) { - // удаление должности + // удаление магазина DataService.update(urlDelPos.replace("id",car.id) + requestParamsStore .replace("posId", storesEmp[i].id)) .then(() => loadBuyer()); @@ -155,15 +155,15 @@ export default function OneBuyer(props) { const formHire = - Сотрудник + Машина - + { itemsEmpFree.map((e) => ) } - ; @@ -171,31 +171,31 @@ export default function OneBuyer(props) { const formDismiss = - Сотрудник + Машина - + { itemsEmpBuyer.map((e) => ) } - ; const formCheckBoxesStore = - Сотрудник + Машина - + { itemsEmpBuyer.map((e) => ) } - Должности + Магазин
{ itemsPos.map((p) =>
@@ -207,29 +207,19 @@ export default function OneBuyer(props) { }
- - if (!buyer) { - return

Компания не найдена

- - - -
- } return
- - -

Название: {buyer.name}

-

Количество сотрудников: {buyer.countCars}

- - - +

Количество машин: {buyer.countCars}

+ + +
-
+
{ @@ -250,7 +240,7 @@ export default function OneBuyer(props) { - + } \ No newline at end of file diff --git a/front/src/components/OneBuyer.module.css b/front/src/components/OneBuyer.module.css index 5a8dcf9..d8f4208 100644 --- a/front/src/components/OneBuyer.module.css +++ b/front/src/components/OneBuyer.module.css @@ -1,6 +1,6 @@ .prokrutka { - background: #fff; /* цвет фона, белый */ - border: 1px solid #C1C1C1; /* размер и цвет границы блока */ + background: #9c9c9c; /* цвет фона, белый */ + border: 1px solid #000000; /* размер и цвет границы блока */ overflow: auto; width:200px; height:100px; diff --git a/front/src/components/Stores.jsx b/front/src/components/Stores.jsx index 8e2a0a0..f574ed0 100644 --- a/front/src/components/Stores.jsx +++ b/front/src/components/Stores.jsx @@ -11,7 +11,7 @@ export default function Stores(props) { {name: 'name', label: "Название"}, ]; - const nameCatalog = "Должности"; + const nameCatalog = "Магазин"; const url = '/store'; const requestParams = '?name=nameData'; @@ -88,7 +88,7 @@ export default function Stores(props) { Название - diff --git a/front/src/components/commons/Header.jsx b/front/src/components/commons/Header.jsx index 150a203..a649bea 100644 --- a/front/src/components/commons/Header.jsx +++ b/front/src/components/commons/Header.jsx @@ -5,7 +5,7 @@ import Navbar from 'react-bootstrap/Navbar'; export default function Header(props) { return ( - + diff --git a/front/src/components/commons/ItemTable.jsx b/front/src/components/commons/ItemTable.jsx index cf396b9..70bcde7 100644 --- a/front/src/components/commons/ItemTable.jsx +++ b/front/src/components/commons/ItemTable.jsx @@ -13,6 +13,6 @@ export default function ItemTable(props) { } {props.isOnlyView || } + } } \ No newline at end of file diff --git a/front/src/models/Buyer.js b/front/src/models/Buyer.js index dcc84f0..a893bc3 100644 --- a/front/src/models/Buyer.js +++ b/front/src/models/Buyer.js @@ -2,9 +2,9 @@ import Car from "./Car"; export default class Buyer { constructor(data) { - this.id = data?.id; + this.id = data?.id; this.name = data?.name || ''; - this.cars = Array.isArray(data?.cars) ? data?.cars.map((e) => new Car(e)) || [] : []; + this.cars = data?.cars.map((e) => new Car(e)) || ''; this.countCars = ''; if (this.cars !== '') { this.countCars = this.cars.length; diff --git a/front/src/models/Car.js b/front/src/models/Car.js index 36a7365..cfb7c1c 100644 --- a/front/src/models/Car.js +++ b/front/src/models/Car.js @@ -5,7 +5,7 @@ export default class Car { this.id = data?.id; this.surname = data?.surname || ''; this.name = data?.name || ''; - this.phoneNumber = data?.phoneNumber || ''; + this.price = data?.price || ''; this.stores = data?.stores.map((p) => new Store(p)) || ''; this.storesString = ''; if (this.stores !== '') { diff --git a/settings.gradle b/settings.gradle index 8faf263..e76aebe 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -rootProject.name = 'lab1' +rootProject.name = 'springip' diff --git a/src/main/java/ru/ulstu/is/lab1/Lab1Application.java b/src/main/java/com/example/springip/SpringipApplication.java similarity index 60% rename from src/main/java/ru/ulstu/is/lab1/Lab1Application.java rename to src/main/java/com/example/springip/SpringipApplication.java index 99fd8cf..8b3e761 100644 --- a/src/main/java/ru/ulstu/is/lab1/Lab1Application.java +++ b/src/main/java/com/example/springip/SpringipApplication.java @@ -1,12 +1,13 @@ -package ru.ulstu.is.lab1; +package com.example.springip; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -public class Lab1Application { +public class SpringipApplication { public static void main(String[] args) { - SpringApplication.run(Lab1Application.class, args); + SpringApplication.run(SpringipApplication.class, args); } -} \ No newline at end of file + +} diff --git a/src/main/java/ru/ulstu/is/lab1/WebConfiguration.java b/src/main/java/com/example/springip/WebConfiguration.java similarity index 93% rename from src/main/java/ru/ulstu/is/lab1/WebConfiguration.java rename to src/main/java/com/example/springip/WebConfiguration.java index 182b514..e0b7b0f 100644 --- a/src/main/java/ru/ulstu/is/lab1/WebConfiguration.java +++ b/src/main/java/com/example/springip/WebConfiguration.java @@ -1,4 +1,4 @@ -package ru.ulstu.is.lab1; +package com.example.springip; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; diff --git a/src/main/java/ru/ulstu/is/lab1/controller/BuyerController.java b/src/main/java/com/example/springip/lab3/controller/BuyerController.java similarity index 70% rename from src/main/java/ru/ulstu/is/lab1/controller/BuyerController.java rename to src/main/java/com/example/springip/lab3/controller/BuyerController.java index b73762e..3d21206 100644 --- a/src/main/java/ru/ulstu/is/lab1/controller/BuyerController.java +++ b/src/main/java/com/example/springip/lab3/controller/BuyerController.java @@ -1,10 +1,10 @@ -package ru.ulstu.is.lab1.controller; +package com.example.springip.lab3.controller; -import ru.ulstu.is.lab1.dto.BuyerDto; -import ru.ulstu.is.lab1.dto.CarDto; -import ru.ulstu.is.lab1.models.Car; -import ru.ulstu.is.lab1.service.BuyerService; -import ru.ulstu.is.lab1.service.CarService; +import com.example.springip.lab3.dto.BuyerDto; +import com.example.springip.lab3.dto.CarDto; +import com.example.springip.lab3.models.Car; +import com.example.springip.lab3.service.BuyerService; +import com.example.springip.lab3.service.CarService; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -26,13 +26,13 @@ public class BuyerController { } @GetMapping("/{id}/cars") - public List getBuyerCars(@PathVariable long id) { + public List getBuyerCaes(@PathVariable long id) { return buyerService.findBuyer(id).getCars().stream().map(CarDto::new).toList(); } @GetMapping - public List getAllBuyers() { - return buyerService.findAllBuyers().stream() + public List getAllCompanies() { + return buyerService.findAllCompanies().stream() .map(BuyerDto::new) .toList(); } @@ -44,7 +44,7 @@ public class BuyerController { @PutMapping("/{id}") public BuyerDto update(@PathVariable Long id, - @RequestParam("name") String name) { + @RequestParam("name") String name) { return new BuyerDto(buyerService.updateBuyer(id, name)); } @@ -60,9 +60,9 @@ public class BuyerController { } @PutMapping("/{id}/dismiss") - public CarDto dismiss(@PathVariable Long id, @RequestParam Long carId) { + public void dismiss(@PathVariable Long id, @RequestParam Long carId) { Car e = carService.findCar(carId); - return new CarDto(buyerService.deleteCar(id, e)); + buyerService.deleteCar(id, e); } } diff --git a/src/main/java/ru/ulstu/is/lab1/controller/CarController.java b/src/main/java/com/example/springip/lab3/controller/CarController.java similarity index 72% rename from src/main/java/ru/ulstu/is/lab1/controller/CarController.java rename to src/main/java/com/example/springip/lab3/controller/CarController.java index fc8ae9b..dd138fa 100644 --- a/src/main/java/ru/ulstu/is/lab1/controller/CarController.java +++ b/src/main/java/com/example/springip/lab3/controller/CarController.java @@ -1,9 +1,9 @@ -package ru.ulstu.is.lab1.controller; +package com.example.springip.lab3.controller; -import ru.ulstu.is.lab1.dto.CarDto; -import ru.ulstu.is.lab1.models.Store; -import ru.ulstu.is.lab1.service.CarService; -import ru.ulstu.is.lab1.service.StoreService; +import com.example.springip.lab3.dto.CarDto; +import com.example.springip.lab3.models.Store; +import com.example.springip.lab3.service.CarService; +import com.example.springip.lab3.service.StoreService; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -33,20 +33,20 @@ public class CarController { @PostMapping public CarDto createCar(@RequestParam("name") String name, - @RequestParam("surname") String surname, - @RequestParam("phoneNumber") String phoneNumber) { + @RequestParam("surname") String surname, + @RequestParam("price") String price) { return new CarDto(carService.addCar( surname, name, - phoneNumber)); + price)); } @PutMapping("/{id}") public CarDto updateCar(@PathVariable Long id, - @RequestParam("name") String name, - @RequestParam("surname") String surname, - @RequestParam("phoneNumber") String phoneNumber) { - return new CarDto(carService.updateCar(id, surname, name, phoneNumber)); + @RequestParam("name") String name, + @RequestParam("surname") String surname, + @RequestParam("price") String price) { + return new CarDto(carService.updateCar(id, surname, name, price)); } @DeleteMapping("/{id}") @@ -56,7 +56,7 @@ public class CarController { @PutMapping("/{id}/addPos") public CarDto addStore(@PathVariable Long id, - @RequestParam("store") Long store) { + @RequestParam("store") Long store) { Store p = storeService.findStore(store); if (p == null) return null; @@ -64,7 +64,7 @@ public class CarController { } @PutMapping("/{id}/delPos") public CarDto delStore(@PathVariable Long id, - @RequestParam("store") Long store) { + @RequestParam("store") Long store) { Store p = storeService.findStore(store); if (p == null) return null; diff --git a/src/main/java/ru/ulstu/is/lab1/controller/StoreController.java b/src/main/java/com/example/springip/lab3/controller/StoreController.java similarity index 79% rename from src/main/java/ru/ulstu/is/lab1/controller/StoreController.java rename to src/main/java/com/example/springip/lab3/controller/StoreController.java index a2e0284..7d289ec 100644 --- a/src/main/java/ru/ulstu/is/lab1/controller/StoreController.java +++ b/src/main/java/com/example/springip/lab3/controller/StoreController.java @@ -1,7 +1,7 @@ -package ru.ulstu.is.lab1.controller; +package com.example.springip.lab3.controller; -import ru.ulstu.is.lab1.dto.StoreDto; -import ru.ulstu.is.lab1.service.StoreService; +import com.example.springip.lab3.dto.StoreDto; +import com.example.springip.lab3.service.StoreService; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -21,7 +21,7 @@ public class StoreController { } @GetMapping - public List getAllBuyers() { + public List getAllCompanies() { return storeService.findAllStores().stream() .map(StoreDto::new) .toList(); @@ -34,7 +34,7 @@ public class StoreController { @PutMapping("/{id}") public StoreDto update(@PathVariable Long id, - @RequestParam("name") String name) { + @RequestParam("name") String name) { return new StoreDto(storeService.updateStore(id, name)); } diff --git a/src/main/java/ru/ulstu/is/lab1/dao/BuyerRepository.java b/src/main/java/com/example/springip/lab3/dao/BuyerRepository.java similarity index 70% rename from src/main/java/ru/ulstu/is/lab1/dao/BuyerRepository.java rename to src/main/java/com/example/springip/lab3/dao/BuyerRepository.java index 5b6af60..d2f1655 100644 --- a/src/main/java/ru/ulstu/is/lab1/dao/BuyerRepository.java +++ b/src/main/java/com/example/springip/lab3/dao/BuyerRepository.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.dao; +package com.example.springip.lab3.dao; -import ru.ulstu.is.lab1.models.Buyer; +import com.example.springip.lab3.models.Buyer; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/ru/ulstu/is/lab1/dao/CarRepository.java b/src/main/java/com/example/springip/lab3/dao/CarRepository.java similarity index 77% rename from src/main/java/ru/ulstu/is/lab1/dao/CarRepository.java rename to src/main/java/com/example/springip/lab3/dao/CarRepository.java index ad1a78a..6545017 100644 --- a/src/main/java/ru/ulstu/is/lab1/dao/CarRepository.java +++ b/src/main/java/com/example/springip/lab3/dao/CarRepository.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.dao; +package com.example.springip.lab3.dao; -import ru.ulstu.is.lab1.models.Car; +import com.example.springip.lab3.models.Car; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; diff --git a/src/main/java/ru/ulstu/is/lab1/dao/StoreRepository.java b/src/main/java/com/example/springip/lab3/dao/StoreRepository.java similarity index 70% rename from src/main/java/ru/ulstu/is/lab1/dao/StoreRepository.java rename to src/main/java/com/example/springip/lab3/dao/StoreRepository.java index 3d530eb..2a1cc21 100644 --- a/src/main/java/ru/ulstu/is/lab1/dao/StoreRepository.java +++ b/src/main/java/com/example/springip/lab3/dao/StoreRepository.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.dao; +package com.example.springip.lab3.dao; -import ru.ulstu.is.lab1.models.Store; +import com.example.springip.lab3.models.Store; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/ru/ulstu/is/lab1/dto/BuyerDto.java b/src/main/java/com/example/springip/lab3/dto/BuyerDto.java similarity index 74% rename from src/main/java/ru/ulstu/is/lab1/dto/BuyerDto.java rename to src/main/java/com/example/springip/lab3/dto/BuyerDto.java index 437a135..3519c7c 100644 --- a/src/main/java/ru/ulstu/is/lab1/dto/BuyerDto.java +++ b/src/main/java/com/example/springip/lab3/dto/BuyerDto.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.dto; +package com.example.springip.lab3.dto; -import ru.ulstu.is.lab1.models.Buyer; +import com.example.springip.lab3.models.Buyer; import java.util.List; @@ -22,4 +22,8 @@ public class BuyerDto { public String getName() { return name; } + + public List getCars() { + return cars; + } } diff --git a/src/main/java/ru/ulstu/is/lab1/dto/BuyerWithoutCaDto.java b/src/main/java/com/example/springip/lab3/dto/BuyerWithoutEmpDto.java similarity index 60% rename from src/main/java/ru/ulstu/is/lab1/dto/BuyerWithoutCaDto.java rename to src/main/java/com/example/springip/lab3/dto/BuyerWithoutEmpDto.java index 071da2f..0e03d9d 100644 --- a/src/main/java/ru/ulstu/is/lab1/dto/BuyerWithoutCaDto.java +++ b/src/main/java/com/example/springip/lab3/dto/BuyerWithoutEmpDto.java @@ -1,12 +1,12 @@ -package ru.ulstu.is.lab1.dto; +package com.example.springip.lab3.dto; -import ru.ulstu.is.lab1.models.Buyer; +import com.example.springip.lab3.models.Buyer; -public class BuyerWithoutCaDto { +public class BuyerWithoutEmpDto { private final Long Id; private final String name; - public BuyerWithoutCaDto(Buyer buyer) { + public BuyerWithoutEmpDto(Buyer buyer) { this.Id = buyer.getId(); this.name = buyer.getName(); } diff --git a/src/main/java/ru/ulstu/is/lab1/dto/CarDto.java b/src/main/java/com/example/springip/lab3/dto/CarDto.java similarity index 63% rename from src/main/java/ru/ulstu/is/lab1/dto/CarDto.java rename to src/main/java/com/example/springip/lab3/dto/CarDto.java index a417571..d1b1027 100644 --- a/src/main/java/ru/ulstu/is/lab1/dto/CarDto.java +++ b/src/main/java/com/example/springip/lab3/dto/CarDto.java @@ -1,25 +1,25 @@ -package ru.ulstu.is.lab1.dto; +package com.example.springip.lab3.dto; -import ru.ulstu.is.lab1.models.Car; +import com.example.springip.lab3.models.Car; import java.util.List; public class CarDto { private final Long Id; private final String name; - private final String phoneNumber; + private final String price; private final String surname; private final List stores; - private final BuyerWithoutCaDto buyer; + private final BuyerWithoutEmpDto buyer; public CarDto(Car car) { Id = car.getId(); this.name = car.getName(); - this.phoneNumber = car.getPhoneNumber(); + this.price = car.getPrice(); this.surname = car.getSurname(); this.stores = car.getStores().stream().map(StoreDto::new).toList(); - this.buyer = car.getBuyer() != null ? new BuyerWithoutCaDto(car.getBuyer()) : null; + this.buyer = car.getBuyer() != null ? new BuyerWithoutEmpDto(car.getBuyer()) : null; } public Long getId() { @@ -30,8 +30,8 @@ public class CarDto { return name; } - public String getPhoneNumber() { - return phoneNumber; + public String getPrice() { + return price; } public String getSurname() { @@ -42,7 +42,7 @@ public class CarDto { return stores; } - public BuyerWithoutCaDto getBuyer() { + public BuyerWithoutEmpDto getBuyer() { return buyer; } } diff --git a/src/main/java/ru/ulstu/is/lab1/dto/StoreDto.java b/src/main/java/com/example/springip/lab3/dto/StoreDto.java similarity index 77% rename from src/main/java/ru/ulstu/is/lab1/dto/StoreDto.java rename to src/main/java/com/example/springip/lab3/dto/StoreDto.java index 223867e..f29abfe 100644 --- a/src/main/java/ru/ulstu/is/lab1/dto/StoreDto.java +++ b/src/main/java/com/example/springip/lab3/dto/StoreDto.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.dto; +package com.example.springip.lab3.dto; -import ru.ulstu.is.lab1.models.Store; +import com.example.springip.lab3.models.Store; public class StoreDto { private final Long Id; diff --git a/src/main/java/ru/ulstu/is/lab1/models/Buyer.java b/src/main/java/com/example/springip/lab3/models/Buyer.java similarity index 90% rename from src/main/java/ru/ulstu/is/lab1/models/Buyer.java rename to src/main/java/com/example/springip/lab3/models/Buyer.java index 26af4bf..ce6812c 100644 --- a/src/main/java/ru/ulstu/is/lab1/models/Buyer.java +++ b/src/main/java/com/example/springip/lab3/models/Buyer.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.models; +package com.example.springip.lab3.models; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.*; @@ -11,7 +11,7 @@ public class Buyer { private Long Id; @Column(unique = true) private String name; - @OneToMany(mappedBy = "buyer", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @OneToMany(mappedBy = "buyer", cascade = CascadeType.PERSIST, fetch = FetchType.EAGER) private Set cars = new HashSet<>(); public Buyer(String name, Set cars) { diff --git a/src/main/java/ru/ulstu/is/lab1/models/Car.java b/src/main/java/com/example/springip/lab3/models/Car.java similarity index 84% rename from src/main/java/ru/ulstu/is/lab1/models/Car.java rename to src/main/java/com/example/springip/lab3/models/Car.java index 6a24486..cdde3e8 100644 --- a/src/main/java/ru/ulstu/is/lab1/models/Car.java +++ b/src/main/java/com/example/springip/lab3/models/Car.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.models; +package com.example.springip.lab3.models; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.*; @@ -9,7 +9,7 @@ public class Car { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - private String phoneNumber; + private String price; private String name; private String surname; @@ -20,8 +20,8 @@ public class Car { private Set stores = new HashSet<>(); - public Car(String surname, String name, String phoneNumber) { - this.phoneNumber = phoneNumber; + public Car(String surname, String name, String price) { + this.price = price; this.name = name; this.surname = surname; } @@ -33,12 +33,12 @@ public class Car { return id; } - public String getPhoneNumber() { - return phoneNumber; + public String getPrice() { + return price; } - public void setPhoneNumber(String phoneNumber) { - this.phoneNumber = phoneNumber; + public void setPrice(String price) { + this.price = price; } public String getName() { diff --git a/src/main/java/ru/ulstu/is/lab1/models/Store.java b/src/main/java/com/example/springip/lab3/models/Store.java similarity index 88% rename from src/main/java/ru/ulstu/is/lab1/models/Store.java rename to src/main/java/com/example/springip/lab3/models/Store.java index 9c4f838..1250985 100644 --- a/src/main/java/ru/ulstu/is/lab1/models/Store.java +++ b/src/main/java/com/example/springip/lab3/models/Store.java @@ -1,6 +1,6 @@ -package ru.ulstu.is.lab1.models; +package com.example.springip.lab3.models; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.ArrayList; import java.util.List; @@ -10,7 +10,7 @@ import java.util.Objects; public class Store { @Id @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; + private Long Id; private String name; @@ -34,7 +34,7 @@ public class Store { } public Long getId() { - return id; + return Id; } public List getCars() { @@ -63,11 +63,11 @@ public class Store { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Store student = (Store) o; - return Objects.equals(id, student.id); + return Objects.equals(Id, student.Id); } @Override public int hashCode() { - return Objects.hash(id); + return Objects.hash(Id); } } diff --git a/src/main/java/ru/ulstu/is/lab1/service/BuyerService.java b/src/main/java/com/example/springip/lab3/service/BuyerService.java similarity index 76% rename from src/main/java/ru/ulstu/is/lab1/service/BuyerService.java rename to src/main/java/com/example/springip/lab3/service/BuyerService.java index 5fd945a..f2f7ca9 100644 --- a/src/main/java/ru/ulstu/is/lab1/service/BuyerService.java +++ b/src/main/java/com/example/springip/lab3/service/BuyerService.java @@ -1,12 +1,9 @@ -package ru.ulstu.is.lab1.service; - -import ru.ulstu.is.lab1.dao.BuyerRepository; -import ru.ulstu.is.lab1.dao.CarRepository; -import ru.ulstu.is.lab1.models.Buyer; -import ru.ulstu.is.lab1.models.Car; - -import javax.persistence.EntityNotFoundException; +package com.example.springip.lab3.service; +import com.example.springip.lab3.dao.BuyerRepository; +import com.example.springip.lab3.models.Car; +import com.example.springip.lab3.models.Buyer; +import jakarta.persistence.EntityNotFoundException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -16,10 +13,10 @@ import java.util.List; @Service public class BuyerService { private BuyerRepository buyerRepository; - private CarRepository carRepository; - public BuyerService(BuyerRepository buyerRepository, CarRepository carRepository) { + private CarService carService; + public BuyerService(BuyerRepository buyerRepository, CarService carService) { this.buyerRepository = buyerRepository; - this.carRepository = carRepository; + this.carService = carService; } @Transactional @@ -42,7 +39,7 @@ public class BuyerService { } @Transactional(readOnly = true) - public List findAllBuyers() { + public List findAllCompanies() { return buyerRepository.findAll(); } @@ -65,7 +62,7 @@ public class BuyerService { } @Transactional - public void deleteAllBuyers() { + public void deleteAllCompanies() { buyerRepository.deleteAll(); } @@ -78,9 +75,8 @@ public class BuyerService { } @Transactional - public Car deleteCar(Long id, Car car) { + public void deleteCar(Long id, Car car) { Buyer currentBuyer = findBuyer(id); currentBuyer.deleteCar(car); - return carRepository.save(car); } } diff --git a/src/main/java/ru/ulstu/is/lab1/service/CarService.java b/src/main/java/com/example/springip/lab3/service/CarService.java similarity index 77% rename from src/main/java/ru/ulstu/is/lab1/service/CarService.java rename to src/main/java/com/example/springip/lab3/service/CarService.java index 9f62a45..59f3df1 100644 --- a/src/main/java/ru/ulstu/is/lab1/service/CarService.java +++ b/src/main/java/com/example/springip/lab3/service/CarService.java @@ -1,10 +1,10 @@ -package ru.ulstu.is.lab1.service; +package com.example.springip.lab3.service; -import ru.ulstu.is.lab1.dao.CarRepository; -import ru.ulstu.is.lab1.models.Buyer; -import ru.ulstu.is.lab1.models.Car; -import ru.ulstu.is.lab1.models.Store; -import javax.persistence.EntityNotFoundException; +import com.example.springip.lab3.dao.CarRepository; +import com.example.springip.lab3.models.Car; +import com.example.springip.lab3.models.Buyer; +import com.example.springip.lab3.models.Store; +import jakarta.persistence.EntityNotFoundException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -19,11 +19,11 @@ public class CarService { } @Transactional - public Car addCar(String surname, String name, String phoneNumber) { - if (!StringUtils.hasText(name) ||!StringUtils.hasText(surname) || !StringUtils.hasText(phoneNumber)) { + public Car addCar(String surname, String name, String price) { + if (!StringUtils.hasText(name) ||!StringUtils.hasText(surname) || !StringUtils.hasText(price)) { throw new IllegalArgumentException("Car's data is null or empty"); } - final Car car = new Car(surname, name, phoneNumber); + final Car car = new Car(surname, name, price); carRepository.save(car); return car; } @@ -47,14 +47,14 @@ public class CarService { } @Transactional - public Car updateCar(Long id, String surname, String name, String phoneNumber) { - if (!StringUtils.hasText(name) ||!StringUtils.hasText(surname) || !StringUtils.hasText(phoneNumber)) { + public Car updateCar(Long id, String surname, String name, String price) { + if (!StringUtils.hasText(name) ||!StringUtils.hasText(surname) || !StringUtils.hasText(price)) { throw new IllegalArgumentException("Car's data is null or empty"); } final Car currentCar = findCar(id); currentCar.setName(name); currentCar.setSurname(surname); - currentCar.setPhoneNumber(phoneNumber); + currentCar.setPrice(price); return carRepository.save(currentCar); } @@ -102,6 +102,10 @@ public class CarService { @Transactional public List getCarsByStore(Store p) { +// List cars = em.createQuery("select e from Car e INNER JOIN e.stores p WHERE p.id=:posit", +// Car.class) +// .setParameter("posit", p.getId()) +// .getResultList(); List cars = carRepository.findByStores_Id(p.getId()); return cars; } diff --git a/src/main/java/ru/ulstu/is/lab1/service/StoreService.java b/src/main/java/com/example/springip/lab3/service/StoreService.java similarity index 89% rename from src/main/java/ru/ulstu/is/lab1/service/StoreService.java rename to src/main/java/com/example/springip/lab3/service/StoreService.java index e6c7378..1ff6d66 100644 --- a/src/main/java/ru/ulstu/is/lab1/service/StoreService.java +++ b/src/main/java/com/example/springip/lab3/service/StoreService.java @@ -1,10 +1,8 @@ -package ru.ulstu.is.lab1.service; - -import ru.ulstu.is.lab1.dao.StoreRepository; -import ru.ulstu.is.lab1.models.Store; - -import javax.persistence.EntityNotFoundException; +package com.example.springip.lab3.service; +import com.example.springip.lab3.dao.StoreRepository; +import com.example.springip.lab3.models.Store; +import jakarta.persistence.EntityNotFoundException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils;
-