|
|
@@ -33,6 +33,7 @@ import com.chuanghai.ihotel.enums.EventMessageTypeEnum;
|
|
|
import com.chuanghai.ihotel.enums.OrderBillStatuEnum;
|
|
|
import com.chuanghai.ihotel.enums.OrderStatuEnum;
|
|
|
import com.chuanghai.ihotel.enums.RoomStatuEnum;
|
|
|
+import com.chuanghai.ihotel.enums.SystemNoticeTypeEnum;
|
|
|
import com.chuanghai.ihotel.enums.UserIdentityTypeEnum;
|
|
|
import com.chuanghai.ihotel.service.HotelOrderBillService;
|
|
|
import com.chuanghai.ihotel.service.HotelOrderService;
|
|
|
@@ -41,6 +42,7 @@ import com.chuanghai.ihotel.service.RoomDoorLockDataService;
|
|
|
import com.chuanghai.ihotel.service.RoomRealtimeStatuService;
|
|
|
import com.chuanghai.ihotel.service.RoomService;
|
|
|
import com.chuanghai.ihotel.service.RoomTypeService;
|
|
|
+import com.chuanghai.ihotel.service.SystemNoticeService;
|
|
|
import com.chuanghai.ihotel.service.SystemSettingService;
|
|
|
import com.chuanghai.ihotel.util.CommonUtil;
|
|
|
import com.chuanghai.ihotel.vo.AdminOrderIndexVO;
|
|
|
@@ -90,6 +92,8 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
@Autowired
|
|
|
private RoomDoorLockDataService roomDoorLockDataService;
|
|
|
@Autowired
|
|
|
+ private SystemNoticeService systemNoticeService;
|
|
|
+ @Autowired
|
|
|
private PayComponent payComponent;
|
|
|
@Autowired
|
|
|
private JXNXSPayConfig jxnxsPayConfig;
|
|
|
@@ -567,6 +571,7 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
this.update(null, updateWrapper);
|
|
|
}
|
|
|
|
|
|
+ String returnOrderTemplate = "订单id【%s】,用户【%s】,房间号【%s】已退房,需要清扫";
|
|
|
@Override
|
|
|
public OrderBillHandleVO userReturnOrder(Long orderId) {
|
|
|
HotelOrderEntity order = userGetOrderById(orderId);
|
|
|
@@ -607,6 +612,10 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
updateWrapper.last("limit 1");
|
|
|
this.update(null, updateWrapper);
|
|
|
|
|
|
+ // 发送通知消息 优化:可以使用异步的方式
|
|
|
+ String format = String.format(returnOrderTemplate, orderId, order.getUserName(), order.getRoomNo());
|
|
|
+ systemNoticeService.addNotice("用户退房通知", format, SystemNoticeTypeEnum.USER_RETURN);
|
|
|
+
|
|
|
OrderBillHandleVO vo = new OrderBillHandleVO();
|
|
|
vo.setOrderId(orderId);
|
|
|
vo.setBillId(billHandleResult.getBillId());
|
|
|
@@ -662,6 +671,10 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
|
|
|
roomDoorLockDataService.deleteByOrderId(orderId);
|
|
|
// 更新房态状态
|
|
|
roomRealtimeStatuService.userReturnOrder(orderId);
|
|
|
+
|
|
|
+ // 发送通知消息 优化:可以使用异步的方式
|
|
|
+ String format = String.format(returnOrderTemplate, orderId, order.getUserName(), order.getRoomNo());
|
|
|
+ systemNoticeService.addNotice("用户退房通知", format, SystemNoticeTypeEnum.USER_RETURN);
|
|
|
});
|
|
|
|
|
|
if (waitBillOrderIdList.size() > 0) {
|