2024-04 足球场开门逻辑

This commit is contained in:
2024-05-22 18:54:15 +08:00
parent e0abce8e48
commit 9fd95bfdad
7 changed files with 157 additions and 24 deletions

View File

@@ -5,6 +5,7 @@ import com.sv.entity.*;
import com.sv.mapper.MemberLessonTicketMapper;
import com.sv.mapper.MemberTicketInviteMapper;
import com.sv.mapper.VenueLessonMapper;
import com.sv.mapper.VenueMapper;
import com.ydd.framework.core.service.impl.BaseServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,26 +36,40 @@ public class MemberTicketEnterService extends BaseServiceImpl {
private MemberLessonTicketMapper memberLessonTicketMapper;
@Resource
private VenueLessonMapper venueLessonMapper;
@Resource
private VenueMapper venueMapper;
/**
* api 足球预约详情
*/
public MemberTicketEnterDTO memberTicketEnterDetail(Integer memberId, Integer ticketId) {
MemberTicketEnterDTO res = new MemberTicketEnterDTO();
res.setOpenFlag(true);
res.setOpenFlag(false);
res.setErrCode("0");
MemberLessonTicket memberLessonTicket = memberLessonTicketMapper.findById(ticketId);
if (memberLessonTicket == null) {
res.setErrCode("2");
res.setMsg("未找到对应的预订信息");
}// TODO 查询场馆表
}
BeanUtils.copyProperties(memberLessonTicket,res);
// 判断场馆是否已经超时
VenueLesson venueLesson = venueLessonMapper.findById(memberLessonTicket.getLessonId());
LocalTime endTime = venueLesson.getEndTime();
LocalTime startTime = venueLesson.getStartTime();
if (endTime.isAfter(LocalTime.now().plus(15, ChronoUnit.MINUTES)) && startTime.isBefore(LocalTime.now())){
// 十五分钟之内都可以开门
res.setOpenFlag(true);
if (venueLesson != null) {
res.setDate(venueLesson.getDate());
res.setStartTime(venueLesson.getStartTime());
res.setEndTime(venueLesson.getEndTime());
LocalTime endTime = venueLesson.getEndTime();
LocalTime startTime = venueLesson.getStartTime();
if (endTime.isAfter(LocalTime.now().plus(15, ChronoUnit.MINUTES)) && startTime.isBefore(LocalTime.now())){
// 十五分钟之内都可以开门
res.setOpenFlag(true);
}
}
Venue venue = venueMapper.findById(memberLessonTicket.getVenueId());
if (venue != null){
res.setAddress(venue.getAddress());
res.setLatitude(venue.getLatitude());
res.setLongitude(venue.getLongitude());
}
// 1 先判断是否已经报名,如果没有报名就默认报名
int count = memberTicketInviteMapper.findByTicketIdAndMember(ticketId, memberId);
@@ -63,7 +78,6 @@ public class MemberTicketEnterService extends BaseServiceImpl {
orderMyself(memberId,memberLessonTicket);
}
// 查询报名人员列表
BeanUtils.copyProperties(memberLessonTicket,res);
List<MemberTicketInvite> inviteList = memberTicketInviteMapper.findByTicketId(ticketId);
List<MemberTicketInviteDTO> memberTicketInviteList = new ArrayList<>();
for (MemberTicketInvite ticketInvite : inviteList) {

View File

@@ -13,6 +13,7 @@
<arg column="created_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
<arg column="modified_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
<arg column="deleted" jdbcType="INTEGER" javaType="java.lang.Integer" />
<arg column="memberName" jdbcType="VARCHAR" javaType="java.lang.String" />
<arg column="mobile" jdbcType="VARCHAR" javaType="java.lang.String" />
</constructor>
</resultMap>
@@ -157,7 +158,7 @@
<select id="findByTicketId" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
a.id, a.owner_id, a.member_id, a.status, a.platform_id, a.created_id, a.modified_id, a.created_time,
a.modified_time, a.deleted,b.mobile
a.modified_time, a.deleted,b.mobile,b.nickname memberName
from sv_member_lesson_ticket_invite a,sv_member b
where a.member_id = b.id
and owner_id = #{ticketId,jdbcType=INTEGER}