feat: 跟踪任务HLR免登录接口

This commit is contained in:
TsMask
2024-09-20 14:56:54 +08:00
parent 68ef026bee
commit ee2cff7208
4 changed files with 96 additions and 13 deletions

View File

@@ -6,7 +6,6 @@ import (
"path/filepath"
"be.ems/src/framework/utils/date"
"be.ems/src/framework/utils/generate"
"be.ems/src/framework/utils/ssh"
neFetchlink "be.ems/src/modules/network_element/fetch_link"
neModel "be.ems/src/modules/network_element/model"
@@ -65,8 +64,11 @@ func (r *TraceTaskHlr) DeleteByIds(ids []string) (int64, error) {
// 停止任务
neInfos := r.neInfoService.SelectList(neModel.NeInfo{NeType: "UDM"}, false, false)
for _, r := range rows {
if r.Status == "0" {
continue
}
for _, v := range neInfos {
neFetchlink.HLRTraceStop(v.IP, map[string]any{
neFetchlink.HLRTraceStop(v, map[string]any{
"traceIDArray": []string{r.TraceId},
})
}
@@ -81,10 +83,9 @@ func (r *TraceTaskHlr) DeleteByIds(ids []string) (int64, error) {
// Start 创建任务
func (r *TraceTaskHlr) Start(task model.TraceTaskHlr) (string, error) {
hlrList := []map[string]any{}
task.TraceId = generate.Code(6)
traceId := r.traceTaskHlrRepository.LastID() + 1 // 生成任务ID < 65535
data := map[string]any{
"traceID": task.TraceId,
"traceID": traceId,
"imsi": task.IMSI,
"msisdn": task.MSISDN,
}
@@ -106,7 +107,7 @@ func (r *TraceTaskHlr) Start(task model.TraceTaskHlr) (string, error) {
"neId": neInfo.NeId,
"msg": "",
}
msg, err := neFetchlink.HLRTraceStart(neInfo.IP, data)
msg, err := neFetchlink.HLRTraceStart(neInfo, data)
if err != nil {
hlrItem["err"] = err.Error()
} else {
@@ -118,6 +119,7 @@ func (r *TraceTaskHlr) Start(task model.TraceTaskHlr) (string, error) {
msg, _ := json.Marshal(hlrList)
task.Msg = string(msg)
task.Status = "1"
task.TraceId = fmt.Sprint(traceId)
id := r.traceTaskHlrRepository.Insert(task)
if id == "" {
return "", fmt.Errorf("start task fail")
@@ -136,7 +138,7 @@ func (r *TraceTaskHlr) Stop(task model.TraceTaskHlr) error {
"neId": neInfo.NeId,
"msg": "",
}
msg, err := neFetchlink.HLRTraceStop(neInfo.IP, map[string]any{
msg, err := neFetchlink.HLRTraceStop(neInfo, map[string]any{
"traceIDArray": []string{task.TraceId},
})
if err != nil {
@@ -171,6 +173,7 @@ func (r *TraceTaskHlr) File(traceId, dirPath string) ([]map[string]any, error) {
hlrItem := map[string]any{
"neType": neInfo.NeType,
"neId": neInfo.NeId,
"neName": neInfo.NeName,
"err": "",
}
@@ -184,7 +187,7 @@ func (r *TraceTaskHlr) File(traceId, dirPath string) ([]map[string]any, error) {
defer sshClient.Close()
// 获取文件列表
fileName := fmt.Sprintf("%s_%s_%s", neInfo.NeType, neInfo.NeId, traceId)
fileName := fmt.Sprintf("%s_%s", neInfo.NeName, traceId)
_, rows, err := ssh.FileList(sshClient, filepath.ToSlash(dirPath), fileName)
if err != nil {
hlrItem["err"] = "file not found"