package com.ycwl.basic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycwl.basic.model.pc.notify.entity.UserNotificationAuthorizationEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 用户通知授权记录Mapper接口 * * @Author: System * @Date: 2024/12/28 */ @Mapper public interface UserNotificationAuthorizationMapper extends BaseMapper { /** * 根据用户ID、模板ID和景区ID查询授权记录 * * @param memberId 用户ID * @param templateId 模板ID * @param scenicId 景区ID * @return 授权记录 */ UserNotificationAuthorizationEntity selectByMemberAndTemplateAndScenic( @Param("memberId") Long memberId, @Param("templateId") String templateId, @Param("scenicId") Long scenicId ); /** * 根据用户ID查询授权记录列表 * * @param memberId 用户ID * @return 授权记录列表 */ List selectByMemberId(@Param("memberId") Long memberId); /** * 根据用户ID和模板ID查询授权记录列表 * * @param memberId 用户ID * @param templateId 模板ID * @return 授权记录列表 */ List selectByMemberIdAndTemplateId( @Param("memberId") Long memberId, @Param("templateId") String templateId ); /** * 根据景区ID查询授权记录列表 * * @param scenicId 景区ID * @return 授权记录列表 */ List selectByScenicId(@Param("scenicId") Long scenicId); /** * 增加授权次数 * * @param id 记录ID * @param count 增加的数量 * @return 影响行数 */ int increaseAuthorizationCount(@Param("id") Long id, @Param("count") Integer count); /** * 增加消费次数 * * @param id 记录ID * @param count 增加的数量 * @return 影响行数 */ int increaseConsumedCount(@Param("id") Long id, @Param("count") Integer count); /** * 检查用户是否还有剩余授权次数 * * @param memberId 用户ID * @param templateId 模板ID * @param scenicId 景区ID * @return 剩余授权次数 */ Integer selectRemainingCount( @Param("memberId") Long memberId, @Param("templateId") String templateId, @Param("scenicId") Long scenicId ); }