Skip to content

Commit 81cb710

Browse files
authored
Merge pull request #66 from ConconDev/feat/transaction
Feat/transaction
2 parents 4b781d9 + f393a1a commit 81cb710

File tree

11 files changed

+47
-14
lines changed

11 files changed

+47
-14
lines changed

src/main/java/com/sookmyung/concon/Coupon/Entity/Coupon.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,19 @@ public void useCoupon(LocalDate useDate) {
6060
@Setter
6161
private boolean buyFlag; // 구매 여부
6262

63+
private boolean sellFlag;
64+
6365
private String memo;
6466

6567

6668
public void changeUser(User user) {
6769
this.user = user;
6870
}
6971

72+
public void updateSellFlag(boolean sellFlag) {
73+
this.sellFlag = sellFlag;
74+
}
75+
7076
public void update(String barcode, Double remainingPrice,
7177
LocalDate expirationDate, String memo,
7278
Item item, String itemImageUrl, Double itemPrice) {

src/main/java/com/sookmyung/concon/Coupon/dto/CouponCreateRequestDto.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public Coupon toEntity(User user, Item item, LocalDateTime now) {
3232
.itemPrice(item.getPrice())
3333
.remainingPrice(price)
3434
.expirationDate(expirationDate)
35+
.sellFlag(false)
3536
.buyFlag(false)
3637
.memo(memo)
3738
.build();

src/main/java/com/sookmyung/concon/Coupon/dto/CouponCreateResponseDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class CouponCreateResponseDto {
1616
private Double price;
1717
private String category;
1818
private boolean isUsed;
19+
private boolean isSellFlag;
1920
private boolean isBuyFlag;
2021
private String barcodeImageUploadUrl;
2122
private String couponImageUploadUrl;
@@ -29,6 +30,7 @@ public static CouponCreateResponseDto toDto(Coupon coupon, ItemSimpleResponseDto
2930
.expirationDate(coupon.getExpirationDate())
3031
.price(coupon.getRemainingPrice())
3132
.isUsed(false)
33+
.isSellFlag(coupon.isSellFlag())
3234
.isBuyFlag(coupon.isBuyFlag())
3335
.barcodeImageUploadUrl(barcodeImageUploadUrl)
3436
.couponImageUploadUrl(couponImageUploadUrl)

src/main/java/com/sookmyung/concon/Coupon/dto/CouponDetailResponseDto.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,32 @@ public class CouponDetailResponseDto {
2626
private Double price;
2727
private LocalDate expirationDate;
2828
private LocalDate usedDate;
29-
private Boolean buyFlag;
29+
private boolean sellFlag;
30+
private boolean buyFlag;
3031
private String memo;
3132
private List<ReviewSimpleResponseDto> reviews;
3233

3334
// TODO : Exception 처리
3435
public static CouponDetailResponseDto toDto(Coupon coupon, UserSimpleResponseDto user,
3536
ItemSimpleResponseDto item, String barcodeImageUrl,
3637
String couponImageUrl, List<ReviewSimpleResponseDto> reviews) {
38+
String barcode = "";
39+
if (!coupon.isSellFlag()) {
40+
barcode = coupon.getBarcode();
41+
}
42+
3743
return CouponDetailResponseDto.builder()
3844
.couponId(coupon.getId())
3945
.user(user)
4046
.item(item)
41-
.barcode(coupon.getBarcode())
47+
.barcode(barcode)
4248
.barcodeImageUrl(barcodeImageUrl)
4349
.itemImageUrl(item.getImageUrl())
4450
.couponImageUrl(couponImageUrl)
4551
.price(coupon.getRemainingPrice())
4652
.expirationDate(coupon.getExpirationDate())
4753
.usedDate(coupon.getUsedDate())
54+
.sellFlag(coupon.isSellFlag())
4855
.buyFlag(coupon.isBuyFlag())
4956
.memo(coupon.getMemo())
5057
.reviews(reviews)

src/main/java/com/sookmyung/concon/Coupon/dto/CouponSimpleResponseDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class CouponSimpleResponseDto {
1616
private Double price;
1717
private boolean isUsed;
1818
private boolean isBuyFlag;
19+
private boolean isSellFlag;
1920
private String memo;
2021

2122
public static CouponSimpleResponseDto toDto(Coupon coupon, ItemSimpleResponseDto item, boolean isUsed) {
@@ -25,6 +26,7 @@ public static CouponSimpleResponseDto toDto(Coupon coupon, ItemSimpleResponseDto
2526
.expirationDate(coupon.getExpirationDate())
2627
.price(coupon.getRemainingPrice())
2728
.isUsed(isUsed)
29+
.isSellFlag(coupon.isSellFlag())
2830
.isBuyFlag(coupon.isBuyFlag())
2931
.memo(coupon.getMemo())
3032
.build();

src/main/java/com/sookmyung/concon/Coupon/service/CouponFacade.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,15 @@ public class CouponFacade {
2828
private final ReviewRepository reviewRepository;
2929

3030
public CouponDetailResponseDto toDetailDto(Coupon coupon, User user, Item item) {
31-
String couponImageUrl = photoFacade.getCouponPhotoUrl(coupon);
32-
String barcodeImageUrl = photoFacade.getCouponBarcodePhotoUrl(coupon);
31+
String couponImageUrl = "";
32+
String barcodeImageUrl = "";
33+
if (!coupon.isSellFlag()) {
34+
couponImageUrl = photoFacade.getCouponPhotoUrl(coupon);
35+
barcodeImageUrl = photoFacade.getCouponBarcodePhotoUrl(coupon);
36+
}
3337
UserSimpleResponseDto userDto = UserSimpleResponseDto.toDto(user, photoFacade.getUserPhotoUrl(user));
3438
ItemSimpleResponseDto itemDto = ItemSimpleResponseDto.toDto(item, photoFacade.getItemPhotoUrl(item));
39+
3540
List<ReviewSimpleResponseDto> reviews = reviewRepository.findAllByItemId(item.getId(), PageRequest.of(0, 10))
3641
.stream().map(ReviewSimpleResponseDto::toDto).toList();
3742

src/main/java/com/sookmyung/concon/Coupon/service/CouponService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ public class CouponService {
3434
private final ItemFacade itemFacade;
3535
private final OrderUserFacade orderUserFacade;
3636
private final CouponFacade couponFacade;
37-
private final PhotoFacade photoFacade;
38-
private final UserFacade userFacade;
3937
private final ReviewRepository reviewRepository;
4038

4139

@@ -61,6 +59,9 @@ public List<CouponSimpleResponseDto> getAllMyCoupon(String token) {
6159
.map(couponFacade::toSimpleDto)
6260
.toList();
6361
}
62+
63+
64+
// 쿠폰 ID 로 단일 조회
6465
@Transactional(readOnly = true)
6566
public CouponDetailResponseDto getCouponDetail(String token, Long couponId) {
6667
User user = orderUserFacade.findUserByToken(token);
@@ -95,6 +96,7 @@ public CouponDetailResponseDto cancelCoupon(Long couponId) {
9596
return couponFacade.toDetailDto(coupon, coupon.getUser(), coupon.getItem());
9697
}
9798

99+
// 남은 돈 업데이트
98100
@Transactional
99101
public CouponDetailResponseDto changeRemainPrice(CouponChangePriceRequestDto request) {
100102
Coupon coupon = couponFacade.findByCouponId(request.getCouponId());

src/main/java/com/sookmyung/concon/Order/controller/TransactionController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public ResponseEntity<? extends BasicResponse> requestOrder(
5252
@PostMapping("/cancel/{order-id}")
5353
public ResponseEntity<OrderDetailResponseDto> cancelTransaction(
5454
@PathVariable("order-id") Long orderId) {
55-
return ResponseEntity.ok(transactionService.cancelTransaction(orderId));
55+
transactionService.cancelTransaction(orderId);
56+
return ResponseEntity.noContent().build();
5657
}
5758

5859
// 거래 완료

src/main/java/com/sookmyung/concon/Order/dto/OrderRequestResponseDto.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@
88
@Builder @Getter
99
public class OrderRequestResponseDto {
1010
private Long orderId;
11-
private String orderTitle;
1211
private Long requesterId;
1312
private String requesterName;
13+
private String qrImage;
1414

15-
public static OrderRequestResponseDto toDto(Orders orders, User requester) {
15+
public static OrderRequestResponseDto toDto(Orders orders, User requester, String qrImage) {
1616
return OrderRequestResponseDto.builder()
1717
.orderId(orders.getId())
1818
.requesterId(requester.getId())
1919
.requesterName(requester.getUsername())
20+
.qrImage(qrImage)
2021
.build();
2122
}
2223
}

src/main/java/com/sookmyung/concon/Order/service/OrderServiceImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ public OrderDetailResponseDto createOrder(OrderCreateRequestDto request) {
4848
User seller = coupon.getUser();
4949
Orders orders = request.toEntity(coupon, seller);
5050
orderRepository.save(orders);
51+
52+
coupon.updateSellFlag(true);
53+
5154
return OrderDetailResponseDto.toDto(orders,
5255
CouponSimpleResponseDto.toDto(coupon,
5356
ItemSimpleResponseDto.toDto(item, photoFacade.getItemPhotoUrl(item)),

0 commit comments

Comments
 (0)