fix: 查询UPF总流量时间改为时间戳避免时间转换时区问题
This commit is contained in:
@@ -15,7 +15,4 @@ type IPerfKPI interface {
|
|||||||
|
|
||||||
// SelectUPFTotalFlow 查询UPF总流量 N3上行 N6下行
|
// SelectUPFTotalFlow 查询UPF总流量 N3上行 N6下行
|
||||||
SelectUPFTotalFlow(neType, rmUID, startDate, endDate string) map[string]any
|
SelectUPFTotalFlow(neType, rmUID, startDate, endDate string) map[string]any
|
||||||
|
|
||||||
// select upf throughput from new kpi_report
|
|
||||||
SelectUPFThroughput(neType, rmUID, startDate, endDate string) map[string]any
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -204,19 +204,19 @@ func (r *PerfKPIImpl) SelectUPFTotalFlow(neType, rmUID, startDate, endDate strin
|
|||||||
var conditions []string
|
var conditions []string
|
||||||
var params []any
|
var params []any
|
||||||
if neType != "" {
|
if neType != "" {
|
||||||
conditions = append(conditions, "gk.ne_type = ?")
|
conditions = append(conditions, "kupf.ne_type = ?")
|
||||||
params = append(params, neType)
|
params = append(params, neType)
|
||||||
}
|
}
|
||||||
if rmUID != "" {
|
if rmUID != "" {
|
||||||
conditions = append(conditions, "gk.rm_uid = ?")
|
conditions = append(conditions, "kupf.rm_uid = ?")
|
||||||
params = append(params, rmUID)
|
params = append(params, rmUID)
|
||||||
}
|
}
|
||||||
if startDate != "" {
|
if startDate != "" {
|
||||||
conditions = append(conditions, "gk.date >= ?")
|
conditions = append(conditions, "kupf.created_at >= ?")
|
||||||
params = append(params, startDate)
|
params = append(params, startDate)
|
||||||
}
|
}
|
||||||
if endDate != "" {
|
if endDate != "" {
|
||||||
conditions = append(conditions, "gk.date <= ?")
|
conditions = append(conditions, "kupf.created_at <= ?")
|
||||||
params = append(params, endDate)
|
params = append(params, endDate)
|
||||||
}
|
}
|
||||||
// 构建查询条件语句
|
// 构建查询条件语句
|
||||||
@@ -226,44 +226,11 @@ func (r *PerfKPIImpl) SelectUPFTotalFlow(neType, rmUID, startDate, endDate strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
querySql := fmt.Sprintf("SELECT sum( CASE WHEN gk.kpi_id = 'UPF.03' THEN gk.VALUE ELSE 0 END ) AS 'up', sum( CASE WHEN gk.kpi_id = 'UPF.06' THEN gk.VALUE ELSE 0 END ) AS 'down' FROM gold_kpi gk %s", whereSql)
|
querySql := `SELECT
|
||||||
results, err := datasource.RawDB("", querySql, params)
|
sum( CASE WHEN JSON_EXTRACT(kupf.kpi_values, '$[2].kpi_id') = 'UPF.03' THEN JSON_EXTRACT(kupf.kpi_values, '$[2].value') ELSE 0 END ) AS 'up',
|
||||||
if err != nil {
|
sum( CASE WHEN JSON_EXTRACT(kupf.kpi_values, '$[5].kpi_id') = 'UPF.06' THEN JSON_EXTRACT(kupf.kpi_values, '$[5].value') ELSE 0 END ) AS 'down'
|
||||||
logger.Errorf("query err => %v", err)
|
FROM kpi_report_upf kupf`
|
||||||
}
|
results, err := datasource.RawDB("", querySql+whereSql, params)
|
||||||
return results[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
// SelectUPFTotalFlow 查询UPF总流量 N3上行 N6下行
|
|
||||||
func (r *PerfKPIImpl) SelectUPFThroughput(neType, rmUID, startDate, endDate string) map[string]any {
|
|
||||||
// 查询条件拼接
|
|
||||||
var conditions []string
|
|
||||||
var params []any
|
|
||||||
if neType != "" {
|
|
||||||
conditions = append(conditions, "gk.ne_type = ?")
|
|
||||||
params = append(params, neType)
|
|
||||||
}
|
|
||||||
if rmUID != "" {
|
|
||||||
conditions = append(conditions, "gk.rm_uid = ?")
|
|
||||||
params = append(params, rmUID)
|
|
||||||
}
|
|
||||||
if startDate != "" {
|
|
||||||
conditions = append(conditions, "gk.date >= ?")
|
|
||||||
params = append(params, startDate)
|
|
||||||
}
|
|
||||||
if endDate != "" {
|
|
||||||
conditions = append(conditions, "gk.date <= ?")
|
|
||||||
params = append(params, endDate)
|
|
||||||
}
|
|
||||||
// 构建查询条件语句
|
|
||||||
whereSql := ""
|
|
||||||
if len(conditions) > 0 {
|
|
||||||
whereSql += " where " + strings.Join(conditions, " and ")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据
|
|
||||||
querySql := fmt.Sprintf("SELECT sum( CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[2].kpi_id') = 'UPF.03' THEN JSON_EXTRACT(gk.kpi_values, '$[2].value') ELSE 0 END ) AS 'up', sum( CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[5].kpi_id') = 'UPF.06' THEN JSON_EXTRACT(gk.kpi_values, '$[5].value') ELSE 0 END ) AS 'down' FROM kpi_report_upf gk %s", whereSql)
|
|
||||||
results, err := datasource.RawDB("", querySql, params)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("query err => %v", err)
|
logger.Errorf("query err => %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,12 +46,11 @@ func (r *PerfKPIImpl) SelectGoldKPITitle(neType string) []model.GoldKPITitle {
|
|||||||
|
|
||||||
// SelectUPFTotalFlow 查询UPF总流量 N3上行 N6下行
|
// SelectUPFTotalFlow 查询UPF总流量 N3上行 N6下行
|
||||||
func (r *PerfKPIImpl) SelectUPFTotalFlow(neType, rmUID string, day int) map[string]any {
|
func (r *PerfKPIImpl) SelectUPFTotalFlow(neType, rmUID string, day int) map[string]any {
|
||||||
// 获取当前日期
|
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
endDate := now.Format("2006-01-02")
|
// 获取当前日期
|
||||||
|
endDate := fmt.Sprint(now.UnixMilli())
|
||||||
// 将当前日期前几天数
|
// 将当前日期前几天数
|
||||||
afterDays := now.AddDate(0, 0, -day)
|
startDate := fmt.Sprint(now.AddDate(0, 0, -day).Truncate(24 * time.Hour).UnixMilli())
|
||||||
startDate := afterDays.Format("2006-01-02")
|
|
||||||
|
|
||||||
var info map[string]any
|
var info map[string]any
|
||||||
|
|
||||||
@@ -61,14 +60,18 @@ func (r *PerfKPIImpl) SelectUPFTotalFlow(neType, rmUID string, day int) map[stri
|
|||||||
if infoStr != "" {
|
if infoStr != "" {
|
||||||
json.Unmarshal([]byte(infoStr), &info)
|
json.Unmarshal([]byte(infoStr), &info)
|
||||||
expireSecond, _ := redis.GetExpire("", key)
|
expireSecond, _ := redis.GetExpire("", key)
|
||||||
expireMinute := (time.Duration(int64(expireSecond)) * time.Second)
|
if expireSecond > 120 {
|
||||||
if expireMinute > 2*time.Minute {
|
|
||||||
return info
|
return info
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//info = r.perfKPIRepository.SelectUPFTotalFlow(neType, rmUID, startDate, endDate)
|
info = r.perfKPIRepository.SelectUPFTotalFlow(neType, rmUID, startDate, endDate)
|
||||||
info = r.perfKPIRepository.SelectUPFThroughput(neType, rmUID, startDate, endDate)
|
if v, ok := info["up"]; ok && v == nil {
|
||||||
|
info["up"] = 0
|
||||||
|
}
|
||||||
|
if v, ok := info["down"]; ok && v == nil {
|
||||||
|
info["down"] = 0
|
||||||
|
}
|
||||||
|
|
||||||
// 保存到缓存
|
// 保存到缓存
|
||||||
infoJSON, _ := json.Marshal(info)
|
infoJSON, _ := json.Marshal(info)
|
||||||
|
|||||||
Reference in New Issue
Block a user