1
0

merge: 合并代码20240706

This commit is contained in:
TsMask
2024-07-06 18:27:00 +08:00
parent 3b50e2f3f8
commit 49860c2f28
145 changed files with 4366 additions and 4051 deletions

View File

@@ -2,26 +2,35 @@ package event
import (
"encoding/json"
"fmt"
"io"
"net/http"
"strings"
"time"
"be.ems/lib/core/ctx"
"be.ems/lib/dborm"
"be.ems/lib/global"
"be.ems/lib/log"
"be.ems/lib/services"
"be.ems/restagent/config"
wsService "be.ems/src/modules/ws/service"
"github.com/gin-gonic/gin"
)
var (
UriUEEvent = "/upload-ue/v1/:eventType"
// 走Gin
UriUEEventAMF = "/upload-ue/v1/:eventType"
// 走Mux
UriUEEvent = config.DefaultUriPrefix + "/logManagement/v1/elementType/{elementTypeValue}/objectType/ueEvent"
CustomUriUEEvent = config.UriPrefix + "/logManagement/v1/elementType/{elementTypeValue}/objectType/ueEvent"
)
type UEEvent struct {
NeType string `json:"neType" xorm:"ne_type"`
NeName string `json:"neName" xorm:"ne_name"`
RmUID string `json:"rmUID" xorm:"rm_uid"`
Timestamp int `json:"timestamp" xorm:"timestamp"`
Timestamp int64 `json:"timestamp" xorm:"timestamp"`
EventType string `json:"eventType" xorm:"event_type"`
EventJson map[string]any `json:"eventJSON" xorm:"event_json"`
}
@@ -51,13 +60,13 @@ func PostUEEventFromAMF(c *gin.Context) {
return
}
ueEvent.NeType = "AMF"
ueEvent.Timestamp = int(time.Now().Unix())
ueEvent.Timestamp = time.Now().Unix()
ueEvent.EventType = eventType
log.Trace("ueEvent:", ueEvent)
log.Trace("ueEvent AMF:", ueEvent)
affected, err := dborm.XormInsertTableOne("ue_event", ueEvent)
affected, err := dborm.XormInsertTableOne("ue_event_amf", ueEvent)
if err != nil && affected <= 0 {
log.Error("Failed to insert ue_event:", err)
log.Error("Failed to insert ue_event_amf:", err)
services.ResponseInternalServerError500ProcessError(c.Writer, err)
return
}
@@ -67,3 +76,30 @@ func PostUEEventFromAMF(c *gin.Context) {
services.ResponseStatusOK204NoContent(c.Writer)
}
func PostUEEvent(w http.ResponseWriter, r *http.Request) {
log.Info("PostUEEvent processing... ")
neType := ctx.GetParam(r, "elementTypeValue")
var ueEvent UEEvent
if err := ctx.ShouldBindJSON(r, &ueEvent); err != nil {
services.ResponseInternalServerError500ProcessError(w, err)
return
}
ueEvent.NeType = strings.ToUpper(neType)
tableName := fmt.Sprintf("ue_event_%s", strings.ToLower(neType))
affected, err := dborm.XormInsertTableOne(tableName, ueEvent)
if err != nil && affected <= 0 {
log.Error("Failed to insert "+tableName, err)
services.ResponseInternalServerError500ProcessError(w, err)
return
}
// 推送到ws订阅组
if ueEvent.NeType == "MME" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_MME_UE, ueEvent)
}
services.ResponseStatusOK204NoContent(w)
}