|
@@ -12,6 +12,7 @@ import com.chuanghai.ihotel.common.utils.MyQuery;
|
|
|
import com.chuanghai.ihotel.common.utils.PageParam;
|
|
import com.chuanghai.ihotel.common.utils.PageParam;
|
|
|
import com.chuanghai.ihotel.common.utils.PageUtils;
|
|
import com.chuanghai.ihotel.common.utils.PageUtils;
|
|
|
import com.chuanghai.ihotel.component.PayComponent;
|
|
import com.chuanghai.ihotel.component.PayComponent;
|
|
|
|
|
+import com.chuanghai.ihotel.component.WeiXiaoComponent;
|
|
|
import com.chuanghai.ihotel.config.JXNXSPayConfig;
|
|
import com.chuanghai.ihotel.config.JXNXSPayConfig;
|
|
|
import com.chuanghai.ihotel.config.RabbitMQConfig;
|
|
import com.chuanghai.ihotel.config.RabbitMQConfig;
|
|
|
import com.chuanghai.ihotel.constant.TimeConstant;
|
|
import com.chuanghai.ihotel.constant.TimeConstant;
|
|
@@ -63,8 +64,10 @@ import org.springframework.util.StringUtils;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
import java.time.temporal.ChronoUnit;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
@@ -95,12 +98,17 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PayComponent payComponent;
|
|
private PayComponent payComponent;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
|
|
+ private WeiXiaoComponent weiXiaoComponent;
|
|
|
|
|
+ @Autowired
|
|
|
private JXNXSPayConfig jxnxsPayConfig;
|
|
private JXNXSPayConfig jxnxsPayConfig;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private RabbitTemplate rabbitTemplate;
|
|
private RabbitTemplate rabbitTemplate;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private RabbitMQConfig rabbitMQConfig;
|
|
private RabbitMQConfig rabbitMQConfig;
|
|
|
|
|
|
|
|
|
|
+ private DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ private String noticeTemplate = "办理入住成功,您的房号为【%s】,房间锁密码为:【%s】,密码有效时间为【%s】,请妥善保管,退房后密码自动失效。";
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public PageUtils queryPage(PageParam pageParam, OrderQueryRequest request) {
|
|
public PageUtils queryPage(PageParam pageParam, OrderQueryRequest request) {
|
|
|
QueryWrapper<HotelOrderEntity> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<HotelOrderEntity> queryWrapper = new QueryWrapper<>();
|
|
@@ -580,7 +588,7 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
orderBillService.generateBill(orderId, roomId);
|
|
orderBillService.generateBill(orderId, roomId);
|
|
|
|
|
|
|
|
// 门锁密码
|
|
// 门锁密码
|
|
|
- doorLockService.generatePassword(order);
|
|
|
|
|
|
|
+ RoomDoorLockDataEntity roomDoorLockDataEntity = doorLockService.generatePassword(order);
|
|
|
|
|
|
|
|
// 更新房态状态
|
|
// 更新房态状态
|
|
|
roomRealtimeStatuService.userHoldOrder(orderId);
|
|
roomRealtimeStatuService.userHoldOrder(orderId);
|
|
@@ -591,6 +599,16 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
updateWrapper.set("order_statu", OrderStatuEnum.HOLD_ON.getCode());
|
|
updateWrapper.set("order_statu", OrderStatuEnum.HOLD_ON.getCode());
|
|
|
updateWrapper.last("limit 1");
|
|
updateWrapper.last("limit 1");
|
|
|
this.update(null, updateWrapper);
|
|
this.update(null, updateWrapper);
|
|
|
|
|
+
|
|
|
|
|
+ // 发送通知(优化:可以使用异步的方式发送通知)
|
|
|
|
|
+ try {
|
|
|
|
|
+ String lockRealtimePassword = roomDoorLockDataEntity.getLockRealtimePassword();
|
|
|
|
|
+ LocalDateTime startTime = roomDoorLockDataEntity.getStartTime();
|
|
|
|
|
+ LocalDateTime endTime = roomDoorLockDataEntity.getEndTime();
|
|
|
|
|
+
|
|
|
|
|
+ String content = String.format(noticeTemplate, order.getRoomNo(), lockRealtimePassword, dtf.format(startTime) + "-" + dtf.format(endTime));
|
|
|
|
|
+ weiXiaoComponent.sendNotice(Arrays.asList(order.getUserFlag()),"公寓办理入住成功", "办理入住成功", content, null);
|
|
|
|
|
+ } catch (Exception e) {}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
String returnOrderTemplate = "订单id【%s】,用户【%s】,房间号【%s】已退房,需要清扫";
|
|
String returnOrderTemplate = "订单id【%s】,用户【%s】,房间号【%s】已退房,需要清扫";
|