marge: 合并代码
This commit is contained in:
@@ -121,51 +121,170 @@ func PostMMLToNF(w http.ResponseWriter, r *http.Request) {
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
|
||||
n, err = conn.Write([]byte(loginStr))
|
||||
if err != nil {
|
||||
log.Errorf("Error: %s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
n, err = conn.Read(buf[0:])
|
||||
if err != nil {
|
||||
log.Errorf("Error: %s", err.Error())
|
||||
return
|
||||
}
|
||||
log.Debug(string(buf[0:n]))
|
||||
|
||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
||||
if err != nil {
|
||||
log.Error("io.ReadAll is failed:", err)
|
||||
services.ResponseNotFound404UriNotExist(w, r)
|
||||
return
|
||||
}
|
||||
log.Debug("Body:", string(body))
|
||||
|
||||
mmlRequest := new(MMLRequest)
|
||||
_ = json.Unmarshal(body, mmlRequest)
|
||||
|
||||
for _, mml := range mmlRequest.MML {
|
||||
mmlCommand := fmt.Sprintf("%s\n", mml)
|
||||
log.Debug("mml command:", mmlCommand)
|
||||
_, err = conn.Write([]byte(mmlCommand))
|
||||
conn.SetDeadline(time.Now().Add(10 * time.Second))
|
||||
switch strings.ToLower(neType) {
|
||||
case "upf":
|
||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
||||
if err != nil {
|
||||
log.Errorf("Error: %s", err.Error())
|
||||
log.Error("io.ReadAll is failed:", err)
|
||||
services.ResponseNotFound404UriNotExist(w, r)
|
||||
return
|
||||
}
|
||||
log.Trace("Body:", string(body))
|
||||
|
||||
mmlRequest := new(MMLRequest)
|
||||
_ = json.Unmarshal(body, mmlRequest)
|
||||
|
||||
n, err = conn.Read(buf[0:])
|
||||
if err != nil {
|
||||
log.Error("Failed to read:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
log.Debug(string(buf[0:n]))
|
||||
|
||||
// loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
|
||||
// _, err = conn.Write([]byte(loginStr))
|
||||
// if err != nil {
|
||||
// log.Error("Failed to write:", err)
|
||||
// mmlResult = append(mmlResult, err.Error())
|
||||
// response := Response{mmlResult}
|
||||
// services.ResponseWithJson(w, http.StatusOK, response)
|
||||
// return
|
||||
// }
|
||||
// time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
n, err = conn.Write([]byte(config.GetYamlConfig().MML.User + "\n"))
|
||||
if err != nil {
|
||||
log.Error("Failed to write:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
log.Debug(string(buf[0:n]))
|
||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
// n, err = conn.Read(buf[0:])
|
||||
// if err != nil {
|
||||
// log.Error("Failed to read:", err)
|
||||
// mmlResult = append(mmlResult, err.Error())
|
||||
// response := Response{mmlResult}
|
||||
// services.ResponseWithJson(w, http.StatusOK, response)
|
||||
// return
|
||||
// }
|
||||
// log.Debug(string(buf[0:n]))
|
||||
|
||||
n, err = conn.Write([]byte(config.GetYamlConfig().MML.Password + "\n"))
|
||||
if err != nil {
|
||||
log.Error("Failed to write:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
log.Debug(string(buf[0:n]))
|
||||
|
||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
// n, err = conn.Read(buf[0:])
|
||||
// if err != nil {
|
||||
// log.Error("Failed to read:", err)
|
||||
// mmlResult = append(mmlResult, err.Error())
|
||||
// response := Response{mmlResult}
|
||||
// services.ResponseWithJson(w, http.StatusOK, response)
|
||||
// return
|
||||
// }
|
||||
// log.Debug(string(buf[0:n]))
|
||||
|
||||
for _, mml := range mmlRequest.MML {
|
||||
mmlCommand := fmt.Sprintf("%s\n", mml)
|
||||
log.Debug("mml command:", mmlCommand)
|
||||
_, err = conn.Write([]byte(mmlCommand))
|
||||
if err != nil {
|
||||
log.Error("Failed to write:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
// n, err = conn.Read(buf[0:])
|
||||
// if err != nil {
|
||||
// log.Error("Failed to read:", err)
|
||||
// mmlResult = append(mmlResult, err.Error())
|
||||
// response := Response{mmlResult}
|
||||
// services.ResponseWithJson(w, http.StatusOK, response)
|
||||
// return
|
||||
// }
|
||||
// log.Trace(string(buf[0 : n-len(neType)-2]))
|
||||
// mmlResult = append(mmlResult, string(buf[0:n-len(neType)-2]))
|
||||
|
||||
// can't read buffer from upf telnet server, so return ok always
|
||||
mmlResult = append(mmlResult, "COMMAND OK\n")
|
||||
}
|
||||
default:
|
||||
loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
|
||||
_, err = conn.Write([]byte(loginStr))
|
||||
if err != nil {
|
||||
log.Error("Failed to write:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
|
||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
n, err = conn.Read(buf[0:])
|
||||
if err != nil {
|
||||
log.Errorf("Error: %s", err.Error())
|
||||
log.Error("Failed to read:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
log.Debug(string(buf[0 : n-len(neType)-2]))
|
||||
mmlResult = append(mmlResult, string(buf[0:n-len(neType)-2]))
|
||||
log.Trace(string(buf[0:n]))
|
||||
|
||||
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
||||
if err != nil {
|
||||
log.Error("Failed to ReadAll:", err)
|
||||
services.ResponseNotFound404UriNotExist(w, r)
|
||||
return
|
||||
}
|
||||
log.Trace("Body:", string(body))
|
||||
|
||||
mmlRequest := new(MMLRequest)
|
||||
_ = json.Unmarshal(body, mmlRequest)
|
||||
|
||||
for _, mml := range mmlRequest.MML {
|
||||
mmlCommand := fmt.Sprintf("%s\n", mml)
|
||||
_, err = conn.Write([]byte(mmlCommand))
|
||||
if err != nil {
|
||||
log.Error("Failed to write:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
|
||||
|
||||
n, err = conn.Read(buf[0:])
|
||||
if err != nil {
|
||||
log.Error("Failed to read:", err)
|
||||
mmlResult = append(mmlResult, err.Error())
|
||||
response := Response{mmlResult}
|
||||
services.ResponseWithJson(w, http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
log.Trace(string(buf[0 : n-len(neType)-2]))
|
||||
mmlResult = append(mmlResult, string(buf[0:n-len(neType)-2]))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -247,7 +247,7 @@ func (s *EmsLogger) SetLevel(l LogLevel) {
|
||||
|
||||
var Elogger Logger
|
||||
|
||||
func InitLogger(logFile string, period int, count int, prefix string, logLevel LogLevel) {
|
||||
func InitLogger(logFile string, period int, count int, prefix string, logLevel LogLevel) io.Writer {
|
||||
|
||||
/*
|
||||
logFile, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766)
|
||||
@@ -259,6 +259,7 @@ func InitLogger(logFile string, period int, count int, prefix string, logLevel L
|
||||
logWriter := getLogWriter(logFile, period, count)
|
||||
Elogger = NewEmsLogger3(logWriter, prefix, DEFAULT_LOG_FLAG, logLevel)
|
||||
fmt.Printf("logFile=%s, period=%d, count=%d, prefix=%s, logLevel=%s\n", logFile, period, count, prefix, GetLevelString())
|
||||
return logWriter
|
||||
}
|
||||
|
||||
// Trace implement ILogger
|
||||
|
||||
@@ -117,12 +117,12 @@ func init() {
|
||||
Register("Get", fm.CustomUriAlarms, fm.GetAlarmFromNF, nil)
|
||||
|
||||
// performance restful Register
|
||||
Register("POST", pm.PerformanceUri, pm.PostKPIReportFromNF, nil)
|
||||
Register("POST", pm.MeasureTaskUri, pm.PostMeasureTaskToNF, nil)
|
||||
Register("PUT", pm.MeasureTaskUri, pm.PutMeasureTaskToNF, nil)
|
||||
Register("DELETE", pm.MeasureTaskUri, pm.DeleteMeasureTaskToNF, nil)
|
||||
Register("PATCH", pm.MeasureTaskUri, pm.PatchMeasureTaskToNF, nil)
|
||||
Register("POST", pm.MeasureReportUri, pm.PostMeasureReportFromNF, nil)
|
||||
Register("POST", pm.PerformanceUri, pm.PostKPIReportFromNF, midware.LogOperate(collectlogs.OptionNew("KPIReport", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||
Register("POST", pm.MeasureTaskUri, pm.PostMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||
Register("PUT", pm.MeasureTaskUri, pm.PutMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_UPDATE)))
|
||||
Register("DELETE", pm.MeasureTaskUri, pm.DeleteMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_DELETE)))
|
||||
Register("PATCH", pm.MeasureTaskUri, pm.PatchMeasureTaskToNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_UPDATE)))
|
||||
Register("POST", pm.MeasureReportUri, pm.PostMeasureReportFromNF, midware.LogOperate(collectlogs.OptionNew("MeasureTask", collectlogs.BUSINESS_TYPE_UPDATE)))
|
||||
|
||||
Register("POST", pm.MeasurementUri, pm.PostMeasurementFromNF, nil)
|
||||
Register("GET", pm.MeasurementUri, pm.GetMeasurementFromNF, nil)
|
||||
@@ -139,9 +139,9 @@ func init() {
|
||||
|
||||
// parameter config management
|
||||
Register("GET", cm.ParamConfigUri, cm.GetParamConfigFromNF, nil)
|
||||
Register("POST", cm.ParamConfigUri, cm.PostParamConfigToNF, nil)
|
||||
Register("PUT", cm.ParamConfigUri, cm.PutParamConfigToNF, nil)
|
||||
Register("DELETE", cm.ParamConfigUri, cm.DeleteParamConfigToNF, nil)
|
||||
Register("POST", cm.ParamConfigUri, cm.PostParamConfigToNF, midware.LogOperate(collectlogs.OptionNew("Parameter config management", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||
Register("PUT", cm.ParamConfigUri, cm.PutParamConfigToNF, midware.LogOperate(collectlogs.OptionNew("Parameter config management", collectlogs.BUSINESS_TYPE_UPDATE)))
|
||||
Register("DELETE", cm.ParamConfigUri, cm.DeleteParamConfigToNF, midware.LogOperate(collectlogs.OptionNew("Parameter config management", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||
|
||||
Register("GET", cm.CustomParamConfigUri, cm.GetParamConfigFromNF, nil)
|
||||
Register("POST", cm.CustomParamConfigUri, cm.PostParamConfigToNF, nil)
|
||||
@@ -234,9 +234,9 @@ func init() {
|
||||
Register("POST", trace.CustomUriTcpdumpNeUPFTask, trace.TcpdumpNeUPFTask, midware.LogOperate(collectlogs.OptionNew("Packet capturing task", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||
|
||||
// file management
|
||||
Register("POST", file.UriFile, file.UploadFile, nil)
|
||||
Register("GET", file.UriFile, file.DownloadFile, nil)
|
||||
Register("DELETE", file.UriFile, file.DeleteFile, nil)
|
||||
Register("POST", file.UriFile, file.UploadFile, midware.LogOperate(collectlogs.OptionNew("File management", collectlogs.BUSINESS_TYPE_INSERT)))
|
||||
Register("GET", file.UriFile, file.DownloadFile, midware.LogOperate(collectlogs.OptionNew("File management", collectlogs.BUSINESS_TYPE_OTHER)))
|
||||
Register("DELETE", file.UriFile, file.DeleteFile, midware.LogOperate(collectlogs.OptionNew("File management", collectlogs.BUSINESS_TYPE_DELETE)))
|
||||
|
||||
Register("POST", file.CustomUriFile, file.UploadFile, nil)
|
||||
Register("GET", file.CustomUriFile, file.DownloadFile, nil)
|
||||
|
||||
@@ -13,9 +13,9 @@ server:
|
||||
# 日志
|
||||
logger:
|
||||
fileDir: "/usr/local/omc/log"
|
||||
fileName: "ems_agt.log"
|
||||
fileName: "restagent.log"
|
||||
level: 2 # 日志记录的等级 0:silent<1:info<2:warn<3:error
|
||||
maxDay: 30 # 日志会保留 30 天
|
||||
maxDay: 180 # 日志会保留 180 天
|
||||
maxSize: 10 # 调整按 10MB 大小的切割
|
||||
|
||||
# 静态文件配置, 相对项目根路径或填绝对路径
|
||||
@@ -175,7 +175,6 @@ user:
|
||||
# 管理员列表
|
||||
adminList:
|
||||
- "1"
|
||||
- "2"
|
||||
|
||||
# char 字符验证码配置
|
||||
charCaptcha:
|
||||
|
||||
@@ -35,7 +35,6 @@ func (s cronlog) Error(err error, msg string, keysAndValues ...any) {
|
||||
if data, ok := job.Data.(JobData); ok {
|
||||
// 日志数据
|
||||
jobLog := jobLogData{
|
||||
JobID: job.Opts.JobId,
|
||||
Timestamp: job.Timestamp,
|
||||
Data: data,
|
||||
Result: err.Error(),
|
||||
@@ -59,7 +58,6 @@ func (s cronlog) Completed(result any, msg string, keysAndValues ...any) {
|
||||
if data, ok := job.Data.(JobData); ok {
|
||||
// 日志数据
|
||||
jobLog := jobLogData{
|
||||
JobID: job.Opts.JobId,
|
||||
Timestamp: job.Timestamp,
|
||||
Data: data,
|
||||
Result: result,
|
||||
@@ -71,7 +69,6 @@ func (s cronlog) Completed(result any, msg string, keysAndValues ...any) {
|
||||
|
||||
// jobLogData 日志记录数据
|
||||
type jobLogData struct {
|
||||
JobID string
|
||||
Timestamp int64
|
||||
Data JobData
|
||||
Result any
|
||||
@@ -82,11 +79,6 @@ func (jl *jobLogData) SaveLog(status string) {
|
||||
// 读取任务信息
|
||||
sysJob := jl.Data.SysJob
|
||||
|
||||
// 任务ID与任务信息ID不相同
|
||||
if jl.JobID == "" || jl.JobID != sysJob.JobID {
|
||||
return
|
||||
}
|
||||
|
||||
// 任务日志不需要记录
|
||||
if sysJob.SaveLog == "" || sysJob.SaveLog == common.STATUS_NO {
|
||||
return
|
||||
|
||||
@@ -84,13 +84,13 @@ func (l *Logger) checkFile() {
|
||||
currTime := time.Now()
|
||||
if l.logDay != currTime.Day() {
|
||||
l.logDay = currTime.Day()
|
||||
l.rotateFile(currTime.AddDate(0, 0, -1).Format("2006_01_02"))
|
||||
l.rotateFile(currTime.AddDate(0, 0, -1).Format("20060102"))
|
||||
// 移除超过保存最长天数的文件
|
||||
l.removeOldFile(currTime.AddDate(0, 0, -l.maxDay))
|
||||
} else if fileInfo.Size() >= l.maxSize {
|
||||
l.rotateFile(currTime.Format("2006_01_02_150405"))
|
||||
l.rotateFile(currTime.Format("20060102_150405"))
|
||||
} else if time.Since(fileInfo.ModTime()).Hours() > 24 {
|
||||
l.rotateFile(fileInfo.ModTime().Format("2006_01_02"))
|
||||
l.rotateFile(fileInfo.ModTime().Format("20060102"))
|
||||
}
|
||||
|
||||
time.AfterFunc(1*time.Minute, l.checkFile)
|
||||
@@ -100,7 +100,7 @@ func (l *Logger) checkFile() {
|
||||
func (l *Logger) rotateFile(timeFormat string) {
|
||||
l.fileHandle.Close()
|
||||
|
||||
newFileName := fmt.Sprintf("%s.%s", l.fileName, timeFormat)
|
||||
newFileName := fmt.Sprintf("%s-%s", l.fileName, timeFormat)
|
||||
newFilePath := filepath.Join(l.filePath, newFileName)
|
||||
oldfilePath := filepath.Join(l.filePath, l.fileName)
|
||||
|
||||
@@ -134,14 +134,14 @@ func (l *Logger) removeOldFile(oldFileDate time.Time) {
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
idx := strings.LastIndex(file.Name(), ".log.")
|
||||
idx := strings.LastIndex(file.Name(), ".log-")
|
||||
if idx == -1 {
|
||||
continue
|
||||
}
|
||||
dateStr := file.Name()[idx+5 : idx+15]
|
||||
dateStr := file.Name()[idx+5 : idx+13]
|
||||
|
||||
// 解析日期字符串
|
||||
fileDate, err := time.Parse("2006_01_02", dateStr)
|
||||
fileDate, err := time.Parse("20060102", dateStr)
|
||||
if err != nil {
|
||||
l.Errorf("logger RemoveOldFile Parse err: %v", err.Error())
|
||||
continue
|
||||
|
||||
@@ -15,11 +15,11 @@ func Setup(router *gin.Engine) {
|
||||
// 路由主页
|
||||
indexGroup := router.Group("/")
|
||||
indexGroup.GET("",
|
||||
middleware.RateLimit(middleware.LimitOption{
|
||||
Time: 300,
|
||||
Count: 10,
|
||||
Type: middleware.LIMIT_IP,
|
||||
}),
|
||||
// middleware.RateLimit(middleware.LimitOption{
|
||||
// Time: 300,
|
||||
// Count: 10,
|
||||
// Type: middleware.LIMIT_IP,
|
||||
// }),
|
||||
controller.NewIndex.Handler,
|
||||
)
|
||||
|
||||
@@ -28,32 +28,32 @@ func Setup(router *gin.Engine) {
|
||||
|
||||
// 验证码操作处理
|
||||
indexGroup.GET("/captchaImage",
|
||||
middleware.RateLimit(middleware.LimitOption{
|
||||
Time: 300,
|
||||
Count: 60,
|
||||
Type: middleware.LIMIT_IP,
|
||||
}),
|
||||
// middleware.RateLimit(middleware.LimitOption{
|
||||
// Time: 300,
|
||||
// Count: 60,
|
||||
// Type: middleware.LIMIT_IP,
|
||||
// }),
|
||||
controller.NewCaptcha.Image,
|
||||
)
|
||||
|
||||
// 账号身份操作处理
|
||||
{
|
||||
indexGroup.POST("/login",
|
||||
middleware.RateLimit(middleware.LimitOption{
|
||||
Time: 300,
|
||||
Count: 10,
|
||||
Type: middleware.LIMIT_IP,
|
||||
}),
|
||||
// middleware.RateLimit(middleware.LimitOption{
|
||||
// Time: 300,
|
||||
// Count: 10,
|
||||
// Type: middleware.LIMIT_IP,
|
||||
// }),
|
||||
controller.NewAccount.Login,
|
||||
)
|
||||
indexGroup.GET("/getInfo", middleware.PreAuthorize(nil), controller.NewAccount.Info)
|
||||
indexGroup.GET("/getRouters", middleware.PreAuthorize(nil), controller.NewAccount.Router)
|
||||
indexGroup.POST("/logout",
|
||||
middleware.RateLimit(middleware.LimitOption{
|
||||
Time: 300,
|
||||
Count: 5,
|
||||
Type: middleware.LIMIT_IP,
|
||||
}),
|
||||
// middleware.RateLimit(middleware.LimitOption{
|
||||
// Time: 300,
|
||||
// Count: 5,
|
||||
// Type: middleware.LIMIT_IP,
|
||||
// }),
|
||||
controller.NewAccount.Logout,
|
||||
)
|
||||
}
|
||||
@@ -61,11 +61,11 @@ func Setup(router *gin.Engine) {
|
||||
// 账号注册操作处理
|
||||
{
|
||||
indexGroup.POST("/register",
|
||||
middleware.RateLimit(middleware.LimitOption{
|
||||
Time: 300,
|
||||
Count: 10,
|
||||
Type: middleware.LIMIT_IP,
|
||||
}),
|
||||
// middleware.RateLimit(middleware.LimitOption{
|
||||
// Time: 300,
|
||||
// Count: 10,
|
||||
// Type: middleware.LIMIT_IP,
|
||||
// }),
|
||||
controller.NewRegister.Register,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@ type IMonitor interface {
|
||||
RunMonitorDataCancel(removeBefore bool, interval float64)
|
||||
|
||||
// SelectMonitorInfo 查询监控资源信息
|
||||
SelectMonitorInfo(query map[string]any) map[string]MonitorData
|
||||
SelectMonitorInfo(query map[string]any) map[string]any
|
||||
}
|
||||
|
||||
@@ -212,14 +212,8 @@ func (s *MonitorImpl) saveNetDataToDB(ctx context.Context, interval float64) {
|
||||
}
|
||||
}
|
||||
|
||||
// MonitorData 监控资源信息
|
||||
type MonitorData struct {
|
||||
Date []int64 `json:"date"`
|
||||
Value []any `json:"value"`
|
||||
}
|
||||
|
||||
// SelectMonitorInfo 查询监控资源信息
|
||||
func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]MonitorData {
|
||||
func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]any {
|
||||
infoType := query["type"]
|
||||
startTimeMilli := query["startTime"]
|
||||
endTimeMilli := query["endTime"]
|
||||
@@ -228,7 +222,7 @@ func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]Monitor
|
||||
name := query["name"]
|
||||
|
||||
// 返回数据
|
||||
backdatas := map[string]MonitorData{}
|
||||
backDatas := map[string]any{}
|
||||
|
||||
// 基本信息
|
||||
if infoType == "all" || infoType == "cpu" || infoType == "memory" {
|
||||
@@ -238,13 +232,7 @@ func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]Monitor
|
||||
"neType": neType,
|
||||
"neId": neId,
|
||||
})
|
||||
// 组装数据
|
||||
var itemData MonitorData
|
||||
for _, base := range rows {
|
||||
itemData.Date = append(itemData.Date, base.CreateTime)
|
||||
itemData.Value = append(itemData.Value, base)
|
||||
}
|
||||
backdatas["base"] = itemData
|
||||
backDatas["base"] = rows
|
||||
}
|
||||
|
||||
// 磁盘IO
|
||||
@@ -256,13 +244,7 @@ func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]Monitor
|
||||
"neId": neId,
|
||||
"name": name,
|
||||
})
|
||||
// 组装数据
|
||||
var itemData MonitorData
|
||||
for _, base := range rows {
|
||||
itemData.Date = append(itemData.Date, base.CreateTime)
|
||||
itemData.Value = append(itemData.Value, base)
|
||||
}
|
||||
backdatas["io"] = itemData
|
||||
backDatas["io"] = rows
|
||||
}
|
||||
|
||||
// 网络
|
||||
@@ -274,14 +256,8 @@ func (s *MonitorImpl) SelectMonitorInfo(query map[string]any) map[string]Monitor
|
||||
"neId": neId,
|
||||
"name": name,
|
||||
})
|
||||
// 组装数据
|
||||
var itemData MonitorData
|
||||
for _, base := range rows {
|
||||
itemData.Date = append(itemData.Date, base.CreateTime)
|
||||
itemData.Value = append(itemData.Value, base)
|
||||
}
|
||||
backdatas["network"] = itemData
|
||||
backDatas["network"] = rows
|
||||
}
|
||||
|
||||
return backdatas
|
||||
return backDatas
|
||||
}
|
||||
|
||||
@@ -120,8 +120,6 @@ func (s *SysProfileController) UpdateProfile(c *gin.Context) {
|
||||
c.JSON(200, result.ErrMsg(msg))
|
||||
return
|
||||
}
|
||||
} else {
|
||||
body.PhoneNumber = "nil"
|
||||
}
|
||||
|
||||
// 检查邮箱格式并判断是否唯一
|
||||
@@ -138,8 +136,6 @@ func (s *SysProfileController) UpdateProfile(c *gin.Context) {
|
||||
c.JSON(200, result.ErrMsg(msg))
|
||||
return
|
||||
}
|
||||
} else {
|
||||
body.Email = "nil"
|
||||
}
|
||||
|
||||
// 用户基本资料
|
||||
|
||||
@@ -387,9 +387,7 @@ func (r *SysMenuImpl) UpdateMenu(sysMenu model.SysMenu) int64 {
|
||||
} else {
|
||||
params["icon"] = "#"
|
||||
}
|
||||
if sysMenu.Remark != "" {
|
||||
params["remark"] = sysMenu.Remark
|
||||
}
|
||||
params["remark"] = sysMenu.Remark
|
||||
if sysMenu.UpdateBy != "" {
|
||||
params["update_by"] = sysMenu.UpdateBy
|
||||
params["update_time"] = time.Now().UnixMilli()
|
||||
|
||||
@@ -248,9 +248,7 @@ func (r *SysRoleImpl) UpdateRole(sysRole model.SysRole) int64 {
|
||||
if sysRole.Status != "" {
|
||||
params["status"] = sysRole.Status
|
||||
}
|
||||
if sysRole.Remark != "" {
|
||||
params["remark"] = sysRole.Remark
|
||||
}
|
||||
params["remark"] = sysRole.Remark
|
||||
if sysRole.UpdateBy != "" {
|
||||
params["update_by"] = sysRole.UpdateBy
|
||||
params["update_time"] = time.Now().UnixMilli()
|
||||
|
||||
@@ -476,23 +476,10 @@ func (r *SysUserImpl) UpdateUser(sysUser model.SysUser) int64 {
|
||||
if sysUser.Avatar != "" {
|
||||
params["avatar"] = sysUser.Avatar
|
||||
}
|
||||
if sysUser.Email != "" {
|
||||
if sysUser.Email == "nil" {
|
||||
params["email"] = ""
|
||||
} else {
|
||||
params["email"] = sysUser.Email
|
||||
}
|
||||
}
|
||||
if sysUser.PhoneNumber != "" {
|
||||
if sysUser.PhoneNumber == "nil" {
|
||||
params["phonenumber"] = ""
|
||||
} else {
|
||||
params["phonenumber"] = sysUser.PhoneNumber
|
||||
}
|
||||
}
|
||||
if sysUser.Sex != "" {
|
||||
params["sex"] = sysUser.Sex
|
||||
}
|
||||
|
||||
params["email"] = sysUser.Email
|
||||
params["phonenumber"] = sysUser.PhoneNumber
|
||||
params["sex"] = sysUser.Sex
|
||||
if sysUser.Password != "" {
|
||||
password := crypto.BcryptHash(sysUser.Password)
|
||||
params["password"] = password
|
||||
@@ -500,9 +487,7 @@ func (r *SysUserImpl) UpdateUser(sysUser model.SysUser) int64 {
|
||||
if sysUser.Status != "" {
|
||||
params["status"] = sysUser.Status
|
||||
}
|
||||
if sysUser.Remark != "" {
|
||||
params["remark"] = sysUser.Remark
|
||||
}
|
||||
params["remark"] = sysUser.Remark
|
||||
if sysUser.UpdateBy != "" {
|
||||
params["update_by"] = sysUser.UpdateBy
|
||||
params["update_time"] = time.Now().UnixMilli()
|
||||
|
||||
Reference in New Issue
Block a user