Commit e936015d by 吕明尚

分享开门增加修改订单

parent 680216d4
......@@ -3,11 +3,13 @@ package share.system.service.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import share.common.constant.Constants;
import share.common.core.redis.RedisUtil;
import share.common.enums.*;
import share.common.exception.base.BaseException;
import share.common.utils.DateUtils;
......@@ -18,10 +20,7 @@ import share.system.domain.vo.SRoomVo;
import share.system.service.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
@Service
......@@ -47,6 +46,8 @@ public class OpenInterfaceServiceImpl implements OpenInterfaceService {
@Autowired
private DeviceOpService deviceOpService;
@Autowired
private RedisUtil redisUtil;
@Autowired
private ISCleanRecordsService cleanRecordsService;
......@@ -134,6 +135,25 @@ public class OpenInterfaceServiceImpl implements OpenInterfaceService {
throw new BaseException("当前房间待保洁中,请等待!");
}
}
//更改订单状态,房间状态,开始时间,结束时间
sOrder.setStatus(OrderStatusEnum.INUSE.getCode());
//计算预约开始和结束时间时长
BigDecimal bigDecimal = DateUtils.differentHour(sOrder.getPreStartDate(), sOrder.getPreEndDate());
sOrder.setStartDate(new Date());
//结束时间为开始时间+预约时长
sOrder.setEndDate(DateUtils.addHours(new Date(), bigDecimal.intValue()));
Map<String, String> map = new HashMap<>();
map.put("orderNo", sOrder.getOrderNo());
map.put("expirationTime", sOrder.getEndDate().toString());
JSONObject jsonObject = new JSONObject(map);
redisUtil.set(ReceiptRdeisEnum.ORDER_NO_KEY.getValue() + sOrder.getOrderNo(), jsonObject.toString());
sOrder.setArrivalTime(new Date());
orderService.updateById(sOrder);
//更改房间状态
SRoom sRoom = new SRoom();
sRoom.setId(sOrder.getRoomId());
sRoom.setStatus(RoomStatusEnum.HOLD.getValue());
roomService.updateById(sRoom);
//开门、取电
deviceOpService.openDoor(sRoomVo.getId(), sOrder.getConsumerPhone(), DeviceOpSourceEnum.DEVICE_SOURCE_20.getCode());
//语音
......
......@@ -1583,9 +1583,6 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
sRoom.setId(sOrder.getRoomId());
sRoom.setStatus(RoomStatusEnum.HOLD.getValue());
roomService.updateById(sRoom);
Device device1 = new Device();
device1.setRoomId(sOrder.getRoomId());
device1.setDevType(DeviceType.DEVICE_0001.getCode());
redisUtil.delete(ReceiptRdeisEnum.ORDER_NO.getValue() + sOrder.getOrderNo());
//开门、取电
deviceOpService.openDoor(sRoomVo.getId(), sOrder.getConsumerPhone(),DeviceOpSourceEnum.DEVICE_SOURCE_20.getCode());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment