feat: 调整cdr数据查询

This commit is contained in:
TsMask
2024-12-20 16:34:36 +08:00
parent 7710d3cd81
commit 4c57fe2c85
19 changed files with 474 additions and 759 deletions

View File

@@ -57,8 +57,8 @@ func (s *IMSController) CDRList(c *gin.Context) {
querys.RmUID = neInfo.RmUID
// 查询数据
data := s.cdrEventService.SelectPage(querys)
c.JSON(200, result.Ok(data))
rows, total := s.cdrEventService.SelectPage(querys)
c.JSON(200, result.Ok(map[string]any{"rows": rows, "total": total}))
}
// CDR会话删除
@@ -109,13 +109,12 @@ func (s *IMSController) CDRExport(c *gin.Context) {
return
}
querys.RmUID = neInfo.RmUID
data := s.cdrEventService.SelectPage(querys)
if parse.Number(data["total"]) == 0 {
rows, total := s.cdrEventService.SelectPage(querys)
if total == 0 {
// 导出数据记录为空
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty")))
return
}
rows := data["rows"].([]model.CDREventIMS)
// 导出文件名称
fileName := fmt.Sprintf("ims_cdr_event_export_%d_%d.xlsx", len(rows), time.Now().UnixMilli())
@@ -150,16 +149,6 @@ func (s *IMSController) CDRExport(c *gin.Context) {
if v, ok := cdrJSON["recordType"]; ok && v != nil {
recordType = v.(string)
}
// 被叫
called := ""
if v, ok := cdrJSON["calledParty"]; ok && v != nil {
called = v.(string)
}
// 主叫
caller := ""
if v, ok := cdrJSON["callerParty"]; ok && v != nil {
caller = v.(string)
}
// 呼叫类型
callType := "sms"
callTypeLable := "SMS"
@@ -172,6 +161,16 @@ func (s *IMSController) CDRExport(c *gin.Context) {
}
}
}
// 被叫
called := ""
if v, ok := cdrJSON["calledParty"]; ok && v != nil {
called = v.(string)
}
// 主叫
caller := ""
if v, ok := cdrJSON["callerParty"]; ok && v != nil {
caller = v.(string)
}
// 时长
duration := "-"
if v, ok := cdrJSON["callDuration"]; ok && v != nil && callType != "sms" {
@@ -191,8 +190,11 @@ func (s *IMSController) CDRExport(c *gin.Context) {
// 取时间
timeStr := ""
if v, ok := cdrJSON["releaseTime"]; ok && v != nil {
releaseTime := parse.Number(v)
timeStr = date.ParseDateToStr(releaseTime, date.YYYY_MM_DDTHH_MM_SSZ)
if releaseTime := parse.Number(v); releaseTime > 0 {
timeStr = date.ParseDateToStr(releaseTime, date.YYYY_MM_DDTHH_MM_SSZ)
} else {
timeStr = v.(string)
}
}
dataCells = append(dataCells, map[string]any{