| | |
| | | <!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"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.mzl.flower.entity.SmsTaskDetailDO"> |
| | | <id column="id" property="id" /> |
| | | <result column="deleted" property="deleted" /> |
| | | <result column="create_by" property="createBy" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="update_by" property="updateBy" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="sms_task_id" property="smsTaskId" /> |
| | | <result column="sms_template_id" property="smsTemplateId" /> |
| | | <result column="phone" property="phone" /> |
| | | <result column="result" property="result" /> |
| | | </resultMap> |
| | | <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> |