mirror of
https://github.com/FreeeBird/hotel.git
synced 2025-05-06 19:49:26 +08:00
88 lines
2.4 KiB
Java
88 lines
2.4 KiB
Java
package cn.mafangui.hotel.service.impl;
|
|
|
|
import cn.mafangui.hotel.entity.Order;
|
|
import cn.mafangui.hotel.entity.Room;
|
|
import cn.mafangui.hotel.entity.RoomType;
|
|
import cn.mafangui.hotel.enums.OrderStatus;
|
|
import cn.mafangui.hotel.mapper.OrderMapper;
|
|
import cn.mafangui.hotel.mapper.RoomMapper;
|
|
import cn.mafangui.hotel.mapper.RoomTypeMapper;
|
|
import cn.mafangui.hotel.service.OrderService;
|
|
import cn.mafangui.hotel.service.RoomService;
|
|
import cn.mafangui.hotel.service.RoomTypeService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class OrderServiceImpl implements OrderService {
|
|
|
|
@Autowired
|
|
private OrderMapper orderMapper;
|
|
@Autowired
|
|
private RoomTypeService roomTypeService;
|
|
@Autowired
|
|
private RoomService roomService;
|
|
|
|
@Override
|
|
public int insert(Order order) {
|
|
return orderMapper.insert(order);
|
|
}
|
|
|
|
@Override
|
|
public int addOrder(Order order) {
|
|
return orderMapper.insertSelective(order);
|
|
}
|
|
|
|
@Override
|
|
public int delete(Integer orderId) {
|
|
return orderMapper.deleteByPrimaryKey(orderId);
|
|
}
|
|
|
|
@Override
|
|
public Order selectById(Integer orderId) {
|
|
return orderMapper.selectByPrimaryKey(orderId);
|
|
}
|
|
|
|
@Override
|
|
public int update(Order order) {
|
|
return orderMapper.updateByPrimaryKeySelective(order);
|
|
}
|
|
|
|
/**
|
|
* 订单支付
|
|
* 1.更改订单状态 -3
|
|
* 2.修改房型余量 -2
|
|
* 3.修改房间状态 -1
|
|
* @param orderId
|
|
* @return
|
|
*/
|
|
@Override
|
|
@Transactional
|
|
public int payOrder(int orderId) {
|
|
Order order = orderMapper.selectByPrimaryKey(orderId);
|
|
if (order == null | order.getOrderStatus() != OrderStatus.UNPAID.getCode()) return -3;
|
|
if (roomTypeService.updateRest(order.getRoomTypeId(),-1) != 1) return -2;
|
|
return roomService.orderRoom(order.getRoomTypeId());
|
|
}
|
|
|
|
@Override
|
|
public List<Order> selectByUserId(int userId) {
|
|
return orderMapper.selectByUserId(userId);
|
|
}
|
|
|
|
@Override
|
|
public List<Order> AllOrders() {
|
|
return orderMapper.selectAll();
|
|
}
|
|
|
|
@Override
|
|
public List<Order> UsersAllOrders(int userId) {
|
|
return orderMapper.selectAllByUser(userId, OrderStatus.WAS_DELETED.getCode());
|
|
}
|
|
|
|
|
|
}
|