From 2d6c7a00290b77687f5d14da427aef6c45b08909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B0=D1=88=D0=B8=D0=BD=20=D0=9C=D0=B0=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D0=BC?= Date: Mon, 17 Apr 2023 22:54:30 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B14=20=D0=BF=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 6 +- data.mv.db | Bin 0 -> 57344 bytes front/src/App.js | 9 +-- front/src/components/Buyers.jsx | 18 ++--- front/src/components/Cars.jsx | 28 ++++--- front/src/components/Catalog.jsx | 2 +- front/src/components/Main.jsx | 76 ------------------ front/src/components/OneBuyer.jsx | 50 +++++------- front/src/components/OneBuyer.module.css | 4 +- front/src/components/Stores.jsx | 4 +- front/src/components/commons/Header.jsx | 2 +- front/src/components/commons/ItemTable.jsx | 2 +- front/src/models/Buyer.js | 4 +- front/src/models/Car.js | 2 +- settings.gradle | 2 +- .../springip/SpringipApplication.java} | 9 ++- .../example/springip}/WebConfiguration.java | 2 +- .../lab3}/controller/BuyerController.java | 24 +++--- .../lab3}/controller/CarController.java | 28 +++---- .../lab3}/controller/StoreController.java | 10 +-- .../springip/lab3}/dao/BuyerRepository.java | 4 +- .../springip/lab3}/dao/CarRepository.java | 4 +- .../springip/lab3}/dao/StoreRepository.java | 4 +- .../example/springip/lab3}/dto/BuyerDto.java | 8 +- .../lab3/dto/BuyerWithoutEmpDto.java} | 8 +- .../example/springip/lab3}/dto/CarDto.java | 18 ++--- .../example/springip/lab3}/dto/StoreDto.java | 4 +- .../example/springip/lab3}/models/Buyer.java | 6 +- .../example/springip/lab3}/models/Car.java | 18 ++--- .../example/springip/lab3}/models/Store.java | 12 +-- .../springip/lab3}/service/BuyerService.java | 26 +++--- .../springip/lab3}/service/CarService.java | 28 ++++--- .../springip/lab3}/service/StoreService.java | 10 +-- 33 files changed, 175 insertions(+), 257 deletions(-) create mode 100644 data.mv.db delete mode 100644 front/src/components/Main.jsx rename src/main/java/{ru/ulstu/is/lab1/Lab1Application.java => com/example/springip/SpringipApplication.java} (60%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip}/WebConfiguration.java (93%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/controller/BuyerController.java (70%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/controller/CarController.java (72%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/controller/StoreController.java (79%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/dao/BuyerRepository.java (70%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/dao/CarRepository.java (77%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/dao/StoreRepository.java (70%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/dto/BuyerDto.java (74%) rename src/main/java/{ru/ulstu/is/lab1/dto/BuyerWithoutCaDto.java => com/example/springip/lab3/dto/BuyerWithoutEmpDto.java} (60%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/dto/CarDto.java (63%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/dto/StoreDto.java (77%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/models/Buyer.java (90%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/models/Car.java (84%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/models/Store.java (88%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/service/BuyerService.java (76%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/service/CarService.java (77%) rename src/main/java/{ru/ulstu/is/lab1 => com/example/springip/lab3}/service/StoreService.java (89%) 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 0000000000000000000000000000000000000000..977c220494e8f89fa84e84c9ec86a991302df96d GIT binary patch literal 57344 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 }, - { 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;
-