短信汇总

This commit is contained in:
zhangheng 2026-09-30 16:53:07 +08:00
parent 6cd3a7e85b
commit 37a61a3106
7 changed files with 60 additions and 13 deletions

View File

@ -9,8 +9,7 @@ import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.phonedialrecord.PhoneDialRecord; import com.xinelu.manage.domain.phonedialrecord.PhoneDialRecord;
import com.xinelu.manage.service.phonedialrecord.IPhoneDialRecordService; import com.xinelu.manage.service.phonedialrecord.IPhoneDialRecordService;
import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo; import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo;
import com.xinelu.manage.vo.shortmessagesendrecord.RecordSummary; import com.xinelu.manage.vo.phonedialrecord.PhoneRecordSummary;
import com.xinelu.manage.vo.shortmessagesendrecord.ShortMessageSendRecordVo;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -107,8 +106,8 @@ public class PhoneDialRecordController extends BaseController {
@Log(title = "短信发送结果汇总", businessType = BusinessType.EXPORT) @Log(title = "短信发送结果汇总", businessType = BusinessType.EXPORT)
@PostMapping("/phoneSummaryExport") @PostMapping("/phoneSummaryExport")
public void summaryExport(HttpServletResponse response, BillPhoneDialVo phoneDialRecord) { public void summaryExport(HttpServletResponse response, BillPhoneDialVo phoneDialRecord) {
List<RecordSummary> list = phoneDialRecordService.selectPhoneRecordSummary(phoneDialRecord); List<PhoneRecordSummary> list = phoneDialRecordService.selectPhoneRecordSummary(phoneDialRecord);
ExcelUtil<RecordSummary> util = new ExcelUtil<>(RecordSummary.class); ExcelUtil<PhoneRecordSummary> util = new ExcelUtil<>(PhoneRecordSummary.class);
util.exportExcel(response, list, "电话拨打记录汇总"); util.exportExcel(response, list, "电话拨打记录汇总");
} }
} }

View File

@ -6,7 +6,7 @@ import com.xinelu.manage.dto.phonedialrecord.PhoneDialRecordDto;
import com.xinelu.manage.dto.statistics.FollowUpRateDto; import com.xinelu.manage.dto.statistics.FollowUpRateDto;
import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo; import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo;
import com.xinelu.manage.vo.phonedialrecord.PhoneDialRecordVo; import com.xinelu.manage.vo.phonedialrecord.PhoneDialRecordVo;
import com.xinelu.manage.vo.shortmessagesendrecord.RecordSummary; import com.xinelu.manage.vo.phonedialrecord.PhoneRecordSummary;
import com.xinelu.manage.vo.statistics.PushCount; import com.xinelu.manage.vo.statistics.PushCount;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -139,5 +139,5 @@ public interface PhoneDialRecordMapper {
* @param billPhoneDialVo 时间 * @param billPhoneDialVo 时间
* @return RecordSummary * @return RecordSummary
*/ */
RecordSummary selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo); PhoneRecordSummary selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo);
} }

View File

@ -3,7 +3,7 @@ package com.xinelu.manage.service.phonedialrecord;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.phonedialrecord.PhoneDialRecord; import com.xinelu.manage.domain.phonedialrecord.PhoneDialRecord;
import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo; import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo;
import com.xinelu.manage.vo.shortmessagesendrecord.RecordSummary; import com.xinelu.manage.vo.phonedialrecord.PhoneRecordSummary;
import java.util.List; import java.util.List;
@ -73,5 +73,5 @@ public interface IPhoneDialRecordService {
* @param billPhoneDialVo 时间 * @param billPhoneDialVo 时间
* @return RecordSummary * @return RecordSummary
*/ */
List<RecordSummary> selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo); List<PhoneRecordSummary> selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo);
} }

View File

@ -5,7 +5,7 @@ import com.xinelu.manage.domain.phonedialrecord.PhoneDialRecord;
import com.xinelu.manage.mapper.phonedialrecord.PhoneDialRecordMapper; import com.xinelu.manage.mapper.phonedialrecord.PhoneDialRecordMapper;
import com.xinelu.manage.service.phonedialrecord.IPhoneDialRecordService; import com.xinelu.manage.service.phonedialrecord.IPhoneDialRecordService;
import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo; import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo;
import com.xinelu.manage.vo.shortmessagesendrecord.RecordSummary; import com.xinelu.manage.vo.phonedialrecord.PhoneRecordSummary;
import com.xinelu.manage.vo.statistics.PushCount; import com.xinelu.manage.vo.statistics.PushCount;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -121,10 +121,10 @@ public class PhoneDialRecordServiceImpl implements IPhoneDialRecordService {
* @return RecordSummary * @return RecordSummary
*/ */
@Override @Override
public List<RecordSummary> selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo) { public List<PhoneRecordSummary> selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo) {
RecordSummary recordSummary = phoneDialRecordMapper.selectPhoneRecordSummary(billPhoneDialVo); PhoneRecordSummary recordSummary = phoneDialRecordMapper.selectPhoneRecordSummary(billPhoneDialVo);
recordSummary.setDateRange(billPhoneDialVo.getDialTimeStart() + "——————" + billPhoneDialVo.getDialTimeEnd()); recordSummary.setDateRange(billPhoneDialVo.getDialTimeStart() + "——————" + billPhoneDialVo.getDialTimeEnd());
List<RecordSummary> recordSummaries = new ArrayList<>(); List<PhoneRecordSummary> recordSummaries = new ArrayList<>();
recordSummaries.add(recordSummary); recordSummaries.add(recordSummary);
return recordSummaries; return recordSummaries;
} }

View File

@ -0,0 +1,43 @@
package com.xinelu.manage.vo.phonedialrecord;
import com.xinelu.common.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* 电话短信推送记录汇总
*/
@Data
public class PhoneRecordSummary {
/**
* 时间范围
*/
@Excel(name = "时间范围")
private String dateRange;
/**
* 总数
*/
@Excel(name = "总数")
private Integer totalCount;
/**
* 成功数量
*/
@Excel(name = "成功数量")
private Integer successCount;
/**
* 失败数量
*/
@Excel(name = "失败数量")
private Integer failCount;
/**
* 通话总时长
*/
@Excel(name = "通话总时长")
private BigDecimal successDuration;
}

View File

@ -1,5 +1,6 @@
package com.xinelu.manage.vo.shortmessagesendrecord; package com.xinelu.manage.vo.shortmessagesendrecord;
import com.xinelu.common.annotation.Excel;
import lombok.Data; import lombok.Data;
/** /**
@ -11,20 +12,24 @@ public class RecordSummary {
/** /**
* 时间范围 * 时间范围
*/ */
@Excel(name = "时间范围")
private String dateRange; private String dateRange;
/** /**
* 总数 * 总数
*/ */
@Excel(name = "发送总数")
private Integer totalCount; private Integer totalCount;
/** /**
* 成功数量 * 成功数量
*/ */
@Excel(name = "成功数量")
private Integer successCount; private Integer successCount;
/** /**
* 失败数量 * 失败数量
*/ */
@Excel(name = "失败数量")
private Integer failCount; private Integer failCount;
} }

View File

@ -412,7 +412,7 @@
</update> </update>
<select id="selectPhoneRecordSummary" <select id="selectPhoneRecordSummary"
resultType="com.xinelu.manage.vo.shortmessagesendrecord.RecordSummary"> resultType="com.xinelu.manage.vo.phonedialrecord.PhoneRecordSummary">
SELECT COUNT(1) AS totalCount, SELECT COUNT(1) AS totalCount,
COALESCE(SUM(CASE WHEN t.error_status = 'success' THEN 1 ELSE 0 END), COALESCE(SUM(CASE WHEN t.error_status = 'success' THEN 1 ELSE 0 END),
0) AS successCount, 0) AS successCount,