|
|
@@ -1,18 +1,18 @@
|
|
|
package org.dromara.hotel.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
-import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
-import org.dromara.backstage.api.RemotePtRoomService;
|
|
|
import org.dromara.common.core.constant.HotelBusinessConstants;
|
|
|
import org.dromara.common.core.enums.HotelRoomStatusEnum;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
+import org.dromara.hotel.api.domain.bo.RemoteOrderBo;
|
|
|
import org.dromara.hotel.api.domain.vo.RemoteOrderVo;
|
|
|
import org.dromara.hotel.domain.KfOrder;
|
|
|
import org.dromara.hotel.domain.bo.KfOrderBo;
|
|
|
@@ -44,7 +44,7 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
* @return 散客入住
|
|
|
*/
|
|
|
@Override
|
|
|
- public KfOrderVo queryById(Long id){
|
|
|
+ public KfOrderVo queryById(Long id) {
|
|
|
return baseMapper.selectVoById(id);
|
|
|
}
|
|
|
|
|
|
@@ -91,26 +91,26 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getTeamName()), KfOrder::getTeamName, bo.getTeamName());
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getRoomName()), KfOrder::getRoomName, bo.getRoomName());
|
|
|
lqw.between(params.get("beginStartTime") != null && params.get("endStartTime") != null,
|
|
|
- KfOrder::getStartTime ,params.get("beginStartTime"), params.get("endStartTime"));
|
|
|
- if(StringUtils.isNotBlank(bo.getOrderStatus())){
|
|
|
+ KfOrder::getStartTime, params.get("beginStartTime"), params.get("endStartTime"));
|
|
|
+ if (StringUtils.isNotBlank(bo.getOrderStatus())) {
|
|
|
lqw.in(KfOrder::getOrderStatus, bo.getOrderStatus().split(","));
|
|
|
}
|
|
|
return lqw;
|
|
|
}
|
|
|
|
|
|
- private QueryWrapper<KfOrder> buildQueryWrapper(KfOrderBo bo,String tableAlias) {
|
|
|
+ private QueryWrapper<KfOrder> buildQueryWrapper(KfOrderBo bo, String tableAlias) {
|
|
|
QueryWrapper<KfOrder> lqw = new QueryWrapper<>();
|
|
|
Map<String, Object> params = bo.getParams();
|
|
|
String columnPrefix = "";
|
|
|
- if(StringUtils.isNotBlank(tableAlias)){
|
|
|
+ if (StringUtils.isNotBlank(tableAlias)) {
|
|
|
columnPrefix = tableAlias + ".";
|
|
|
}
|
|
|
- lqw.like(StringUtils.isNotBlank(bo.getGuestName()), columnPrefix+"guest_name", bo.getGuestName());
|
|
|
- lqw.like(StringUtils.isNotBlank(bo.getTeamName()), columnPrefix+"team_name", bo.getTeamName());
|
|
|
- lqw.like(StringUtils.isNotBlank(bo.getRoomName()), columnPrefix+"room_name", bo.getRoomName());
|
|
|
+ lqw.like(StringUtils.isNotBlank(bo.getGuestName()), columnPrefix + "guest_name", bo.getGuestName());
|
|
|
+ lqw.like(StringUtils.isNotBlank(bo.getTeamName()), columnPrefix + "team_name", bo.getTeamName());
|
|
|
+ lqw.like(StringUtils.isNotBlank(bo.getRoomName()), columnPrefix + "room_name", bo.getRoomName());
|
|
|
lqw.between(params.get("beginStartTime") != null && params.get("endStartTime") != null,
|
|
|
- columnPrefix+"start_time" ,params.get("beginStartTime"), params.get("endStartTime"));
|
|
|
- lqw.eq(StringUtils.isNotBlank(bo.getOrderStatus()), columnPrefix+"order_status", bo.getOrderStatus());
|
|
|
+ columnPrefix + "start_time", params.get("beginStartTime"), params.get("endStartTime"));
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getOrderStatus()), columnPrefix + "order_status", bo.getOrderStatus());
|
|
|
return lqw;
|
|
|
}
|
|
|
|
|
|
@@ -128,10 +128,10 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
if (flag) {
|
|
|
bo.setId(add.getId());
|
|
|
String roomStatus = "";
|
|
|
- //修改房间状态
|
|
|
- if(HotelBusinessConstants.ORDER_STATUS_YD.equals(add.getOrderStatus())){
|
|
|
+ // 修改房间状态
|
|
|
+ if (HotelBusinessConstants.ORDER_STATUS_YD.equals(add.getOrderStatus())) {
|
|
|
roomStatus = HotelRoomStatusEnum.YD.code();
|
|
|
- }else if(HotelBusinessConstants.ORDER_STATUS_RZ.equals(add.getOrderStatus())){
|
|
|
+ } else if (HotelBusinessConstants.ORDER_STATUS_RZ.equals(add.getOrderStatus())) {
|
|
|
roomStatus = HotelRoomStatusEnum.YZ.code();
|
|
|
}
|
|
|
baseMapper.updateRoomStatus(add.getRoomCode(), roomStatus);
|
|
|
@@ -156,14 +156,14 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
public Boolean distributeOrder(KfOrderBo bo) {
|
|
|
boolean flag = false;
|
|
|
String roomStatus = "";
|
|
|
- if(bo != null){
|
|
|
- //1. 修改订单状态
|
|
|
+ if (bo != null) {
|
|
|
+ // 1. 修改订单状态
|
|
|
flag = updateByBo(bo);
|
|
|
|
|
|
- //2. 修改房间状态
|
|
|
- if(HotelBusinessConstants.ORDER_STATUS_QX.equals(bo.getOrderStatus())){
|
|
|
+ // 2. 修改房间状态
|
|
|
+ if (HotelBusinessConstants.ORDER_STATUS_QX.equals(bo.getOrderStatus())) {
|
|
|
roomStatus = HotelRoomStatusEnum.OK.code();
|
|
|
- }else if(HotelBusinessConstants.ORDER_STATUS_TF.equals(bo.getOrderStatus())){
|
|
|
+ } else if (HotelBusinessConstants.ORDER_STATUS_TF.equals(bo.getOrderStatus())) {
|
|
|
roomStatus = HotelRoomStatusEnum.ZF.code();
|
|
|
}
|
|
|
int res = baseMapper.updateRoomStatus(bo.getRoomCode(), roomStatus);
|
|
|
@@ -175,8 +175,8 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
/**
|
|
|
* 保存前的数据校验
|
|
|
*/
|
|
|
- private void validEntityBeforeSave(KfOrder entity){
|
|
|
- //TODO 做一些数据校验,如唯一约束
|
|
|
+ private void validEntityBeforeSave(KfOrder entity) {
|
|
|
+ // TODO 做一些数据校验,如唯一约束
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -188,8 +188,8 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
- if(isValid){
|
|
|
- //TODO 做一些业务上的校验,判断是否需要校验
|
|
|
+ if (isValid) {
|
|
|
+ // TODO 做一些业务上的校验,判断是否需要校验
|
|
|
}
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
}
|
|
|
@@ -197,6 +197,7 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
/**
|
|
|
* 根据订单业务对象查询指定的入住信息
|
|
|
* 只查询入住状态为预订或入住的数据
|
|
|
+ *
|
|
|
* @param bo 订单业务对象
|
|
|
* @return 订单信息
|
|
|
*/
|
|
|
@@ -204,4 +205,30 @@ public class KfOrderServiceImpl implements IKfOrderService {
|
|
|
public RemoteOrderVo selectByBo(KfOrderBo bo) {
|
|
|
return baseMapper.selectByBo(bo);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 办理团客入住
|
|
|
+ *
|
|
|
+ * @param remoteBo 入住业务对象
|
|
|
+ * @return 入住信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public RemoteOrderVo checkInTeamByBo(RemoteOrderBo remoteBo) {
|
|
|
+ KfOrderBo bo = MapstructUtils.convert(remoteBo, KfOrderBo.class);
|
|
|
+ if (bo != null) {
|
|
|
+ KfOrderVo vo = baseMapper.selectVoOne(
|
|
|
+ new LambdaQueryWrapper<KfOrder>().eq(KfOrder::getGuestId, bo.getGuestId())
|
|
|
+ .eq(KfOrder::getTeamId, bo.getTeamId())
|
|
|
+ .eq(KfOrder::getRoomCode, bo.getRoomCode()));
|
|
|
+ if (ObjectUtil.isNotEmpty(vo)) {
|
|
|
+ bo.setId(vo.getId());
|
|
|
+ this.updateByBo(bo);
|
|
|
+; } else {
|
|
|
+ this.insertByBo(bo);
|
|
|
+ }
|
|
|
+ vo = this.queryById(bo.getId());
|
|
|
+ return MapstructUtils.convert(vo, RemoteOrderVo.class);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|