Skip to content

Commit c2e5c5f

Browse files
committed
рефакторинг бэкэнда с тестами: mapperы
1 parent f735014 commit c2e5c5f

50 files changed

Lines changed: 694 additions & 145 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/maven.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ name: Build
33
on:
44
pull_request:
55
branches:
6-
- 'telegram-bot-sprint1'
6+
- 'main'
77
push:
88
branches:
9-
- 'telegram-bot-sprint1'
9+
- 'main'
1010

1111
jobs:
1212
build:
@@ -23,13 +23,13 @@ jobs:
2323
distribution: 'temurin'
2424
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
2525
- name: Maven Install Core
26-
run: mvn -f core/pom.xml clean install -Dmaven.test.skip=true
26+
run: mvn -f core/pom.xml clean install
2727

2828
- name: Maven Package Telegrambot
29-
run: mvn -f telegrambot/pom.xml clean package -Dmaven.test.skip=true
29+
run: mvn -f telegrambot/pom.xml clean package
3030

3131
- name: Maven Package api
32-
run: mvn -f api/pom.xml clean package -Dmaven.test.skip=true
32+
run: mvn -f api/pom.xml clean package
3333

3434
- name: FTP Deploy api
3535
uses: SamKirkland/[email protected]

api/src/main/java/ru/teamtwo/api/controller/customer/CartItemControllerImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -18,7 +17,7 @@
1817

1918
@Slf4j
2019
@RestController
21-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
20+
@RequiredArgsConstructor
2221
@RequestMapping("/marketplace/api/cart_item")
2322
public class CartItemControllerImpl implements CartItemController {
2423
private final CartItemService cartItemService;

api/src/main/java/ru/teamtwo/api/controller/customer/CustomerControllerImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -19,7 +18,7 @@
1918

2019
@Slf4j
2120
@RestController
22-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
21+
@RequiredArgsConstructor
2322
@RequestMapping("/marketplace/api/customer")
2423
public class CustomerControllerImpl implements CustomerController {
2524
private final CustomerService customerService;

api/src/main/java/ru/teamtwo/api/controller/customer/OrderControllerImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -19,7 +18,7 @@
1918

2019
@Slf4j
2120
@RestController
22-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
21+
@RequiredArgsConstructor
2322
@RequestMapping("/marketplace/api/order")
2423
public class OrderControllerImpl implements OrderController {
2524
private final OrderService orderService;

api/src/main/java/ru/teamtwo/api/controller/customer/OrderItemControllerImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -19,7 +18,7 @@
1918

2019
@Slf4j
2120
@RestController
22-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
21+
@RequiredArgsConstructor
2322
@RequestMapping("/marketplace/api/order_item")
2423
public class OrderItemControllerImpl implements OrderItemController {
2524
private final OrderItemService orderItemService;

api/src/main/java/ru/teamtwo/api/controller/product/ProductControllerImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -17,7 +16,7 @@
1716

1817
@Slf4j
1918
@RestController
20-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
19+
@RequiredArgsConstructor
2120
@RequestMapping("/marketplace/api/product")
2221
public class ProductControllerImpl implements ProductController {
2322
private final ProductService productService;

api/src/main/java/ru/teamtwo/api/controller/product/ProductOfferControllerImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -17,7 +16,7 @@
1716

1817
@Slf4j
1918
@RestController
20-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
19+
@RequiredArgsConstructor
2120
@RequestMapping("/marketplace/api/product_offer")
2221
public class ProductOfferControllerImpl implements ProductOfferController {
2322
private final ProductOfferService productOfferService;

api/src/main/java/ru/teamtwo/api/controller/product/StoreControllerImpl.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.beans.factory.annotation.Autowired;
65
import org.springframework.http.ResponseEntity;
76
import org.springframework.web.bind.annotation.GetMapping;
87
import org.springframework.web.bind.annotation.PathVariable;
@@ -11,14 +10,13 @@
1110
import org.springframework.web.bind.annotation.RestController;
1211
import ru.teamtwo.api.service.api.product.StoreService;
1312
import ru.teamtwo.core.dtos.controller.product.StoreController;
14-
import ru.teamtwo.core.dtos.product.ProductOfferDto;
1513
import ru.teamtwo.core.dtos.product.StoreDto;
1614

1715
import java.util.Set;
1816

1917
@Slf4j
2018
@RestController
21-
@RequiredArgsConstructor(onConstructor=@__(@Autowired))
19+
@RequiredArgsConstructor
2220
@RequestMapping("/marketplace/api/store")
2321
public class StoreControllerImpl implements StoreController {
2422
private final StoreService storeService;
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,31 @@
11
package ru.teamtwo.api.mappers.customer;
22

3+
import org.mapstruct.AfterMapping;
34
import org.mapstruct.Mapper;
45
import org.mapstruct.Mapping;
6+
import org.mapstruct.MappingTarget;
57
import org.mapstruct.Mappings;
8+
import org.springframework.beans.factory.annotation.Autowired;
69
import ru.teamtwo.api.models.customer.CartItem;
10+
import ru.teamtwo.api.repository.customer.CustomerRepository;
11+
import ru.teamtwo.api.repository.product.ProductOfferRepository;
712
import ru.teamtwo.core.dtos.customer.CartItemDto;
813

914
@Mapper(componentModel = "spring")
10-
public interface CartItemMapper {
15+
public abstract class CartItemMapper {
16+
@Autowired
17+
private ProductOfferRepository productOfferRepository;
18+
@Autowired
19+
private CustomerRepository customerRepository;
1120
@Mappings({
1221
@Mapping(target="customerId", source="cartItem.customer.id"),
13-
@Mapping(target="productId", source= "cartItem.productOffer.id")
22+
@Mapping(target="productOfferId", source= "cartItem.productOffer.id")
1423
})
15-
CartItemDto convert(CartItem cartItem);
16-
CartItem convert(CartItemDto cartItemDto);
24+
public abstract CartItemDto convert(CartItem cartItem);
25+
public abstract CartItem convert(CartItemDto cartItemDto);
26+
@AfterMapping
27+
protected void afterMapping(CartItemDto cartItemDto, @MappingTarget CartItem.CartItemBuilder cartItem) {
28+
cartItem.customer(customerRepository.getById(cartItemDto.customerId()));
29+
cartItem.productOffer(productOfferRepository.getById(cartItemDto.productOfferId()));
30+
}
1731
}
Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
package ru.teamtwo.api.mappers.customer;
22

3+
import org.mapstruct.AfterMapping;
34
import org.mapstruct.Mapper;
45
import org.mapstruct.Mapping;
6+
import org.mapstruct.MappingTarget;
57
import org.mapstruct.Mappings;
8+
import org.springframework.beans.factory.annotation.Autowired;
69
import ru.teamtwo.api.models.customer.OrderItem;
10+
import ru.teamtwo.api.repository.customer.OrderRepository;
11+
import ru.teamtwo.api.repository.product.ProductOfferRepository;
712
import ru.teamtwo.core.dtos.customer.OrderItemDto;
813

914
@Mapper(componentModel = "spring")
10-
public interface OrderItemMapper {
15+
public abstract class OrderItemMapper {
16+
@Autowired
17+
private ProductOfferRepository productOfferRepository;
18+
@Autowired
19+
private OrderRepository orderRepository;
1120
@Mappings({
1221
@Mapping(target="orderId", source="orderItem.order.id"),
1322
@Mapping(target="productOfferId", source="orderItem.productOffer.id")
1423
})
15-
OrderItemDto convert(OrderItem orderItem);
16-
17-
OrderItem convert(OrderItemDto orderItemDto);
24+
public abstract OrderItemDto convert(OrderItem orderItem);
25+
public abstract OrderItem convert(OrderItemDto orderItemDto);
26+
@AfterMapping
27+
protected void afterMapping(OrderItemDto orderItemDto, @MappingTarget OrderItem.OrderItemBuilder orderItemBuilder) {
28+
orderItemBuilder.order(orderRepository.getById(orderItemDto.orderId()));
29+
orderItemBuilder.productOffer(productOfferRepository.getById(orderItemDto.productOfferId()));
30+
}
1831
}

0 commit comments

Comments
 (0)