kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nanometer.smartlab.dao.EmailStatusDao">
  <resultMap id="EmailStatus" type="com.nanometer.smartlab.entity.EmailStatus">
    <id property="id" column="id"/>
    <result property="orderCode" column="order_code"></result>
    <result property="applyCode" column="apply_code"></result>
    <result property="reagentId" column="reagent_id"></result>
    <result property="num" column="num"></result>
    <result property="applyUserId" column="apply_user_id"></result>
    <result property="status" column="status" typeHandler="com.nanometer.smartlab.entity.handler.EmailSendStatusHandler"></result>
    <result property="createTime" column="create_time"></result>
    <result property="updateTime" column="update_time"></result>
    <result property="emailAddress" column="email_address"></result>
  </resultMap>
 
  <sql id="queryWhereSql">
    <if test="status != null">
      oe.status = #{status}
    </if>
  </sql>
 
  <select id="getEmailStatusList" parameterType="java.util.Map" resultMap="EmailStatus">
    select oe.*, su.email as email_address
    from ope_email_status as oe
    left join sys_user as su on oe.apply_user_id = su.id
    where
    <include refid="queryWhereSql"/>
    order by oe.create_time asc
  </select>
 
  <select id="getEmailStatusTotalCount" parameterType="java.util.Map" resultType="int">
    select count(1)
    from ope_email_status as oe
    left join sys_user as su on oe.apply_user_id = su.id
    where
    <include refid="queryWhereSql"/>
  </select>
 
  <insert id="insertEmailStatus" parameterType="com.nanometer.smartlab.entity.EmailStatus" useGeneratedKeys = "true" keyProperty = "id">
    insert into ope_email_status(order_code, apply_code, reagent_id , num, apply_user_id, status, create_time, update_time)
    values (#{orderCode}, #{applyCode}, #{reagentId}, #{num}, #{applyUserId}, #{status}, now(), now())
  </insert>
 
  <update id="updateEmailStatus" parameterType="com.nanometer.smartlab.entity.EmailStatus">
    update ope_email_status set status=#{status}, update_time=now()
    where id = #{id}
  </update>
 
  <select id="selectByReId" resultMap="EmailStatus">
        select * from ope_email_status where reagent_id=#{id}
    </select>
 
  <update id="updateByReId" parameterType="java.util.Map">
        update ope_email_status set reagent_id=#{newReId} where reagent_id=#{oldReId}
    </update>
 
</mapper>