EmailFileInfoMapper.xml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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.simuwang.base.mapper.EmailFileInfoMapper">
  4. <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.EmailFileInfoDO">
  5. <id column="id" property="id"/>
  6. <result column="email_id" property="emailId"/>
  7. <result column="file_name" property="fileName"/>
  8. <result column="file_path" property="filePath"/>
  9. <result column="isvalid" property="isvalid"/>
  10. <result column="creatorid" property="creatorId"/>
  11. <result column="createtime" property="createTime"/>
  12. <result column="updaterid" property="updaterId"/>
  13. <result column="updatetime" property="updateTime"/>
  14. </resultMap>
  15. <insert id="insert" parameterType="com.simuwang.base.pojo.dos.EmailFileInfoDO" useGeneratedKeys="true"
  16. keyProperty="id" keyColumn="id">
  17. insert into PPW_EMAIL.email_file_info(email_id, file_name, file_path,
  18. isvalid, creatorid, createtime, updaterid, updatetime)
  19. values (#{itemDo.emailId}, #{itemDo.fileName}, #{itemDo.filePath},
  20. #{itemDo.isvalid}, #{itemDo.creatorId}, #{itemDo.createTime}, #{itemDo.updaterId}, #{itemDo.updateTime})
  21. </insert>
  22. <select id="getEmailFileById" resultMap="BaseResultMap"
  23. parameterType="java.lang.Integer">
  24. select id ,email_id, file_name, file_path,
  25. isvalid, creatorid, createtime, updaterid, updatetime
  26. from PPW_EMAIL.email_file_info where id=#{id} and isvalid=1
  27. </select>
  28. <select id="queryByEmailId" resultMap="BaseResultMap">
  29. select id, file_name, file_path
  30. from PPW_EMAIL.email_file_info
  31. where email_id = #{emailId}
  32. and isvalid = 1
  33. </select>
  34. <select id="searchFundFileInfo" resultType="com.simuwang.base.pojo.vo.FundFileInfoVO">
  35. SELECT DISTINCT
  36. efn.fund_id as "fundId",
  37. efn.fund_name as "fundName",
  38. efi.file_name as "fileName",
  39. efi.file_path as "filePath"
  40. FROM
  41. PPW_EMAIL.EMAIL_FILE_INFO efi
  42. JOIN PPW_EMAIL.EMAIL_FUND_NAV efn
  43. ON efi.id = efn.file_id
  44. JOIN PPW_EMAIL.EMAIL_PARSE_INFO epi
  45. ON epi.id = efi.email_id
  46. WHERE efi.isvalid = 1
  47. AND efn.isvalid = 1
  48. AND epi.isvalid = 1
  49. AND epi.EMAIL_TYPE = #{fileType} and efn.fund_id=#{fundId}
  50. limit #{offset},#{pageSize}
  51. </select>
  52. <resultMap id="BaseDetailMap" type="com.simuwang.base.pojo.vo.EmailParseDetailVO">
  53. <result column="fund_id" property="fundId"/>
  54. <result column="fund_name" property="fundName"/>
  55. <result column="register_number" property="registerNumber"/>
  56. <result column="price_date" property="priceDate"/>
  57. <result column="nav" property="nav"/>
  58. <result column="cumulative_nav_withdrawal" property="cumulativeNavWithdrawal"/>
  59. <result column="asset_net" property="assetNet"/>
  60. <result column="asset_share" property="assetShare"/>
  61. </resultMap>
  62. <select id="searchEmailDetailById" resultMap="BaseDetailMap">
  63. SELECT distinct
  64. IFNULL(nav.fund_id,asset.fund_id) as fund_id,
  65. IFNULL(nav.fund_name,asset.fund_name) as fund_name,
  66. IFNULL(nav.register_number,asset.register_number) as register_number,
  67. IFNULL(nav.price_date,asset.price_date) as price_date,
  68. nav.nav,
  69. nav.cumulative_nav_withdrawal,
  70. asset.asset_net,
  71. asset.asset_share
  72. FROM
  73. PPW_EMAIL.EMAIL_FILE_INFO efi
  74. LEFT JOIN PPW_EMAIL.email_fund_nav nav
  75. ON efi.id = nav.file_id
  76. AND nav.isvalid = 1
  77. LEFT JOIN PPW_EMAIL.email_fund_asset asset
  78. ON efi.id = asset.file_id
  79. AND asset.isvalid = 1 AND (nav.fund_id=asset.fund_id OR nav.register_number=asset.register_number OR nav.fund_name= asset.fund_name) AND nav.price_date=asset.price_date
  80. WHERE efi.isvalid = 1
  81. AND efi.id =#{fileId}
  82. order by fund_name desc,price_date desc
  83. limit #{offset},#{pageSize}
  84. </select>
  85. <select id="countFundFileInfo" resultType="java.lang.Long"
  86. parameterType="com.simuwang.base.pojo.dto.query.FundFilePageQuery">
  87. SELECT count(DISTINCT efi.file_path)
  88. FROM
  89. PPW_EMAIL.EMAIL_FILE_INFO efi
  90. JOIN PPW_EMAIL.EMAIL_FUND_NAV efn
  91. ON efi.id = efn.file_id
  92. JOIN PPW_EMAIL.EMAIL_PARSE_INFO epi
  93. ON epi.id = efi.email_id
  94. WHERE efi.isvalid = 1
  95. AND efn.isvalid = 1
  96. AND epi.isvalid = 1
  97. AND epi.EMAIL_TYPE = #{fileType} and efn.fund_id=#{fundId}
  98. </select>
  99. <select id="countEmailDetailById" resultType="java.lang.Long"
  100. parameterType="com.simuwang.base.pojo.dto.query.EmailFileQuery">
  101. select count(1) from (
  102. SELECT distinct
  103. IFNULL(nav.fund_id,asset.fund_id) as fund_id,
  104. IFNULL(nav.fund_name,asset.fund_name) as fund_name,
  105. IFNULL(nav.register_number,asset.register_number) as register_number,
  106. IFNULL(nav.price_date,asset.price_date) as price_date,
  107. nav.nav,
  108. nav.cumulative_nav_withdrawal,
  109. asset.asset_net,
  110. asset.asset_share
  111. FROM
  112. PPW_EMAIL.EMAIL_FILE_INFO efi
  113. LEFT JOIN PPW_EMAIL.email_fund_nav nav
  114. ON efi.id = nav.file_id
  115. AND nav.isvalid = 1
  116. LEFT JOIN PPW_EMAIL.email_fund_asset asset
  117. ON efi.id = asset.file_id
  118. AND asset.isvalid = 1 AND (nav.fund_id=asset.fund_id OR nav.register_number=asset.register_number OR nav.fund_name= asset.fund_name) AND nav.price_date=asset.price_date
  119. WHERE efi.isvalid = 1
  120. AND efi.id =#{fileId}) a
  121. </select>
  122. <select id="selectValuationFileId" resultType="java.lang.String"
  123. parameterType="java.util.List">
  124. SELECT
  125. distinct file.id
  126. FROM
  127. PPW_EMAIL.EMAIL_FILE_INFO file
  128. JOIN PPW_EMAIL.EMAIL_PARSE_INFO info
  129. ON file.email_id = info.id
  130. WHERE info.email_type = 2
  131. AND file.id IN
  132. <foreach collection="fileIdList" item="fileId" index="index" separator=",">
  133. #{fileId}
  134. </foreach>
  135. </select>
  136. <update id="updateTimeById">
  137. update PPW_EMAIL.EMAIL_FILE_INFO
  138. set updatetime = #{parseDate}
  139. where isvalid = 1
  140. and id = #{id}
  141. </update>
  142. </mapper>