22
33import com .cleanengine .coin .common .error .BusinessException ;
44import com .cleanengine .coin .common .response .ErrorStatus ;
5- import com .cleanengine .coin .order .application .OrderService ;
65import com .cleanengine .coin .order .domain .BuyOrder ;
76import com .cleanengine .coin .order .domain .Order ;
87import com .cleanengine .coin .order .domain .OrderStatus ;
@@ -89,12 +88,12 @@ public void executeTrade(WaitingOrders waitingOrders, TradePair<Order, Order> tr
8988 tradeExecutedEventPublisher .publish (tradeExecutedEvent );
9089 }
9190
92- public void increaseAccountCash (Order order , Double amount ) {
91+ private Account increaseAccountCash (Order order , Double amount ) {
9392 Account account = accountService .findAccountByUserId (order .getUserId ()).orElseThrow ();
94- accountService .save (account .increaseCash (amount ));
93+ return accountService .save (account .increaseCash (amount ));
9594 }
9695
97- public void updateWalletAfterTrade (Order order , String ticker , double tradedSize , double totalTradedPrice ) {
96+ private Wallet updateWalletAfterTrade (Order order , String ticker , double tradedSize , double totalTradedPrice ) {
9897 if (order instanceof BuyOrder ) {
9998 Wallet buyerWallet = walletService .findWalletByUserIdAndTicker (order .getUserId (), ticker );
10099 double updatedBuySize = buyerWallet .getSize () + tradedSize ;
@@ -103,17 +102,17 @@ public void updateWalletAfterTrade(Order order, String ticker, double tradedSize
103102 buyerWallet .setSize (updatedBuySize );
104103 buyerWallet .setBuyPrice (updatedBuyPrice );
105104 // TODO : ROI 계산
106- walletService .save (buyerWallet );
105+ return walletService .save (buyerWallet );
107106 } else if (order instanceof SellOrder ) {
108107 // 매도 시에는 평단가 변동 없음
109108 Wallet sellerWallet = walletService .findWalletByUserIdAndTicker (order .getUserId (), ticker );
110- walletService .save (sellerWallet );
109+ return walletService .save (sellerWallet );
111110 } else {
112111 throw new BusinessException ("Unsupported order type: " + order .getClass ().getName (), ErrorStatus .INTERNAL_SERVER_ERROR );
113112 }
114113 }
115114
116- public Trade insertNewTrade (String ticker , BuyOrder buyOrder , SellOrder sellOrder , double tradeSize , Double tradePrice ) {
115+ private Trade insertNewTrade (String ticker , BuyOrder buyOrder , SellOrder sellOrder , double tradeSize , Double tradePrice ) {
117116 Trade newTrade = Trade .of (ticker , LocalDateTime .now (), buyOrder .getUserId (), sellOrder .getUserId (), tradePrice , tradeSize );
118117
119118 return tradeService .save (newTrade );
@@ -184,7 +183,7 @@ private void removeCompletedSellOrder(WaitingOrders waitingOrders, SellOrder ord
184183 }
185184 }
186185
187- public void updateCompletedOrderStatus (Order order ) {
186+ private void updateCompletedOrderStatus (Order order ) {
188187 order .setState (OrderStatus .DONE );
189188 }
190189
0 commit comments