短信汇总

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.service.phonedialrecord.IPhoneDialRecordService;
import com.xinelu.manage.vo.phonedialrecord.BillPhoneDialVo;
import com.xinelu.manage.vo.shortmessagesendrecord.RecordSummary;
import com.xinelu.manage.vo.shortmessagesendrecord.ShortMessageSendRecordVo;
import com.xinelu.manage.vo.phonedialrecord.PhoneRecordSummary;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -107,8 +106,8 @@ public class PhoneDialRecordController extends BaseController {
@Log(title = "短信发送结果汇总", businessType = BusinessType.EXPORT)
@PostMapping("/phoneSummaryExport")
public void summaryExport(HttpServletResponse response, BillPhoneDialVo phoneDialRecord) {
List<RecordSummary> list = phoneDialRecordService.selectPhoneRecordSummary(phoneDialRecord);
ExcelUtil<RecordSummary> util = new ExcelUtil<>(RecordSummary.class);
List<PhoneRecordSummary> list = phoneDialRecordService.selectPhoneRecordSummary(phoneDialRecord);
ExcelUtil<PhoneRecordSummary> util = new ExcelUtil<>(PhoneRecordSummary.class);
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.vo.phonedialrecord.BillPhoneDialVo;
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 org.apache.ibatis.annotations.Param;
@ -139,5 +139,5 @@ public interface PhoneDialRecordMapper {
* @param billPhoneDialVo 时间
* @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.manage.domain.phonedialrecord.PhoneDialRecord;
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;
@ -73,5 +73,5 @@ public interface IPhoneDialRecordService {
* @param billPhoneDialVo 时间
* @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.service.phonedialrecord.IPhoneDialRecordService;
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 org.springframework.stereotype.Service;
@ -121,10 +121,10 @@ public class PhoneDialRecordServiceImpl implements IPhoneDialRecordService {
* @return RecordSummary
*/
@Override
public List<RecordSummary> selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo) {
RecordSummary recordSummary = phoneDialRecordMapper.selectPhoneRecordSummary(billPhoneDialVo);
public List<PhoneRecordSummary> selectPhoneRecordSummary(BillPhoneDialVo billPhoneDialVo) {
PhoneRecordSummary recordSummary = phoneDialRecordMapper.selectPhoneRecordSummary(billPhoneDialVo);
recordSummary.setDateRange(billPhoneDialVo.getDialTimeStart() + "——————" + billPhoneDialVo.getDialTimeEnd());
List<RecordSummary> recordSummaries = new ArrayList<>();
List<PhoneRecordSummary> recordSummaries = new ArrayList<>();
recordSummaries.add(recordSummary);
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;
import com.xinelu.common.annotation.Excel;
import lombok.Data;
/**
@ -11,20 +12,24 @@ public class RecordSummary {
/**
* 时间范围
*/
@Excel(name = "时间范围")
private String dateRange;
/**
* 总数
*/
@Excel(name = "发送总数")
private Integer totalCount;
/**
* 成功数量
*/
@Excel(name = "成功数量")
private Integer successCount;
/**
* 失败数量
*/
@Excel(name = "失败数量")
private Integer failCount;
}

View File

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