| | |
| | | <!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.SmsTaskDetailVO"> |
| | | <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 |
| | | 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> |