|
|
@@ -2,9 +2,11 @@ package com.example.hotel.blImpl.order;
|
|
|
|
|
|
import com.example.hotel.bl.hotel.HotelService;
|
|
|
import com.example.hotel.bl.order.OrderService;
|
|
|
+import com.example.hotel.bl.user.AccountService;
|
|
|
import com.example.hotel.blImpl.hotel.HotelServiceImpl;
|
|
|
import com.example.hotel.data.order.OrderMapper;
|
|
|
import com.example.hotel.po.Order;
|
|
|
+import com.example.hotel.po.User;
|
|
|
import com.example.hotel.vo.OrderVO;
|
|
|
import com.example.hotel.vo.ResponseVO;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -23,10 +25,13 @@ import java.util.List;
|
|
|
public class OrderServiceImpl implements OrderService {
|
|
|
private final static String RESERVE_ERROR = "预订失败";
|
|
|
private final static String ROOMNUM_LACK = "预订房间数量剩余不足";
|
|
|
+ private final static String ANNUL_ERROR = "撤销失败";
|
|
|
@Autowired
|
|
|
OrderMapper orderMapper;
|
|
|
@Autowired
|
|
|
HotelService hotelService;
|
|
|
+ @Autowired
|
|
|
+ AccountService accountService;
|
|
|
|
|
|
@Override
|
|
|
public ResponseVO addOrder(OrderVO orderVO) {
|
|
|
@@ -40,6 +45,10 @@ public class OrderServiceImpl implements OrderService {
|
|
|
Date date = new Date(System.currentTimeMillis());
|
|
|
String curdate = sf.format(date);
|
|
|
orderVO.setCreateDate(curdate);
|
|
|
+ orderVO.setOrderState("已预订");
|
|
|
+ User user = accountService.getUserInfo(orderVO.getUserId());
|
|
|
+ orderVO.setClientName(user.getUserName());
|
|
|
+ orderVO.setPhoneNumber(user.getPhoneNumber());
|
|
|
Order order = new Order();
|
|
|
BeanUtils.copyProperties(orderVO,order);
|
|
|
orderMapper.addOrder(order);
|
|
|
@@ -60,4 +69,18 @@ public class OrderServiceImpl implements OrderService {
|
|
|
public List<Order> getUserOrders(int userid) {
|
|
|
return orderMapper.getUserOrders(userid);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseVO annulOrder(int orderid) {
|
|
|
+ try {
|
|
|
+ Order order = orderMapper.getOrderById(orderid);
|
|
|
+ int roomNums = -order.getRoomNum();
|
|
|
+ hotelService.updateRoomInfo(order.getHotelId(),order.getRoomType(),roomNums);
|
|
|
+ orderMapper.annulOrder(orderid);
|
|
|
+ }catch (Exception e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ return ResponseVO.buildFailure(ANNUL_ERROR);
|
|
|
+ }
|
|
|
+ return ResponseVO.buildSuccess(true);
|
|
|
+ }
|
|
|
}
|