Merge remote-tracking branch 'origin/main' into multi-tenant

This commit is contained in:
TsMask
2025-02-25 16:21:41 +08:00
26 changed files with 164 additions and 134 deletions

View File

@@ -26,10 +26,10 @@ type CDREventIMSQuery struct {
RecordType string `json:"recordType" form:"recordType"` // 记录行为 MOC MTC MOSM MTSM
CallerParty string `json:"callerParty" form:"callerParty"` // 主叫号码
CalledParty string `json:"calledParty" form:"calledParty"` // 被叫号码
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
TenantName string `json:"tenantName" form:"tenantName"`
UserName string `json:"userName" form:"userName"`
StartTime int64 `json:"startTime" form:"startTime"`
EndTime int64 `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -27,8 +27,8 @@ type CDREventSGWCQuery struct {
RmUID string `json:"rmUID" form:"rmUID"`
IMSI string `json:"imsi" form:"imsi"`
MSISDN string `json:"msisdn" form:"msisdn"`
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
StartTime int64 `json:"startTime" form:"startTime"`
EndTime int64 `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -27,10 +27,10 @@ type CDREventSMFQuery struct {
RecordType string `json:"recordType" form:"recordType"` // 暂时没用到
SubscriberID string `json:"subscriberID" form:"subscriberID"`
DNN string `json:"dnn" form:"dnn"`
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
TenantName string `json:"tenantName" form:"tenantName"`
UserName string `json:"userName" form:"userName"`
StartTime int64 `json:"startTime" form:"startTime"`
EndTime int64 `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -26,10 +26,10 @@ type CDREventSMSCQuery struct {
RecordType string `json:"recordType" form:"recordType"` // 记录行为 MOSM MTSM
CallerParty string `json:"callerParty" form:"callerParty"` // 主叫号码
CalledParty string `json:"calledParty" form:"calledParty"` // 被叫号码
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
TenantName string `json:"tenantName" form:"tenantName"` // for multi-tenancy
TenantName string `json:"tenantName" form:"tenantName"` // for multi-tenancy
UserName string `json:"userName" form:"userName"`
StartTime int64 `json:"startTime" form:"startTime"`
EndTime int64 `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -26,8 +26,8 @@ type UEEventAMFQuery struct {
RmUID string `json:"rmUID" form:"rmUID"`
EventType string `json:"eventType" form:"eventType"` // 事件类型 auth-result detach cm-state
IMSI string `json:"imsi" form:"imsi"` // imsi
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
StartTime int64 `json:"startTime" form:"startTime"`
EndTime int64 `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -27,8 +27,8 @@ type UEEventMMEQuery struct {
RmUID string `json:"rmUID" form:"rmUID"`
EventType string `json:"eventType" form:"eventType"` // 事件类型 auth-result detach cm-state
IMSI string `json:"imsi" form:"imsi"` // imsi
StartTime string `json:"startTime" form:"startTime"`
EndTime string `json:"endTime" form:"endTime"`
StartTime int64 `json:"startTime" form:"startTime"`
EndTime int64 `json:"endTime" form:"endTime"`
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=timestamp"` // 排序字段,填写结果字段
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序asc desc
PageNum int64 `json:"pageNum" form:"pageNum" binding:"required"`

View File

@@ -69,19 +69,21 @@ func (r *CDREventIMS) SelectPage(querys model.CDREventIMSQuery) map[string]any {
conditions = append(conditions, "rm_uid = ?")
params = append(params, querys.RmUID)
}
if querys.StartTime != "" {
if querys.StartTime != 0 {
conditions = append(conditions, "timestamp >= ?")
if len(querys.StartTime) == 13 {
querys.StartTime = querys.StartTime[:10]
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
params = append(params, querys.StartTime)
params = append(params, startTime)
}
if querys.EndTime != "" {
if querys.EndTime != 0 {
conditions = append(conditions, "timestamp <= ?")
if len(querys.EndTime) == 13 {
querys.EndTime = querys.EndTime[:10]
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}
params = append(params, querys.EndTime)
params = append(params, endTime)
}
if querys.CallerParty != "" {
conditions = append(conditions, "JSON_EXTRACT(cdr_json, '$.callerParty') = ?")
@@ -204,15 +206,15 @@ func (r CDREventIMS) SelectByPage(querys model.CDREventIMSQuery) ([]model.CDREve
if querys.RmUID != "" {
tx = tx.Where("rm_uid = ?", querys.RmUID)
}
if querys.StartTime != "" {
startTime := querys.StartTime
if querys.StartTime != 0 {
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
tx = tx.Where("timestamp >= ?", startTime)
}
if querys.EndTime != "" {
endTime := querys.EndTime
if querys.EndTime != 0 {
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}

View File

@@ -1,6 +1,8 @@
package repository
import (
"fmt"
"be.ems/src/framework/datasource"
"be.ems/src/framework/logger"
"be.ems/src/modules/network_data/model"
@@ -22,15 +24,15 @@ func (r CDREventSGWC) SelectByPage(querys model.CDREventSGWCQuery) ([]model.CDRE
if querys.RmUID != "" {
tx = tx.Where("rm_uid = ?", querys.RmUID)
}
if querys.StartTime != "" {
startTime := querys.StartTime
if querys.StartTime != 0 {
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
tx = tx.Where("timestamp >= ?", startTime)
}
if querys.EndTime != "" {
endTime := querys.EndTime
if querys.EndTime != 0 {
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}

View File

@@ -6,6 +6,7 @@ import (
dborm "be.ems/lib/core/datasource"
"be.ems/lib/log"
"be.ems/src/framework/datasource"
"be.ems/src/framework/logger"
"be.ems/src/framework/utils/parse"
@@ -69,19 +70,21 @@ func (r *CDREventSMF) SelectPage(querys model.CDREventSMFQuery) map[string]any {
conditions = append(conditions, "rm_uid = ?")
params = append(params, querys.RmUID)
}
if querys.StartTime != "" {
if querys.StartTime != 0 {
conditions = append(conditions, "timestamp >= ?")
if len(querys.StartTime) == 13 {
querys.StartTime = querys.StartTime[:10]
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
params = append(params, querys.StartTime)
params = append(params, startTime)
}
if querys.EndTime != "" {
if querys.EndTime != 0 {
conditions = append(conditions, "timestamp <= ?")
if len(querys.EndTime) == 13 {
querys.EndTime = querys.EndTime[:10]
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}
params = append(params, querys.EndTime)
params = append(params, endTime)
}
if querys.RecordType != "" {
conditions = append(conditions, "JSON_EXTRACT(cdr_json, '$.recordType') = ?")
@@ -190,15 +193,15 @@ func (r CDREventSMF) SelectByPage(querys model.CDREventSMFQuery) ([]model.CDREve
if querys.RmUID != "" {
tx = tx.Where("rm_uid = ?", querys.RmUID)
}
if querys.StartTime != "" {
startTime := querys.StartTime
if querys.StartTime != 0 {
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
tx = tx.Where("timestamp >= ?", startTime)
}
if querys.EndTime != "" {
endTime := querys.EndTime
if querys.EndTime != 0 {
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}

View File

@@ -69,19 +69,21 @@ func (r *CDREventSMSC) SelectPage(querys model.CDREventSMSCQuery) map[string]any
conditions = append(conditions, "rm_uid = ?")
params = append(params, querys.RmUID)
}
if querys.StartTime != "" {
if querys.StartTime != 0 {
conditions = append(conditions, "timestamp >= ?")
if len(querys.StartTime) == 13 {
querys.StartTime = querys.StartTime[:10]
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
params = append(params, querys.StartTime)
params = append(params, startTime)
}
if querys.EndTime != "" {
if querys.EndTime != 0 {
conditions = append(conditions, "timestamp <= ?")
if len(querys.EndTime) == 13 {
querys.EndTime = querys.EndTime[:10]
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}
params = append(params, querys.EndTime)
params = append(params, endTime)
}
if querys.CallerParty != "" {
conditions = append(conditions, "JSON_EXTRACT(cdr_json, '$.callerParty') = ?")
@@ -205,15 +207,15 @@ func (r CDREventSMSC) SelectByPage(querys model.CDREventSMSCQuery) ([]model.CDRE
if querys.RmUID != "" {
tx = tx.Where("rm_uid = ?", querys.RmUID)
}
if querys.StartTime != "" {
startTime := querys.StartTime
if querys.StartTime != 0 {
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
tx = tx.Where("timestamp >= ?", startTime)
}
if querys.EndTime != "" {
endTime := querys.EndTime
if querys.EndTime != 0 {
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}

View File

@@ -70,19 +70,21 @@ func (r *UEEventAMF) SelectPage(querys model.UEEventAMFQuery) map[string]any {
conditions = append(conditions, "rm_uid = ?")
params = append(params, querys.RmUID)
}
if querys.StartTime != "" {
if querys.StartTime != 0 {
conditions = append(conditions, "timestamp >= ?")
if len(querys.StartTime) == 13 {
querys.StartTime = querys.StartTime[:10]
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
params = append(params, querys.StartTime)
params = append(params, startTime)
}
if querys.EndTime != "" {
if querys.EndTime != 0 {
conditions = append(conditions, "timestamp <= ?")
if len(querys.EndTime) == 13 {
querys.EndTime = querys.EndTime[:10]
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}
params = append(params, querys.EndTime)
params = append(params, endTime)
}
if querys.EventType != "" {
eventTypes := strings.Split(querys.EventType, ",")
@@ -191,15 +193,15 @@ func (r UEEventAMF) SelectByPage(querys model.UEEventAMFQuery) ([]model.UEEventA
if querys.RmUID != "" {
tx = tx.Where("rm_uid = ?", querys.RmUID)
}
if querys.StartTime != "" {
startTime := querys.StartTime
if querys.StartTime != 0 {
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
tx = tx.Where("timestamp >= ?", startTime)
}
if querys.EndTime != "" {
endTime := querys.EndTime
if querys.EndTime != 0 {
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}

View File

@@ -70,19 +70,21 @@ func (r *UEEventMME) SelectPage(querys model.UEEventMMEQuery) map[string]any {
conditions = append(conditions, "rm_uid = ?")
params = append(params, querys.RmUID)
}
if querys.StartTime != "" {
if querys.StartTime != 0 {
conditions = append(conditions, "timestamp >= ?")
if len(querys.StartTime) == 13 {
querys.StartTime = querys.StartTime[:10]
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
params = append(params, querys.StartTime)
params = append(params, startTime)
}
if querys.EndTime != "" {
if querys.EndTime != 0 {
conditions = append(conditions, "timestamp <= ?")
if len(querys.EndTime) == 13 {
querys.EndTime = querys.EndTime[:10]
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}
params = append(params, querys.EndTime)
params = append(params, endTime)
}
if querys.EventType != "" {
eventTypes := strings.Split(querys.EventType, ",")
@@ -191,15 +193,15 @@ func (r UEEventMME) SelectByPage(querys model.UEEventMMEQuery) ([]model.UEEventM
if querys.RmUID != "" {
tx = tx.Where("rm_uid = ?", querys.RmUID)
}
if querys.StartTime != "" {
startTime := querys.StartTime
if querys.StartTime != 0 {
startTime := fmt.Sprintf("%d", querys.StartTime)
if len(startTime) == 13 {
startTime = startTime[:10]
}
tx = tx.Where("timestamp >= ?", startTime)
}
if querys.EndTime != "" {
endTime := querys.EndTime
if querys.EndTime != 0 {
endTime := fmt.Sprintf("%d", querys.EndTime)
if len(endTime) == 13 {
endTime = endTime[:10]
}

View File

@@ -58,8 +58,8 @@ func (r CDREventSGWC) ExportXlsx(rows []model.CDREventSGWC, fileName string) (st
"H1": "GPRS Downlink",
"I1": "Duration",
"J1": "Invocation Time",
"K1": "GGSN Address",
"L1": "SGSN Address",
"K1": "PGW Address",
"L1": "SGW Address",
"M1": "RAT Type",
"N1": "PDPPDN Type",
"O1": "PDPPDN Address",
@@ -102,17 +102,21 @@ func (r CDREventSGWC) ExportXlsx(rows []model.CDREventSGWC, fileName string) (st
pGWAddressUsed := ""
if v, ok := cdrJSON["pGWAddressUsed"]; ok && v != nil {
pGWAddressUsed = fmt.Sprint(v)
headerCells["K1"] = "PGW Address"
}
if v, ok := cdrJSON["GGSNAddress"]; ok && v != nil {
pGWAddressUsed = fmt.Sprint(v)
headerCells["K1"] = "GGSN Address"
}
// sGWAddress
sGWAddress := ""
if v, ok := cdrJSON["sGWAddress"]; ok && v != nil {
sGWAddress = fmt.Sprint(v)
headerCells["L1"] = "SGW Address"
}
if v, ok := cdrJSON["SGSNAddress"]; ok && v != nil {
sGWAddress = fmt.Sprint(v)
headerCells["L1"] = "SGSN Address"
}
// recordType
recordType := ""