MarketIndexesDoMapper.xml 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.smppw.analysis.domain.mapper.MarketIndexesDoMapper">
  4. <resultMap id="BaseResultMap" type="com.smppw.analysis.domain.dataobject.MarketIndexesDo">
  5. <!--@mbg.generated-->
  6. <!--@Table market_indexes-->
  7. <id column="id" property="id" />
  8. <result column="index_id" property="indexId" />
  9. <result column="index_code" property="indexCode" />
  10. <result column="price_date" property="priceDate" />
  11. <result column="preclose" property="preclose" />
  12. <result column="open" property="open" />
  13. <result column="high" property="high" />
  14. <result column="low" property="low" />
  15. <result column="close" property="close" />
  16. <result column="trade_volumen" property="tradeVolumen" />
  17. <result column="trade_amount" property="tradeAmount" />
  18. <result column="wave_range" property="waveRange" />
  19. <result column="day_price_limit" property="dayPriceLimit" />
  20. <result column="duration" property="duration" />
  21. <result column="convexity" property="convexity" />
  22. <result column="ret_final" property="retFinal" />
  23. <result column="avg_coupon_rate" property="avgCouponRate" />
  24. <result column="creatorid" property="creatorid" />
  25. <result column="createtime" property="createtime" />
  26. <result column="updaterid" property="updaterid" />
  27. <result column="updatetime" property="updatetime" />
  28. <result column="isvalid" property="isvalid" />
  29. </resultMap>
  30. <sql id="Base_Column_List">
  31. <!--@mbg.generated-->
  32. id, index_id, index_code, price_date, preclose, `open`, high, low, `close`, trade_volumen,
  33. trade_amount, wave_range, day_price_limit, duration, convexity, ret_final, avg_coupon_rate,
  34. creatorid, createtime, updaterid, updatetime, isvalid
  35. </sql>
  36. <select id="listNavByTimeInterval" resultMap="BaseResultMap">
  37. select index_id, price_date, `close`
  38. <if test="needUpdateAndCreateTime">
  39. , updatetime, createtime
  40. </if>
  41. from market_indexes where isvalid = 1
  42. <if test="startDate != null and startDate != ''">
  43. AND price_date &gt;= #{startDate}
  44. </if>
  45. <if test="endDate != null and endDate != ''">
  46. AND price_date &lt;= #{endDate}
  47. </if>
  48. AND index_id in
  49. <foreach collection="indexIdList" item="indexId" index="index" open="(" separator="," close=")">
  50. #{indexId}
  51. </foreach>
  52. </select>
  53. <resultMap id="NavDto" type="com.smppw.common.pojo.dto.NavDto">
  54. <result property="fundId" column="index_id"/>
  55. <result property="priceDate" column="price_date"/>
  56. <result property="nav" column="close"/>
  57. </resultMap>
  58. <select id="getLatestInfoByIndexId" resultMap="NavDto">
  59. SELECT
  60. t.index_id,
  61. t.price_date,
  62. m.close
  63. FROM
  64. market_indexes m
  65. INNER JOIN (
  66. SELECT
  67. index_id,
  68. max( price_date ) AS price_date
  69. FROM
  70. market_indexes
  71. WHERE
  72. index_id
  73. IN
  74. <foreach collection="indexIds" index="index" item="indexId" open="(" close=")" separator=",">
  75. #{indexId}
  76. </foreach>
  77. GROUP BY index_id
  78. ) AS t ON t.index_id = m.index_id
  79. AND t.price_date = m.price_date
  80. </select>
  81. <select id="selectIndexNavByPriceDate" resultType="com.smppw.analysis.domain.dataobject.MarketIndexesDo">
  82. select index_id as indexId, close as close, price_date as priceDate
  83. from market_indexes
  84. where index_id = #{indexId} and isvalid=1
  85. and price_date in
  86. <foreach collection="priceDateList" index="index" item="priceDate" open="(" separator="," close=")">
  87. #{priceDate}
  88. </foreach>
  89. </select>
  90. </mapper>