66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
package mf_calling
|
||
|
||
import (
|
||
"be.ems/src/framework/i18n"
|
||
"be.ems/src/framework/middleware"
|
||
"be.ems/src/framework/utils/ctx"
|
||
"be.ems/src/framework/vo/result"
|
||
"github.com/gin-gonic/gin"
|
||
|
||
neService "be.ems/src/modules/network_element/service"
|
||
)
|
||
|
||
// @Description Register Routes for mf calling
|
||
func Register(r *gin.RouterGroup) {
|
||
|
||
mfCallingGroup := r.Group("/callings")
|
||
{
|
||
var m *MfCallingInfo
|
||
mfCallingGroup.GET("/list",
|
||
middleware.PreAuthorize(nil),
|
||
m.List,
|
||
)
|
||
}
|
||
}
|
||
|
||
func (s *MfCallingInfo) List(c *gin.Context) {
|
||
language := ctx.AcceptLanguage(c)
|
||
var querys struct {
|
||
NeId string `form:"neId" binding:"required"`
|
||
TenantName string `form:"tenantName"`
|
||
}
|
||
if err := c.ShouldBindQuery(&querys); err != nil {
|
||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||
return
|
||
}
|
||
|
||
// 处理租户逻辑
|
||
loginUser, _ := ctx.LoginUser(c)
|
||
if len(loginUser.User.Roles) > 0 {
|
||
for _, v := range loginUser.User.Roles {
|
||
if v.RoleKey == "tenant" {
|
||
querys.TenantName = loginUser.User.UserName
|
||
break
|
||
}
|
||
}
|
||
}
|
||
|
||
// 查询网元信息
|
||
neInfo := neService.NewNeInfo.SelectNeInfoByNeTypeAndNeID("MF", querys.NeId)
|
||
if neInfo.NeId != querys.NeId || neInfo.IP == "" {
|
||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||
return
|
||
}
|
||
// 1. 调用服务层方法,向网元MF发起API请求
|
||
data, total, err := s.GetCallingInfoFromMF(neInfo)
|
||
if err != nil {
|
||
c.JSON(500, result.ErrMsg(err.Error()))
|
||
return
|
||
}
|
||
|
||
c.JSON(200, result.Ok(gin.H{
|
||
"total": total,
|
||
"data": data,
|
||
}))
|
||
}
|