|
|
@@ -1,11 +1,17 @@
|
|
|
package com.example.hotel.blImpl.order;
|
|
|
|
|
|
import com.example.hotel.bl.order.OrderService;
|
|
|
+import com.example.hotel.blImpl.hotel.HotelServiceImpl;
|
|
|
import com.example.hotel.data.order.OrderMapper;
|
|
|
import com.example.hotel.po.Order;
|
|
|
+import com.example.hotel.vo.OrderVO;
|
|
|
+import com.example.hotel.vo.ResponseVO;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
@@ -14,8 +20,36 @@ import java.util.List;
|
|
|
*/
|
|
|
@Service
|
|
|
public class OrderServiceImpl implements OrderService {
|
|
|
+ private final static String RESERVE_ERROR = "预订失败";
|
|
|
+ private final static String ROOMNUM_LACK = "预订房间数量剩余不足";
|
|
|
@Autowired
|
|
|
OrderMapper orderMapper;
|
|
|
+ @Autowired
|
|
|
+ HotelServiceImpl hotelService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseVO addOrder(OrderVO orderVO) {
|
|
|
+ int reserveRoomNum = orderVO.getRoomNum();
|
|
|
+ int curNum = hotelService.getRoomCurNum(orderVO.getHotelId(),orderVO.getRoomType());
|
|
|
+ if(reserveRoomNum>curNum){
|
|
|
+ return ResponseVO.buildFailure(ROOMNUM_LACK);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date date = new Date(System.currentTimeMillis());
|
|
|
+ String curdate = sf.format(date);
|
|
|
+ orderVO.setCreateDate(sf.parse(curdate));
|
|
|
+ Order order = new Order();
|
|
|
+ BeanUtils.copyProperties(orderVO,order);
|
|
|
+ orderMapper.addOrder(order);
|
|
|
+ hotelService.updateRoomInfo(orderVO.getHotelId(),orderVO.getRoomType(),orderVO.getRoomNum());
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ return ResponseVO.buildFailure(RESERVE_ERROR);
|
|
|
+ }
|
|
|
+ return ResponseVO.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Order> getAllOrders() {
|
|
|
return orderMapper.getAllOrders();
|