package com.sv.mapper; import com.sv.annotation.NoPlatform; import com.sv.annotation.PlatformKey; import com.sv.entity.MemberLessonTicket; import com.sv.entity.VenueLessonTicket; import org.apache.ibatis.annotations.Param; import java.util.List; /** * Mapper - 课程票据 * * @author zhaoziyu * @since 2018-08-06 */ public interface VenueLessonTicketMapper { /** * 新建课程票据 * * @param venueLessonTicket 课程票据 */ void insert(VenueLessonTicket venueLessonTicket); /** * 更新课程票据 * * @param venueLessonTicket 课程票据 */ void update(VenueLessonTicket venueLessonTicket); /** * 删除课程票据 * * @param id 编号 * @return 删除数量 */ int delete(Integer id); /** * 删除课程票据 * * @param ids 编号数组 * @return 删除数量 */ int deleteByIds(Integer[] ids); /** * 查询课程票据 * * @param id 编号 * @return 课程票据 */ VenueLessonTicket findById(Integer id); /** * 查询课程票据 * * @return 课程票据集合 */ List findAll(); /** * 更新状态 * * @param ids 编号 * @param status 状态 * @return 更新数量 */ int updateStatus(@Param("ids") Integer[] ids, @Param("status") Byte status); void insertTickets(@Param("tickets") List tickets,@Param("venueId") Integer venueId,@Param("venueType") Integer venueType,@Param("lessonId") Integer lessonId); Integer countByTicketAndLesson(@Param("ticket") String ticket,@Param("venueId") Integer venueId,@Param("venueType") Integer venueType,@Param("lessonId") Integer lessonId); /** * 获取未使用的票 * @param lessonId * @return */ List findNoUsedTicket(@Param("lessonId") Integer lessonId); void deletedTickets(@Param("tickets") List tickets,@Param("lessonId") Integer lessonId); /** * api 预约课程,查询场馆课程票号总条数 */ Integer findCount(Integer lessonId); /** * api 修改场馆课程票号状态 */ Integer updateLessonTicketStatus(@Param("tickets") List tickets,@Param("status")Integer status); /** * api 取票 */ List findRandom(@Param("lessonId")Integer lessonId,@Param("limitSum") Integer limitSum); /** * api 取消预约课程,修改票状态 */ void updateTicketStatus(@Param("memberLessonTickets") List memberLessonTickets,@Param("status")Integer status); /** * api */ @PlatformKey Integer findNum(Integer venueId); /** * 检验是否满足公益课当天预约限制 * @param memberId * @param venueId * @param checkDate */ @NoPlatform Integer countFreeDayLimit(@Param("memberId") Integer memberId, @Param("venueId") Integer venueId, @Param("checkDate") String checkDate); /** * 检验是否满足公益课当周预约限制 * @param memberId * @param venueId * @param checkDate */ @NoPlatform Integer countFreeWeekLimit(@Param("memberId") Integer memberId, @Param("venueId") Integer venueId, @Param("checkDate") String checkDate); }