CompanyEmailHistoryMapper.xml 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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.CompanyEmailSendHistoryMapper">
  4. <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO">
  5. <id column="id" property="id"/>
  6. <result column="company_id" property="companyId"/>
  7. <result column="company_name" property="companyName"/>
  8. <result column="email" property="email"/>
  9. <result column="send_status" property="sendStatus"/>
  10. <result column="send_time" property="sendTime"/>
  11. <result column="send_remark" property="sendRemark"/>
  12. </resultMap>
  13. <update id="deleteEmailHistory">
  14. update PPW_EMAIL.company_email_send_history set isvalid =0,updatetime=sysdate() where email in
  15. <foreach item="email" collection="emailList" open="(" separator="," close=")">
  16. #{email}
  17. </foreach>
  18. </update>
  19. <update id="deleteEmailHistoryByIds">
  20. update PPW_EMAIL.company_email_send_history set isvalid =0,updatetime=sysdate() where id in
  21. <foreach item="id" collection="ids" open="(" separator="," close=")">
  22. #{id}
  23. </foreach>
  24. </update>
  25. <select id="searchCompanyEmailList" resultMap="BaseResultMap">
  26. SELECT
  27. cec.id,
  28. cec.company_id,
  29. c.company_name,
  30. listagg(cec.email,',') as email,
  31. max(cesh.send_time) as send_time,
  32. cesh.send_remark,
  33. cesh.send_status
  34. FROM
  35. PPW_EMAIL.company_email_config cec
  36. JOIN PPW_EMAIL.pvn_company_info c
  37. ON cec.company_id = c.company_id
  38. LEFT JOIN PPW_EMAIL.company_email_send_history cesh
  39. ON cec.email = cesh.email AND cesh.isvalid = 1
  40. WHERE cec.isvalid = 1 and c.isvalid=1
  41. <if test="companyName != null and companyName !=''">
  42. and (c.company_name like concat('',#{companyName},'') or c.company_short_name like concat('',#{companyName},''))
  43. </if>
  44. <if test="email != null and email !=''">
  45. and cec.email like concat('',#{email},'')
  46. </if>
  47. <if test="sendStatus != null and sendStatus !=''">
  48. and cesh.send_status=#{sendStatus}
  49. </if>
  50. group by cec.company_id
  51. </select>
  52. <select id="searchEmailHistory" resultMap="BaseResultMap">
  53. SELECT
  54. cec.id,
  55. cec.company_id,
  56. c.company_name,
  57. cec.email,
  58. cesh.send_time,
  59. cesh.send_remark,
  60. cesh.send_status
  61. FROM
  62. PPW_EMAIL.company_email_send_history cesh
  63. JOIN PPW_EMAIL.company_email_config cec
  64. JOIN PPW_EMAIL.pvn_company_info c
  65. ON cec.company_id = c.company_id
  66. ON cec.email = cesh.email
  67. WHERE cec.isvalid = 1
  68. AND cesh.isvalid = 1 and c.isvalid =1
  69. <if test="companyId != null and companyId !=''">
  70. and c.company_id=#{companyId}
  71. </if>
  72. </select>
  73. </mapper>