|
|
@@ -2,6 +2,7 @@ package com.example.hotel.blImpl.hotel;
|
|
|
|
|
|
import com.example.hotel.bl.hotel.HotelService;
|
|
|
import com.example.hotel.bl.hotel.RoomService;
|
|
|
+import com.example.hotel.bl.order.OrderService;
|
|
|
import com.example.hotel.bl.user.AccountService;
|
|
|
import com.example.hotel.data.hotel.HotelMapper;
|
|
|
import com.example.hotel.data.hotel.RoomMapper;
|
|
|
@@ -11,6 +12,7 @@ import com.example.hotel.enums.HotelStar;
|
|
|
import com.example.hotel.enums.UserType;
|
|
|
import com.example.hotel.po.Hotel;
|
|
|
import com.example.hotel.po.HotelRoom;
|
|
|
+import com.example.hotel.po.Order;
|
|
|
import com.example.hotel.po.User;
|
|
|
import com.example.hotel.util.ServiceException;
|
|
|
import com.example.hotel.vo.CouponVO;
|
|
|
@@ -30,6 +32,10 @@ public class HotelServiceImpl implements HotelService {
|
|
|
|
|
|
@Autowired
|
|
|
private AccountService accountService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OrderService orderService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private RoomService roomService;
|
|
|
|
|
|
@@ -84,5 +90,19 @@ public class HotelServiceImpl implements HotelService {
|
|
|
|
|
|
return hotelVO;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 反例:
|
|
|
+ * 错误的例子,HotelService依赖OrderService去获取hotel的所有订单信息
|
|
|
+ * 1、功能划分错误,获取酒店订单应属于订单服务的功能
|
|
|
+ * 2、糟糕的实现方式,有欸有更好的实现方式?
|
|
|
+ * 3、循环依赖
|
|
|
+ * @param hotelId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Order> getHotelOrders(Integer hotelId) {
|
|
|
+ List<Order> orders = orderService.getAllOrders();
|
|
|
+ return orders.stream().filter(order -> order.getHotelId().equals(hotelId)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
}
|