|
|
@@ -15,6 +15,7 @@ import com.chuanghai.ihotel.config.JXNXSPayConfig;
|
|
|
import com.chuanghai.ihotel.config.RabbitMQConfig;
|
|
|
import com.chuanghai.ihotel.constant.TimeConstant;
|
|
|
import com.chuanghai.ihotel.controller.request.ConfrimOrderRequest;
|
|
|
+import com.chuanghai.ihotel.controller.request.OrderQueryRequest;
|
|
|
import com.chuanghai.ihotel.controller.request.SubmitOrderRequest;
|
|
|
import com.chuanghai.ihotel.dao.HotelOrderDao;
|
|
|
import com.chuanghai.ihotel.dto.EventMessageDTO;
|
|
|
@@ -38,6 +39,7 @@ import com.chuanghai.ihotel.util.CommonUtil;
|
|
|
import com.chuanghai.ihotel.vo.ConfirmOrderVO;
|
|
|
import com.chuanghai.ihotel.vo.LoginUserVO;
|
|
|
import com.chuanghai.ihotel.vo.OrderSubmitVO;
|
|
|
+import com.chuanghai.ihotel.vo.UserOrderIndexVO;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -50,7 +52,9 @@ import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service("hotelOrderService")
|
|
|
@@ -76,16 +80,61 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
private RabbitMQConfig rabbitMQConfig;
|
|
|
|
|
|
@Override
|
|
|
- public PageUtils queryPage(PageParam pageParam) {
|
|
|
+ public PageUtils queryPage(PageParam pageParam, OrderQueryRequest request) {
|
|
|
+ QueryWrapper<HotelOrderEntity> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq(request.getOrderId() != null, "id", request.getOrderId());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(request.getDeleteFlag()), "delete_flag", request.getDeleteFlag());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(request.getOrderNo()), "order_no", request.getOrderNo());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(request.getUserFlag()), "user_flag", request.getUserFlag());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(request.getUserName()), "user_name", request.getUserName());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(request.getUserPhone()), "user_phone", request.getUserPhone());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(request.getRoomNo()), "room_no", request.getRoomNo());
|
|
|
+ queryWrapper.eq(request.getRoomTypeId() != null, "room_type_id", request.getRoomTypeId());
|
|
|
+
|
|
|
+ String statu = request.getStatu();
|
|
|
+ if (StringUtils.hasText(statu)) {
|
|
|
+ if (statu.contains("-")) {
|
|
|
+ String[] split = statu.split("-");
|
|
|
+ queryWrapper.eq("order_statu", split[0]);
|
|
|
+ queryWrapper.eq("biz_statu", split[1]);
|
|
|
+ } else {
|
|
|
+ queryWrapper.eq("order_statu", statu);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ queryWrapper.ge(request.getEnableStartTime() != null, "enable_start_time", request.getEnableStartTime());
|
|
|
+ queryWrapper.le(request.getEnableStartTime() != null, "enable_end_time", request.getEnableStartTime());
|
|
|
+
|
|
|
IPage<HotelOrderEntity> page = this.page(
|
|
|
new MyQuery<HotelOrderEntity>().getPage(pageParam),
|
|
|
- new QueryWrapper<>()
|
|
|
+ queryWrapper
|
|
|
);
|
|
|
|
|
|
return new PageUtils(page);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public PageUtils userOrderPage(PageParam pageParam, OrderQueryRequest request) {
|
|
|
+ pageParam.setOrderField("create_time");
|
|
|
+ pageParam.setOrder("desc");
|
|
|
+
|
|
|
+ LoginUserVO loginUserVO = LoginCheckAspect.threadLocal.get();
|
|
|
+ request.setUserFlag(loginUserVO.getCardNumber());
|
|
|
+ request.setDeleteFlag("1"); // 1未删除
|
|
|
+
|
|
|
+ PageUtils pageUtils = this.queryPage(pageParam, request);
|
|
|
+ List<HotelOrderEntity> list = pageUtils.getList();
|
|
|
+ List<UserOrderIndexVO> collect = list.stream().map(e -> {
|
|
|
+ UserOrderIndexVO vo = new UserOrderIndexVO();
|
|
|
+ BeanUtils.copyProperties(e, vo);
|
|
|
+ return vo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ pageUtils.setList(collect);
|
|
|
+ return pageUtils;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public HotelOrderEntity findByOrderNo(String orderNo) {
|
|
|
QueryWrapper<HotelOrderEntity> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq("order_no", orderNo);
|
|
|
@@ -241,6 +290,7 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
hotelOrder.setRoomId(roomId);
|
|
|
hotelOrder.setRoomNo(room.getRoomNo());
|
|
|
hotelOrder.setRoomTypeName(roomType.getTypeName());
|
|
|
+ hotelOrder.setRoomTypeMasterImg(roomType.getTypeImage().split(",")[0]);
|
|
|
hotelOrder.setCreateTime(LocalDateTime.now());
|
|
|
hotelOrder.setOrderStatu(OrderStatuEnum.WAIT_PAY.getCode());
|
|
|
hotelOrder.setBizStatu(OrderBillStatuEnum.WAIT_HANDLE.getCode());
|
|
|
@@ -326,5 +376,4 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
roomRealtimeStatuService.releaseByBizId(orderEntity.getId());
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
}
|