MatchmakerCourseMapper.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.zhentao.mapper;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.zhentao.entity.MatchmakerCourse;
  4. import org.apache.ibatis.annotations.Insert;
  5. import org.apache.ibatis.annotations.Mapper;
  6. import org.apache.ibatis.annotations.Param;
  7. import org.apache.ibatis.annotations.Select;
  8. import java.util.Date;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * 红娘课程Mapper接口
  13. */
  14. @Mapper
  15. public interface MatchmakerCourseMapper extends BaseMapper<MatchmakerCourse> {
  16. /**
  17. * 插入课程兑换记录
  18. */
  19. @Insert("INSERT INTO matchmaker_course_exchange (maker_id, course_id, points_used, exchange_time, create_time) " +
  20. "VALUES (#{makerId}, #{courseId}, #{points}, #{exchangeTime}, NOW())")
  21. void insertCourseExchange(@Param("makerId") Integer makerId,
  22. @Param("courseId") Integer courseId,
  23. @Param("points") Integer points,
  24. @Param("exchangeTime") Date exchangeTime);
  25. /**
  26. * 查询红娘已兑换的课程列表
  27. */
  28. @Select("SELECT ce.course_id, ce.points_used, ce.exchange_time, c.name as course_name, " +
  29. "c.cover_image, c.instructor, c.duration, c.rating, c.description " +
  30. "FROM matchmaker_course_exchange ce " +
  31. "LEFT JOIN matchmaker_courses c ON ce.course_id = c.id " +
  32. "WHERE ce.maker_id = #{makerId} " +
  33. "ORDER BY ce.exchange_time DESC")
  34. List<Map<String, Object>> selectPurchasedCourses(@Param("makerId") Integer makerId);
  35. /**
  36. * 检查红娘是否已兑换某课程
  37. */
  38. @Select("SELECT COUNT(*) FROM matchmaker_course_exchange WHERE maker_id = #{makerId} AND course_id = #{courseId}")
  39. int checkExchanged(@Param("makerId") Integer makerId, @Param("courseId") Integer courseId);
  40. }