EmailParseInfoMapper.xml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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.EmailParseInfoMapper">
  4. <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.EmailParseInfoDO">
  5. <id column="id" property="id"/>
  6. <result column="email" property="email"/>
  7. <result column="email_date" property="emailDate" />
  8. <result column="parse_date" property="parseDate" />
  9. <result column="email_title" property="emailTitle"/>
  10. <result column="email_type" property="emailType"/>
  11. <result column="parse_status" property="parseStatus"/>
  12. <result column="isvalid" property="isvalid"/>
  13. <result column="creatorid" property="creatorId"/>
  14. <result column="createtime" property="createTime"/>
  15. <result column="updaterid" property="updaterId"/>
  16. <result column="updatetime" property="updateTime"/>
  17. </resultMap>
  18. <insert id="insert" parameterType="com.simuwang.base.pojo.dos.EmailParseInfoDO" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
  19. insert into PPW_EMAIL.email_parse_info(email, email_date, parse_date, email_title, email_type, parse_status,
  20. isvalid, creatorid, createtime, updaterid, updatetime)
  21. values (#{itemDo.email}, #{itemDo.emailDate}, #{itemDo.parseDate}, #{itemDo.emailTitle}, #{itemDo.emailType}, #{itemDo.parseStatus},
  22. #{itemDo.isvalid}, #{itemDo.creatorId}, #{itemDo.createTime}, #{itemDo.updaterId}, #{itemDo.updateTime})
  23. </insert>
  24. <update id="updateParseStatus">
  25. update PPW_EMAIL.email_parse_info
  26. set parse_status = #{parseStatus}
  27. where isvalid = 1
  28. and id = #{id}
  29. </update>
  30. <resultMap id="TableResultMap" type="com.simuwang.base.pojo.vo.EmailParseInfoVO">
  31. <id column="id" property="id"/>
  32. <result column="email" property="email"/>
  33. <result column="parse_date" property="parseDate" />
  34. <result column="email_title" property="emailTitle"/>
  35. <result column="email_type" property="emailType"/>
  36. <result column="parse_status" property="parseStatus"/>
  37. <!--关联属性的映射关系-->
  38. <collection property="emailFileInfoList" ofType="com.simuwang.base.pojo.vo.EmailFileInfoVO">
  39. <id property="id" column="fid"/>
  40. <result property="fileName" column="file_name"/>
  41. <result property="filePath" column="file_path"/>
  42. <result property="emailId" column="email_id"/>
  43. </collection>
  44. </resultMap>
  45. <sql id="selectEmailParse">
  46. SELECT
  47. epi.id,
  48. epi.email,
  49. epi.email_date,
  50. epi.parse_date,
  51. epi.email_title,
  52. epi.email_type,
  53. epi.parse_status,
  54. efi.id AS fid,
  55. efi.file_name,
  56. efi.file_path,
  57. efi.email_id
  58. FROM
  59. PPW_EMAIL.email_parse_info epi
  60. LEFT JOIN PPW_EMAIL.email_file_info efi
  61. ON epi.id = efi.email_id
  62. AND efi.isvalid = 1
  63. </sql>
  64. <!-- 查询条件 -->
  65. <sql id="sqlwhereSearch">
  66. <where>
  67. epi.isvalid=1
  68. <if test="emailTitle !=null and emailTitle !=''">
  69. and epi.email_title like concat('%',#{emailTitle},'%')
  70. </if>
  71. <if test="emailType !=null">
  72. and epi.email_type = #{emailType}
  73. </if>
  74. <if test="parseStatus !=null">
  75. and epi.parse_status = #{parseStatus}
  76. </if>
  77. <if test="startDate !=null and startDate != ''">
  78. and epi.parse_date <![CDATA[ >= ]]> #{startDate}
  79. </if>
  80. <if test="endDate !=null and endDate != ''">
  81. and epi.parse_date <![CDATA[ <= ]]> #{endDate}
  82. </if>
  83. </where>
  84. </sql>
  85. <select id="searchEmailList" resultMap="TableResultMap">
  86. <include refid="selectEmailParse"/>
  87. <include refid="sqlwhereSearch"/>
  88. limit #{offset},#{pageSize}
  89. </select>
  90. <select id="searchEmailById" resultMap="TableResultMap">
  91. <include refid="selectEmailParse"/>
  92. where epi.isvalid =1 and epi.id =#{id}
  93. </select>
  94. <select id="searchEmailCount" resultType="java.lang.Integer">
  95. select count(1) from PPW_EMAIL.email_parse_info where isvalid=1
  96. <if test="parseStatus != null and parseStatus != -1">
  97. and parse_status=#{parseStatus}
  98. </if>
  99. <if test="parseStatus != null and parseStatus == -1">
  100. and parse_status != 1
  101. </if>
  102. </select>
  103. <select id="queryById" resultMap="BaseResultMap">
  104. select id, email, email_date, parse_date, email_title, email_type
  105. from PPW_EMAIL.email_parse_info
  106. where isvalid = 1
  107. and id = #{id}
  108. </select>
  109. <select id="countEmailList" resultType="java.lang.Long"
  110. parameterType="com.simuwang.base.pojo.dto.query.EmailParseQuery">
  111. select count(*) from PPW_EMAIL.email_parse_info epi
  112. <include refid="sqlwhereSearch"/>
  113. </select>
  114. <update id="updateParseTime">
  115. update PPW_EMAIL.email_parse_info
  116. set updatetime = #{parseDate},
  117. parse_date = #{parseDate}
  118. where isvalid = 1
  119. and id = #{id}
  120. </update>
  121. <select id="queryValuationEmailByFileId" resultType="com.simuwang.base.pojo.dto.EmailInfoDTO">
  122. select t1.id as id,
  123. t1.email as email,
  124. t1.email_date as emailDate,
  125. t1.email_title as emailTitle,
  126. t1.email_type as emailType,
  127. t2.id as fileId,
  128. t2.file_name as fileName,
  129. t2.file_path as filePath
  130. from PPW_EMAIL.email_parse_info t1
  131. join PPW_EMAIL.email_file_info t2 on t1.id = t2.email_id and t2.isvalid = 1
  132. where t1.isvalid = 1
  133. and t1.email_type = 2
  134. and t2.id in
  135. <foreach collection="fileIdList" item="fileId" index="index" open="(" separator="," close=")">
  136. #{fileId}
  137. </foreach>
  138. </select>
  139. </mapper>