2024-04 足球场开门逻辑,预订信息判断是否登录
This commit is contained in:
@@ -28,7 +28,7 @@ public class FootballTicketController extends BaseApiController {
|
||||
/**
|
||||
* 订单详情开门链接
|
||||
*/
|
||||
@RequestMapping(value = "/member/lesson/tickets/opendoor", method = RequestMethod.POST)
|
||||
@RequestMapping(value = "/member/lesson/tickets/open/door", method = RequestMethod.POST)
|
||||
public ResponseDTO memberTicketInvite(@RequestParam("ticketId") Integer ticketId){
|
||||
messageService.footballOpenDoor(ticketId,getLoginMemberId());
|
||||
return ResponseDTO.ok().addAttribute("enterFlag","OK");
|
||||
|
||||
@@ -25,6 +25,8 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
/**
|
||||
@@ -73,6 +75,8 @@ public class ServerMessageHandlerAdapter implements MessageService {
|
||||
|
||||
@Resource
|
||||
private MemberLessonTicketMapper memberLessonTicketMapper;
|
||||
@Resource
|
||||
private VenueLessonMapper venueLessonMapper;
|
||||
/**
|
||||
* 处理心跳信息,存储心跳信息
|
||||
* @param clientId
|
||||
@@ -122,6 +126,17 @@ public class ServerMessageHandlerAdapter implements MessageService {
|
||||
logger.error("足球开门失败,未找到对应的订单!");
|
||||
throw new ServiceException("足球开门失败,未找到对应的订单!");
|
||||
}
|
||||
VenueLesson venueLesson = venueLessonMapper.findById(memberLessonTicket.getLessonId());
|
||||
LocalTime endTime = venueLesson.getEndTime();
|
||||
LocalTime startTime = venueLesson.getStartTime();
|
||||
if (!startTime.isBefore(LocalTime.now())) {
|
||||
logger.error("足球开门失败,订单尚未开始!");
|
||||
throw new ServiceException("开门失败,订单尚未开始!");
|
||||
}
|
||||
if (!endTime.isAfter(LocalTime.now().plus(15, ChronoUnit.MINUTES))) {
|
||||
logger.error("足球开门失败,订单已结束!");
|
||||
throw new ServiceException("足球开门失败,订单已结束!");
|
||||
}
|
||||
Device device = deviceService.findByDevice(memberLessonTicket.getVenueId());
|
||||
String doorSn = device.getName();
|
||||
boolean lockStat = doorLockUtil.checkDoorLock(doorSn);
|
||||
@@ -142,7 +157,7 @@ public class ServerMessageHandlerAdapter implements MessageService {
|
||||
memberEnterVenueLogService.save(memberEnterVenueLog);
|
||||
doorLockUtil.lockDoor(doorSn);
|
||||
// writeOffCode(barcode); 足球不需要二维码
|
||||
logger.info("用户" + member.getId() + "&" + member.getNickname() + "足球入场");
|
||||
logger.info("用户" + member.getId() + "&" + member.getNickname() + "足球开门");
|
||||
ServerMessageUtils.INSTANCE.sendMsg(channel,new VenueMessage(MessageType.ENTER_DOOR,"OK"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user