cloudroam
2024-12-30 b9903ead016b8b1aa68eb04b48fca3b53fdab0d3
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
<?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.mzl.flower.mapper.SmsTaskDetailMapper">
 
    <select id="queryPage" resultType="com.mzl.flower.dto.response.sms.SmsPhoneResultVO">
        select t.* from t_sms_task_detail t
        where t.deleted= 0
        <if test="dto.smsTaskId!=null ">
            and t.sms_task_id = #{dto.smsTaskId}
        </if>
        <if test="dto.phone!=null ">
            and t.phone like concat('%', #{dto.phone}, '%')
        </if>
        <if test="dto.result!=null ">
            and t.result = #{dto.result}
        </if>
    </select>
    <select id="getCountBySmsTaskId" resultType = "com.mzl.flower.dto.response.sms.SmsTaskDetailVO">
        SELECT
        t.id,
        t.name as smsTaskName,
        st.name as smsTemplateName,
        COUNT(CASE WHEN std.result = 'success' THEN 1 END) AS successNum,
        COUNT(CASE WHEN std.result = 'failure' THEN 1 END) AS failureNum,
        COUNT(CASE WHEN std.result is null THEN 1 END) AS sendingNum,
        COUNT(std.id) AS totalNum,
        t.num as phoneNum
        FROM
            t_sms_task t
                LEFT JOIN t_sms_template st ON t.sms_template_id = st.id
                LEFT JOIN t_sms_task_detail std ON t.id = std.sms_task_id
        WHERE
            t.deleted = '0'
        <if test="id!=null ">
            and t.id = #{id}
        </if>
        GROUP BY
        t.id, t.name; -- 根据你需要的字段进行分组
    </select>
 
</mapper>