IndexesTradeDateDoMapper.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.smppw.analysis.infrastructure.persistence;
  2. import com.smppw.common.pojo.IndexesTradeDateDo;
  3. import org.apache.ibatis.annotations.Mapper;
  4. import org.apache.ibatis.annotations.Param;
  5. import java.util.List;
  6. /**
  7. * 交易日历表mapper
  8. *
  9. * @author David
  10. * @version 1.0
  11. * @date 2023-04-24
  12. */
  13. @Mapper
  14. public interface IndexesTradeDateDoMapper {
  15. /**
  16. * 获取最近的交日期,往前找
  17. *
  18. * @param tradeDate /
  19. * @return /
  20. */
  21. String queryLatestTradeDate(String tradeDate);
  22. /**
  23. * 获取交易日历表中所有的日期对象,主要用于缓存使用
  24. *
  25. * @return List<IndexesTradeDateDo>
  26. */
  27. List<IndexesTradeDateDo> listNatureDays();
  28. /**
  29. * 获取所有的节假日日期
  30. *
  31. * @return List<String>
  32. */
  33. List<String> listHolidays();
  34. /**
  35. * 获取指定区间所有的节假日日期
  36. *
  37. * @param startDate 开始日期
  38. * @param endDate 截止日期
  39. * @return List<String>
  40. */
  41. List<String> listIntervalHolidays(@Param("startDate") String startDate, @Param("endDate") String endDate);
  42. /**
  43. * 获取指定区间所有的交易日期
  44. *
  45. * @param startDate 开始日期
  46. * @param endDate 截止日期
  47. * @return List<String>
  48. */
  49. List<String> listTradeDates(@Param("startDate") String startDate, @Param("endDate") String endDate);
  50. /**
  51. * 计算给定区间内交易日数量
  52. *
  53. * @param startDate 开始日期
  54. * @param endDate 截止日期
  55. * @return 数量
  56. */
  57. int countTradeDateDistance(@Param("startDate") String startDate, @Param("endDate") String endDate);
  58. /**
  59. * 获取交易日
  60. *
  61. * @param startDate 开始日期
  62. * @param endDate 截止日期
  63. * @return /
  64. */
  65. List<IndexesTradeDateDo> listNatureDaysByCondition(@Param("startDate") String startDate, @Param("endDate") String endDate);
  66. /**
  67. * 根据指定的区间和获取区间日期是否日、周、月进行取值
  68. *
  69. * @param startDate 开始日期
  70. * @param endDate 结束日期
  71. * @param frequency 获取的日期类型,1-日,2-is_weekend, 3-is_monthend
  72. * @return 返回指定日期类型的日期列表
  73. */
  74. List<String> listTradeDatesByFrequency(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("frequency") Integer frequency);
  75. }