Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

Commit

Permalink
feat: 상품 검수 및 결과에 따른 처리 기능 구현
Browse files Browse the repository at this point in the history
-검수 성공 시 tradeStatus를 PRE_SHIPMENT로 변경
-검수 실패 시 tradeStatus를 CANCEL로 변경 및 취소 사유 입력, 구매 포인트 환급
-검수 실패 처리된 거래의 상품을 반송 후 운송장 번호 입력

issue number: #102
  • Loading branch information
Hosick committed Apr 25, 2021
1 parent 3b1c37f commit d76b6fc
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,23 @@ public void updateReceivingTrackingNumber(@PathVariable Long id, @CurrentUser St
public void confirmWarehousing(@PathVariable Long id) {
tradeService.confirmWarehousing(id);
}

@LoginCheck(authority = UserLevel.ADMIN)
@PatchMapping("{id}/inspection-successful")
public void inspectionSuccessful(@PathVariable Long id) {
tradeService.inspectionSuccessful(id);
}

@LoginCheck(authority = UserLevel.ADMIN)
@PatchMapping("{id}/inspection-failed")
public void inspectionFailed(@PathVariable Long id, @RequestBody String reason) {
tradeService.inspectionFailed(id, reason);
}

@LoginCheck(authority = UserLevel.ADMIN)
@PatchMapping("{id}/return-tracking-number")
public void updateReturnTrackingNumber(@PathVariable Long id,
@RequestBody String trackingNumber) {
tradeService.updateReturnTrackingNumber(id, trackingNumber);
}
}
6 changes: 6 additions & 0 deletions src/main/java/com/flab/shoeauction/domain/trade/Trade.java
Original file line number Diff line number Diff line change
Expand Up @@ -139,4 +139,10 @@ public boolean isSellersEmail(String email) {
public void recoverBuyerPoints(Long price) {
buyer.chargingPoint(price);
}

public void cancelBecauseOfInspection(String reason){
this.cancelReason = reason;
this.status = TradeStatus.CANCEL;
buyer.chargingPoint(price);
}
}
22 changes: 22 additions & 0 deletions src/main/java/com/flab/shoeauction/service/TradeService.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.flab.shoeauction.service;

import static com.flab.shoeauction.domain.trade.TradeStatus.PRE_INSPECTION;
import static com.flab.shoeauction.domain.trade.TradeStatus.PRE_SHIPMENT;
import static com.flab.shoeauction.domain.trade.TradeStatus.PRE_WAREHOUSING;

import com.flab.shoeauction.controller.dto.ProductDto.ProductInfoByTrade;
Expand Down Expand Up @@ -152,4 +153,25 @@ public void confirmWarehousing(Long tradeId) {

trade.updateStatus(PRE_INSPECTION);
}

@Transactional
public void inspectionSuccessful(Long tradeId) {
Trade trade = tradeRepository.findById(tradeId).orElseThrow();

trade.updateStatus(PRE_SHIPMENT);
}

@Transactional
public void inspectionFailed(Long tradeId, String reason) {
Trade trade = tradeRepository.findById(tradeId).orElseThrow();

trade.cancelBecauseOfInspection(reason);
}

@Transactional
public void updateReturnTrackingNumber(Long tradeId, String trackingNumber) {
Trade trade = tradeRepository.findById(tradeId).orElseThrow();

trade.updateReturnTrackingNumber(trackingNumber);
}
}

0 comments on commit d76b6fc

Please sign in to comment.