Skip to content

Commit 651e568

Browse files
committed
project 구조 정리
1 parent 9bd0c25 commit 651e568

File tree

343 files changed

+5456
-10647
lines changed

Some content is hidden

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

343 files changed

+5456
-10647
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
dependencies {
2+
implementation 'org.springframework.boot:spring-boot-starter-web'
3+
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
4+
runtimeOnly 'com.h2database:h2'
5+
compileOnly 'org.projectlombok:lombok'
6+
annotationProcessor 'org.projectlombok:lombok'
7+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
8+
}
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2-
3-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.GetReceiptUseCase;
4-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.ReceiptResult;
5-
import lombok.RequiredArgsConstructor;
6-
import org.springframework.web.bind.annotation.GetMapping;
7-
import org.springframework.web.bind.annotation.PathVariable;
8-
import org.springframework.web.bind.annotation.RestController;
9-
10-
@RequiredArgsConstructor
11-
@RestController
12-
public class AdminReceiptController {
13-
private final GetReceiptUseCase getReceiptUseCase;
14-
15-
@GetMapping("/receipt/{orderId}")
16-
public ReceiptResult getReceipt(@PathVariable String orderId) {
17-
return getReceiptUseCase.getReceipt(orderId);
18-
}
19-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2+
3+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.GetReceiptUseCase;
4+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.ReceiptResult;
5+
import lombok.RequiredArgsConstructor;
6+
import org.springframework.web.bind.annotation.GetMapping;
7+
import org.springframework.web.bind.annotation.PathVariable;
8+
import org.springframework.web.bind.annotation.RestController;
9+
10+
@RequiredArgsConstructor
11+
@RestController
12+
public class AdminReceiptController {
13+
private final GetReceiptUseCase getReceiptUseCase;
14+
15+
@GetMapping("/receipt/{orderId}")
16+
public ReceiptResult getReceipt(@PathVariable String orderId) {
17+
return getReceiptUseCase.getReceipt(orderId);
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2-
3-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderRequest;
4-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderResult;
5-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.PlaceOrderUseCase;
6-
import lombok.RequiredArgsConstructor;
7-
import org.springframework.web.bind.annotation.GetMapping;
8-
import org.springframework.web.bind.annotation.PathVariable;
9-
import org.springframework.web.bind.annotation.RestController;
10-
11-
@RequiredArgsConstructor
12-
@RestController
13-
public class PhoneOrderController {
14-
private final PlaceOrderUseCase placeOrderUseCase;
15-
16-
@GetMapping("/phone/{money}")
17-
public PhoneOrderResult order(@PathVariable int money) {
18-
OrderRequest orderRequest = new OrderRequest(money);
19-
OrderResult orderResult= placeOrderUseCase.placeOrder(orderRequest);
20-
21-
return new PhoneOrderResult(orderResult.getOrderId(), orderResult.getMoney());
22-
}
23-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2+
3+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderRequest;
4+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderResult;
5+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.PlaceOrderUseCase;
6+
import lombok.RequiredArgsConstructor;
7+
import org.springframework.web.bind.annotation.GetMapping;
8+
import org.springframework.web.bind.annotation.PathVariable;
9+
import org.springframework.web.bind.annotation.RestController;
10+
11+
@RequiredArgsConstructor
12+
@RestController
13+
public class PhoneOrderController {
14+
private final PlaceOrderUseCase placeOrderUseCase;
15+
16+
@GetMapping("/phone/{money}")
17+
public PhoneOrderResult order(@PathVariable int money) {
18+
OrderRequest orderRequest = new OrderRequest(money);
19+
OrderResult orderResult= placeOrderUseCase.placeOrder(orderRequest);
20+
21+
return new PhoneOrderResult(orderResult.getOrderId(), orderResult.getMoney());
22+
}
23+
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2-
3-
import lombok.AllArgsConstructor;
4-
import lombok.Getter;
5-
6-
@Getter
7-
@AllArgsConstructor
8-
class PhoneOrderResult {
9-
private String orderId;
10-
private int price;
11-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
6+
@Getter
7+
@AllArgsConstructor
8+
class PhoneOrderResult {
9+
private String orderId;
10+
private int price;
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2-
3-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderRequest;
4-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderResult;
5-
import com.zkdlu.hexagonal.orderapp.application.order.port.in.PlaceOrderUseCase;
6-
import lombok.RequiredArgsConstructor;
7-
import org.springframework.web.bind.annotation.GetMapping;
8-
import org.springframework.web.bind.annotation.PathVariable;
9-
import org.springframework.web.bind.annotation.RestController;
10-
11-
@RequiredArgsConstructor
12-
@RestController
13-
public class WebOrderController {
14-
private final PlaceOrderUseCase placeOrderUseCase;
15-
16-
@GetMapping("/web/{money}")
17-
public OrderResult order(@PathVariable int money) {
18-
19-
OrderRequest orderRequest = new OrderRequest(money);
20-
return placeOrderUseCase.placeOrder(orderRequest);
21-
}
22-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.in.presentation;
2+
3+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderRequest;
4+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.OrderResult;
5+
import com.zkdlu.hexagonal.orderapp.application.order.port.in.PlaceOrderUseCase;
6+
import lombok.RequiredArgsConstructor;
7+
import org.springframework.web.bind.annotation.GetMapping;
8+
import org.springframework.web.bind.annotation.PathVariable;
9+
import org.springframework.web.bind.annotation.RestController;
10+
11+
@RequiredArgsConstructor
12+
@RestController
13+
public class WebOrderController {
14+
private final PlaceOrderUseCase placeOrderUseCase;
15+
16+
@GetMapping("/web/{money}")
17+
public OrderResult order(@PathVariable int money) {
18+
19+
OrderRequest orderRequest = new OrderRequest(money);
20+
return placeOrderUseCase.placeOrder(orderRequest);
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.out.infrastructure.persistence;
2-
3-
import com.zkdlu.hexagonal.orderapp.application.order.port.out.OrderRecord;
4-
import lombok.Getter;
5-
import lombok.NoArgsConstructor;
6-
7-
import javax.persistence.*;
8-
9-
@NoArgsConstructor
10-
@Getter
11-
@Entity
12-
@Table(name = "orderRecord")
13-
class OrderRecordEntity {
14-
@Id
15-
@GeneratedValue
16-
private long id;
17-
@Column(unique = true)
18-
private String orderId;
19-
private int money;
20-
21-
private OrderRecordEntity(String orderId, int money) {
22-
this.orderId = orderId;
23-
this.money = money;
24-
}
25-
26-
public static OrderRecordEntity from(OrderRecord orderRecord) {
27-
return new OrderRecordEntity(orderRecord.getOrderId(), orderRecord.getMoney());
28-
}
29-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.out.infrastructure.persistence;
2+
3+
import com.zkdlu.hexagonal.orderapp.application.order.port.out.OrderRecord;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
7+
import javax.persistence.*;
8+
9+
@NoArgsConstructor
10+
@Getter
11+
@Entity
12+
@Table(name = "orderRecord")
13+
class OrderRecordEntity {
14+
@Id
15+
@GeneratedValue
16+
private long id;
17+
@Column(unique = true)
18+
private String orderId;
19+
private int money;
20+
21+
private OrderRecordEntity(String orderId, int money) {
22+
this.orderId = orderId;
23+
this.money = money;
24+
}
25+
26+
public static OrderRecordEntity from(OrderRecord orderRecord) {
27+
return new OrderRecordEntity(orderRecord.getOrderId(), orderRecord.getMoney());
28+
}
29+
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.out.infrastructure.persistence;
2-
3-
import org.springframework.data.jpa.repository.JpaRepository;
4-
5-
import java.util.Optional;
6-
7-
public interface OrderRecordRepository extends JpaRepository<OrderRecordEntity, Long> {
8-
public Optional<OrderRecordEntity> findByOrderId(String orderId);
9-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.out.infrastructure.persistence;
2+
3+
import org.springframework.data.jpa.repository.JpaRepository;
4+
5+
import java.util.Optional;
6+
7+
public interface OrderRecordRepository extends JpaRepository<OrderRecordEntity, Long> {
8+
public Optional<OrderRecordEntity> findByOrderId(String orderId);
9+
}
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
package com.zkdlu.hexagonal.orderapp.adapter.out.infrastructure.persistence;
2-
3-
import com.zkdlu.hexagonal.orderapp.application.order.port.out.GetOrderRecordPort;
4-
import com.zkdlu.hexagonal.orderapp.application.order.port.out.OrderRecord;
5-
import com.zkdlu.hexagonal.orderapp.application.order.port.out.RecordOrderPort;
6-
import lombok.RequiredArgsConstructor;
7-
import org.springframework.stereotype.Repository;
8-
9-
@RequiredArgsConstructor
10-
@Repository
11-
public class RecordOrderAdapter implements RecordOrderPort, GetOrderRecordPort {
12-
private final OrderRecordRepository orderRecordRepository;
13-
14-
@Override
15-
public void recordOrder(OrderRecord orderRecord) {
16-
orderRecordRepository.save(OrderRecordEntity.from(orderRecord));
17-
}
18-
19-
@Override
20-
public OrderRecord getOrder(String orderId) {
21-
OrderRecordEntity orderRecord = orderRecordRepository.findByOrderId(orderId).orElseThrow(IllegalAccessError::new);
22-
23-
return new OrderRecord(orderRecord.getOrderId(), orderRecord.getMoney());
24-
}
1+
package com.zkdlu.hexagonal.orderapp.adapter.out.infrastructure.persistence;
2+
3+
import com.zkdlu.hexagonal.orderapp.application.order.port.out.GetOrderRecordPort;
4+
import com.zkdlu.hexagonal.orderapp.application.order.port.out.OrderRecord;
5+
import com.zkdlu.hexagonal.orderapp.application.order.port.out.RecordOrderPort;
6+
import lombok.RequiredArgsConstructor;
7+
import org.springframework.stereotype.Repository;
8+
9+
@RequiredArgsConstructor
10+
@Repository
11+
public class RecordOrderAdapter implements RecordOrderPort, GetOrderRecordPort {
12+
private final OrderRecordRepository orderRecordRepository;
13+
14+
@Override
15+
public void recordOrder(OrderRecord orderRecord) {
16+
orderRecordRepository.save(OrderRecordEntity.from(orderRecord));
17+
}
18+
19+
@Override
20+
public OrderRecord getOrder(String orderId) {
21+
OrderRecordEntity orderRecord = orderRecordRepository.findByOrderId(orderId).orElseThrow(IllegalAccessError::new);
22+
23+
return new OrderRecord(orderRecord.getOrderId(), orderRecord.getMoney());
24+
}
2525
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2-
3-
public interface GetReceiptUseCase {
4-
ReceiptResult getReceipt(String orderId);
5-
}
1+
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2+
3+
public interface GetReceiptUseCase {
4+
ReceiptResult getReceipt(String orderId);
5+
}
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2-
3-
import lombok.AllArgsConstructor;
4-
import lombok.Getter;
5-
6-
@AllArgsConstructor
7-
@Getter
8-
public class OrderRequest {
9-
private int money;
10-
}
1+
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
6+
@AllArgsConstructor
7+
@Getter
8+
public class OrderRequest {
9+
private int money;
10+
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2-
3-
import lombok.AllArgsConstructor;
4-
import lombok.Getter;
5-
6-
@AllArgsConstructor
7-
@Getter
8-
public class OrderResult {
9-
private String orderId;
10-
private int money;
11-
}
1+
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
6+
@AllArgsConstructor
7+
@Getter
8+
public class OrderResult {
9+
private String orderId;
10+
private int money;
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2-
3-
public interface PlaceOrderUseCase {
4-
OrderResult placeOrder(OrderRequest orderDetail);
5-
}
1+
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2+
3+
public interface PlaceOrderUseCase {
4+
OrderResult placeOrder(OrderRequest orderDetail);
5+
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2-
3-
import lombok.AllArgsConstructor;
4-
import lombok.Getter;
5-
6-
@AllArgsConstructor
7-
@Getter
8-
public class ReceiptResult {
9-
private String orderId;
10-
private int money;
11-
}
1+
package com.zkdlu.hexagonal.orderapp.application.order.port.in;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
6+
@AllArgsConstructor
7+
@Getter
8+
public class ReceiptResult {
9+
private String orderId;
10+
private int money;
11+
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
package com.zkdlu.hexagonal.orderapp.application.order.port.out;
2-
3-
public interface GetOrderRecordPort {
4-
OrderRecord getOrder(String orderId);
1+
package com.zkdlu.hexagonal.orderapp.application.order.port.out;
2+
3+
public interface GetOrderRecordPort {
4+
OrderRecord getOrder(String orderId);
55
}

0 commit comments

Comments
 (0)