From 3aba922a10a06c9af9bcd28ebbdd688cfcedcaa0 Mon Sep 17 00:00:00 2001 From: FreeeBird <1032796097@qq.com> Date: Mon, 10 Dec 2018 10:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=88=BF=E7=99=BB=E8=AE=B0=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/mafangui/hotel/mapper/CheckInMapper.java | 4 +++- .../hotel/service/impl/CheckInServiceImpl.java | 9 +++++++-- .../resources/mybatis/mapper/CheckInMapper.xml | 14 ++++++++++---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/cn/mafangui/hotel/mapper/CheckInMapper.java b/src/main/java/cn/mafangui/hotel/mapper/CheckInMapper.java index 8c6800f..1a99f2d 100644 --- a/src/main/java/cn/mafangui/hotel/mapper/CheckInMapper.java +++ b/src/main/java/cn/mafangui/hotel/mapper/CheckInMapper.java @@ -15,10 +15,12 @@ public interface CheckInMapper { CheckIn selectByPrimaryKey(Integer checkInId); - CheckIn selectByRoomNumber(String roomNumber); + CheckIn selectLatestByRoomNumber(String roomNumber); int updateByRoomNumber(String roomNumber); + int checkOut(Integer checkInId); + int updateByPrimaryKeySelective(CheckIn record); int updateByPrimaryKey(CheckIn record); diff --git a/src/main/java/cn/mafangui/hotel/service/impl/CheckInServiceImpl.java b/src/main/java/cn/mafangui/hotel/service/impl/CheckInServiceImpl.java index ba60e22..2e2cc87 100644 --- a/src/main/java/cn/mafangui/hotel/service/impl/CheckInServiceImpl.java +++ b/src/main/java/cn/mafangui/hotel/service/impl/CheckInServiceImpl.java @@ -5,6 +5,7 @@ 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.enums.RoomStatus; import cn.mafangui.hotel.mapper.CheckInMapper; import cn.mafangui.hotel.service.CheckInService; import cn.mafangui.hotel.service.OrderService; @@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.sql.Timestamp; import java.util.List; @Service @@ -67,8 +69,11 @@ public class CheckInServiceImpl implements CheckInService { public int checkOut(String roomNumber) { Room r = roomService.selectByNumber(roomNumber); RoomType ty = roomTypeService.selectById(r.getTypeId()); - CheckIn checkIn = checkInMapper.selectByPrimaryKey(1); - return 0; + CheckIn checkIn = checkInMapper.selectLatestByRoomNumber(roomNumber); + r.setRoomStatus(RoomStatus.AVAILABLE.getCode()); + if(roomService.update(r) <=0 )return -3; + if (roomTypeService.updateRest(ty.getTypeId(),1)<=0)return -2; + return checkInMapper.checkOut(checkIn.getCheckInId()); } @Override diff --git a/src/main/resources/mybatis/mapper/CheckInMapper.xml b/src/main/resources/mybatis/mapper/CheckInMapper.xml index 86e31de..c0ccd53 100644 --- a/src/main/resources/mybatis/mapper/CheckInMapper.xml +++ b/src/main/resources/mybatis/mapper/CheckInMapper.xml @@ -23,11 +23,11 @@ from check_in where check_in_id = #{checkInId,jdbcType=INTEGER} - select from check_in - where room_number = #{roomNumber,jdbcType=VARCHAR} + where room_number = #{roomNumber,jdbcType=VARCHAR} order by check_in_time desc limit 1