金币系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.5 KiB

  1. package com.example.demo.mapper;
  2. import com.example.demo.domain.entity.Activity;
  3. import org.apache.ibatis.annotations.*;
  4. import java.util.List;
  5. @Mapper
  6. public interface ActivityMapper {
  7. //增加活动信息
  8. @Insert({"insert into activity",
  9. "(admin_id,start_time,end_time,recharge_ratio,activity_name,activity_flag,create_time) " ,
  10. "values",
  11. "(#{adminId},#{startTime},#{endTime},#{rechargeRatio},#{activityName},1,now())"
  12. })
  13. @Options(useGeneratedKeys = true,keyColumn = "activity_id",keyProperty = "activityId")
  14. int add(Activity activity);
  15. // 修改活动信息
  16. @Update({
  17. "<script>",
  18. "update activity",
  19. "<set>",
  20. "<if test='dept != null '>dept=#{dept},</if>",
  21. "<if test='startTime != null '>start_time=#{startTime},</if>",
  22. "<if test='adminId != null '>admin_id=#{adminId},</if>",
  23. "<if test='endTime != null '>end_time=#{endTime},</if>",
  24. "<if test='rechargeRatio != null '>recharge_ratio=#{rechargeRatio},</if>",
  25. "<if test='activityName != null and activityName.length>0'>activity_name=#{activityName},</if>",
  26. "<if test='activityFlag != null'>`activity_flag`=#{activityFlag},</if>",
  27. "<if test='status != null'>`status`=#{status},</if>",
  28. "</set>",
  29. "where activity_id=#{activityId}",
  30. "</script>"
  31. })
  32. int edit(Activity activity);
  33. //查询--根据活动id查询活动信息
  34. @Select({
  35. "select activity_id from activity where activity_id=#{activityId}"
  36. })
  37. Activity selectById(Integer activityId);
  38. //模糊查询--根据活动id查询活动信息
  39. @Select({
  40. "<script>",
  41. "SELECT activity.*, admin.name FROM activity",
  42. "INNER JOIN admin ON activity.admin_id = admin.admin_id",
  43. "<where>",
  44. "activity.activity_flag = 1",
  45. "<if test='startDate != null and endDate != null'>",
  46. "AND activity.create_time BETWEEN #{startDate} AND #{endDate}",
  47. "</if>",
  48. "<if test='activityName != null and activityName.trim().length() > 0'>",
  49. "AND activity.activity_name LIKE CONCAT('%', #{activityName}, '%')",
  50. "</if>",
  51. "<if test='activityId != null'>",
  52. "AND activity.activity_id = #{activityId}",
  53. "</if>",
  54. "</where>",
  55. "ORDER BY activity.create_time DESC,activity.start_time DESC",
  56. "</script>"
  57. })
  58. List<Activity> select(Activity activity);
  59. //
  60. }