feat: 从黄果 NET hgdjnet-server 9bfbafe 导入 HKDJ 官网后端

来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83
项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet
测试目录 /server/hkdj_net,App/Web API 30331/30332

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-10-16 11:20:04 +08:00
co-authored by Claude Opus 4.7
parent 99a4854def
commit 85c0071fd8
653 changed files with 85000 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
package monitor
import "time"
type APIStatis struct {
//路径
Path string `json:"path"`
//消耗最大时间rawdata
MaxTimeRawData string `json:"maxTimeRawData"`
//调用次数
CallNum int64 `json:"callNum"`
//最小耗时
MinTime int64 `json:"minTime"`
//最大耗时
MaxTime int64 `json:"maxTime"`
//总耗时
TotalTime int64 `json:"totalTime"`
//每次调用时间
TimePerCall int64 `json:"timePerCall"`
//每秒调用次数
CallPerSec int64 `json:"callPerSec"`
//开始时间
Start time.Time `json:"start"`
//是否发送过报警
Send int `json:"send"`
}
// APIStatis 接口统计
// 每天统计数
type LogicStatis struct {
//API总调用次数
ApiCallNum int64
//API调用总耗时
ApiTotalTime int64
//开始时间
Start time.Time
//接口访问次数
ApisStatis map[string]*APIStatis
}
type SPType string
const (
SP_ApiCall SPType = "apicall"
SP_GetStatis SPType = "getStatis"
)
// StatisReq 统计请求数据格式
type AppStatisReq struct {
Time time.Time `json:"time"`
//获取的api数量
ApiNum int64 `json:"apiNum"`
}
type StatisParam struct {
//调用类型
Type SPType
Param1 string
Param2 int64
Param3 string
}
var (
hourStatises map[string]*LogicStatis
muniteStatises map[string]*LogicStatis
//api调用参数
apiCallChan chan *StatisParam
//退出
)